PageSourceSearch

https://www.eduonix.com/assets/js/main.js?v=6.17

js eduonix.com collected 2026-10-03 19:41:30 UTC 200,417 bytes, 4,852 lines download raw bytes

1
2function showRedeamCoupon() {
3
4    $("#redeamCoupon").animate({
5        opacity: "1"
6    }, 300), $("#redeamCoupon").css("z-index", "1")
7}
8
9function hideRedeamCoupon() {
10    $("#redeamCoupon").animate({
11        opacity: "0"
12    }, 300), $("#redeamCoupon").css("z-index", "-1")
13}
14
15function set_addtowish_para(addtowish_pid, module) {
16    addtowish_pid > 0 ? ($("#addtowsh_pid").val(addtowish_pid), $("#addtowsh_module").val(module)) : '';
17}
18
19function showPopUp(a, b, c) {
20    $(".tippy-popper").css({"visibility" : "hidden" });
21    $("#login_type").val(a);
22    $('.modal').modal('hide');
23    $("#" + b).modal('show');
24
25    $.ajax({
26        method: "POST",
27        url: software_url + "login/login_status"
28    }).done(function (d) {
29        if (1 == d) {
30            alert("You have been signed out of the account, This may happened because you must have signin with another acount in same browser. Please signin to continue with this account"), location.reload();
31            window.location.href = software_url;
32        }
33    })
34
35}
36
37function showSignUpPopUp(a, b, c) {
38//    $("#login_type").val(a);
39    $('.modal').modal('hide');
40    $("#" + c).modal('show');
41}
42
43var del_obj = "";
44
45function set_del_ack(response) {
46    if (response == 'yes') {
47        var content_type = $('#content_type').val();
48        switch (content_type) {
49            case "curricullum":
50                var module = $(del_obj).attr('itemid');
51                if (module == 'section') {
52                    deleteSection(del_obj);
53                } else if (module == 'lecture') {
54                    deleteLecture(del_obj);
55                } else if (module == 'project') {
56                    deleteProject(del_obj);
57                } else if (module == 'quiz') {
58                    deleteQuiz(del_obj);
59                } else if (module == 'question') {
60                    deleteQuestion(del_obj);
61                }
62                del_obj = "";
63                break;
64            case "prerequisites":
65                delete_prerequisite(del_obj);
66                del_obj = "";
67                break;
68            case "coupons":
69                delete_coupon(del_obj);
70                del_obj = "";
71                break;
72            case "mul_coupons":
73                mul_delete_coupon();
74                break;
75            case "refund":
76                var curr_obj = del_obj.obj;
77                $(curr_obj).find('.spnLoaderTrns').removeClass('dn');
78                $(curr_obj).find('label').addClass('dn');
79                refund_request(response);
80                break;
81            case "addtowishlist":
82                var curr_obj = del_obj.obj;
83                wishprourl(response);
84                del_obj = "";
85                break;
86            case "inst_regi_confirm":
87                inst_regi_confirm(response);
88                break;
89            case "delete_usr_profile":
90                delete_usr_profile(response);
91                break;
92            case "user_prof_summ":
93                delete_prof_summ(del_obj);
94                del_obj = "";
95            case "user_edu_summ":
96                delete_edu_summ(del_obj);
97                del_obj = "";
98                break;
99            case "gen_certificate":
100                gen_certificate(del_obj, '');
101                del_obj = "";
102                break;
103            case "gen_edcertificate":
104                gen_edcertificate(del_obj);
105                del_obj = "";
106                break;
107            case "gen_pcertificate":
108                gen_pcertificate(del_obj);
109                del_obj = "";
110                break;
111            case "gen_webinar_certificate":
112                gen_webinar_certificate(del_obj,'');
113                del_obj = "";
114                break;
115            case "voting":
116                skip_voting(del_obj);
117                del_obj = "";
118                break;
119            default:
120                break;
121        }
122    }
123    $('#content_type').val('');
124    $('.cus-modal').addClass('dn');
125}
126
127function loading(btn, msg_span) {
128    $(btn).find('img').removeClass('dn');
129    $(btn).addClass("capply");
130    $(btn).attr("disabled", "disabled")
131
132    $(msg_span).text("");
133}
134
135function loading_stop(btn, msg_span) {
136    $(msg_span).fadeIn(500);
137    setTimeout(function () {
138        $(msg_span).fadeOut("slow", function () {
139        });
140    }, 3000);
141    //$(msg_span).fadeOut("fast");
142    $(btn).removeClass("capply");
143    $(btn).removeAttr('disabled');
144    $(btn).find('img').addClass('dn');
145}
146
147function checkCookie_gdpr() {
148    $('div#coockieGDPR').fadeOut();
149    $.ajax({
150        method: "POST",
151        url: "<?php echo base_url(); ?>home/checkCookie_gdpr",
152        //            data: ,
153        success: function (data) {
154            //                        alert('set');
155        },
156        error: function (data) {
157            console.log("error");
158        }
159    });
160
161}
162
163function chk_name_gen_certificate(id, name, via) {
164    if (via == 'course') {
165        $('#content_type').val('gen_certificate');
166    } else if (via == 'edegree') {
167        $('#content_type').val('gen_edcertificate');
168    } else if (via == 'paths') {
169        $('#content_type').val('gen_pcertificate');
170    } else if (via == 'webinar') {
171        $('#content_type').val('gen_webinar_certificate');
172    }
173
174    var popup_txt = "Congratulations! You have successfully finished the course! <br><br>
174 Your Certificate will be generated with the name “<b>" + name + "</b>”, if it’s correct then proceed by clicking Yes and if you wish to change the name, then you can update your profile by clicking on the below link. <br> <a href='" + software_url + "profile' style='color: #007bff;' target='_blank'>Update Profile</a>";
175
176    del_obj = id;
177    $('#popup_txt').html(popup_txt);
178    $('#cus-myModal').removeClass('dn');
179}
180
181function gen_certificate(id, cert) {
182    if (id == 'get_link') {
183        window.location.href = software_url + 'certificate/' + cert;
184    } else {
185        $.ajax({
186            method: "POST",
187            url: software_url + "dashboard/generate_certificate",
188            data: {id: id}
189        })
190                .done(function (msg) {
191                    if (msg.trim() != '0') {
192                        window.location.href = software_url + 'certificate/' + msg.trim();
193                    }
194                });
195    }
196
197}
198
199function gen_webinar_certificate(id, cert) {
200    if (id == 'get_link') {
201        window.location.href = software_url + 'certificate/' + cert;
202    } else {
203        $.ajax({
204            method: "POST",
205            url: software_url + "dashboard/generate_webinar_certificate",
206            data: {id: id}
207        })
208                .done(function (msg) {
209                    if (msg.trim() != '0') {
210                        window.location.href = software_url + 'certificate/' + msg.trim();
211                    }
212                });
213    }
214
215}
216
217function gen_edcertificate(id) {
218    $.ajax({
219        method: "POST",
220        url: software_url + "dashboard/get_ed_cert",
221        data: {id: id}
222    })
223            .done(function (msg) {
224                if (msg.trim() != '0') {
225                    window.open(msg.trim(), '_blank');
226                }
227            });
228}
229
230function gen_pcertificate(id) {
231    $.ajax({
232        method: "POST",
233        url: software_url + "dashboard/get_paths_cert",
234        data: {id: id}
235    })
236            .done(function (msg) {
237                if (msg.trim() != '0') {
238                    window.open(msg.trim(), '_blank');
239                }
240            });
241}
242
243function checkAutoBlanks(obj) {
244    if ($(obj).val() != '' && $(obj).val().length <= 50)
245    {
246        $(obj).parent().next().text('');
247        return true;
248    } else if ($(obj).val().length > 50) {
249        var id = $(obj).parent().next().attr('id');
250        $('#'+ id).text('Password must contain 6 to 50 characters');
251        $(obj).val('');
252    } else {
253        var id = $(obj).parent().next().attr('id');
254        if(id == 'errInput'){
255           $('#'+ id).text('Please Enter Email ID');
256        }else if (id == 'errpw') {
257           $('#'+ id).text('Please Enter Password');
258        }else if(id == 'si_err_N'){
259           $('#'+ id).text('Please Enter Name');
260        }else if (id == 'si_err_E') {
261           $('#'+ id).text('Please Enter Email ID');
262        }else if (id == 'si_err_P') {
263           $('#'+ id).text('Please Enter Password');
264        }
265        return false;
266    }
267}
268
269function confirm_deprecate() {
270
271    $("#img_ajax").css("display", "block"), $("#overlay").css("display", "block"), $.ajax({
272        method: "POST",
273        url: software_url + "Payments/confirmation",
274        data: {
275            confirm_type: "ajax"
276        }
277    }).done(function (a) {
278        var b = $(a).find(".payComfDiv");
279        $("#confirm_popup").html(b), $("#img_ajax").css("display", "none"), $("#overlay").css("display", "none"), showPopUp("", "confirm_popup", "")
280    })
281}
282
283function apply_coup(a, b, module) {
284    //alert('coupon in');
285
286    $(".coup_msg").html("");
287    $(".coup_msg").removeAttr("style");
288
289    if ($("#conf_coupon").val() == '' || $("#coupon_name").val() == '')
290    {
291        $(".coup_msg").html("Please enter coupon code");
292        $(".coup_msg").fadeIn('fast').delay(5000).hide(0);
293        return;
294    }
295    //$(".cp_proBtnApply").addClass("capply");
296    $(".hideApply").css("display", "none");
297    loading($(".cp_proBtnApply"), '');
298    loading($(".redeemDivApplyBtn"), '');
299    $(".btnLoad").css("display", "none");
300    $(".redeemDivApplyBtn").find(".c_loader").css("display", "block");
301    $(".redeemDivApplyBtn").attr("disabled", true);
302    var lmnum = "";
303    var id_cnt = "";
304    if (module == 'bww') {
305        lmnum = limitNum;
306        id_cnt = qwer;
307    }
308    var secret_int =  $("#i_sec").val();
309    var c = "";
310    var rp = "";
311    "ajax" == b && (c = $("#coupon_name").val()), "confirm_page" == b && (c = $("#conf_coupon").val()), "url" == b && (c = a), "" != c && $.ajax({
312        method: "POST",
313        url: software_url + "product/update",
314        data: {
315            coupon_name: c,
316            method: b,
317            product_id: $('#poiu').val(),
318            module: module,
319            lmnum: lmnum,
320            id_cnt: id_cnt,
321            secret_int:secret_int
322        }
323    }).done(function (a) {
324//        console.log(a);
325//        exit();
326        $(".hideApply").css("display", "block");
327        loading_stop($(".cp_proBtnApply"), '');
328        loading_stop($(".redeemDivApplyBtn"), '');
329        var c = $.parseJSON(a),
330                d = c.qty,
331                e = "",
332                f = "";
333        //console.log(JSON.stringify(c));
334        if (2 == d ? e = "Invalid Coupon" : 3 == d ? e = "Coupon expired" : 4 == d && (e = "Not Applicable"), "" == e) {
335        var shw_err_msg = module == 'bww' ? 'deal' : module;
336//        if (2 == d ? e = "This "+shw_err_msg+" is already at its lowest price" : 3 == d ? e = "This "+shw_err_msg+" is already at its lowest price" : 4 == d && (e = "This "+shw_err_msg+" is already at its lowest price"), "" == e) {
337            $('#cvbn').val(c.coupon_name);
338            $('#dicountPrice').val(c.price);
339            $('#couponName').val(c.coupon_name);
340            $('#module').val(module);
341
342            switch ($(".con_err_msg").text(""), f = c.price, b) {
343                case "confirm_page":
344                    $("#paypalbtn").removeAttr("style");
345                    $("#paypalbtn").show();  // for showing paypal button      
346                    // 0 == f ? ($("#div_free").html(c.freebtn_html), $("#div_pay").addClass("dn")) : ($("#div_free").html(""), $("#div_pay").removeClass("dn")), $(".coupn_div").html(c.html_coup_label), $(".final_amt").text("$" + c.price);
347                    0 == f ?
348                            ($("#div_free").html(c.freebtn_html), $("#Procd_to_pay").addClass("dn"),
349                                    $(".slidePayHeader").addClass("dn"),
350                                    $(".slidePayment").addClass("dn"),
351                                    $("#div_pay").addClass("dn"))
352                            :
353                            ($("#div_free").html(""),
354                                    $("#Procd_to_pay").removeClass("dn"),
355                                    $("#div_pay").removeClass("dn")),
356                            $(".coupn_div").html(c.html_coup_label),
357                            $(".final_amt").html("<b style=''>" + c.unit + c.price + "</b>"),
358                            $(".real_amt").html("<b style=''>" + c.unit + c.price + "</b>"),
359                            $(".coupn_vdisp").html("<li class='list-style-none'><span><b> Coupon </b></span><span class='pull-right'><b style='color:#86c246;'>" + c.html_coup_disp + "</b></span></li>"),
360                            $(".show_sub_total").html("<b >" + c.unit + (c.price - c.tax_amt) + "</b>"),
361                            $("#tax").html("<b> <span class='margin_right_3'>+ </span>" + c.unit + c.tax_amt + "</b>"),
362                            $('input[itemref="'+c.coupon_name+'"]').prop('checked', true);
363                    break;
364                case "ajax":
365                case "url":
366                    if (typeof c.savings !== 'undefined') {
367                        $('.dealsRightSideSavePrice').html(c.unit + c.savings);
368                    }
369                    //  $(".real").html(g), 0 == f ? ($(".redeamTextDiv1").addClass("dn"), $(".outer_div").html(c.freebtn_html)) : $(".redeamCouponText").removeClass("dn"), $(".price_value").text("$" + c.price)
370                    var g = c.unit + parseFloat(c.real_amt).toFixed(2);
371                    var price = c.unit + parseFloat(c.price).toFixed(2);
372                    onCouponApply(c);
373                    $("#PriceDiv #pnumber").html(g),
374                            0 == f ?
375                            ($(".redeamCouponText").removeClass("dn"),
376                                    $(".price_value").html(price),
377                                    $("#spnRedeem").addClass('dn'),
378                                    $("#redeemDiv1").addClass('dn'),
379                                    $(".divAppliedCpn").removeClass('dn').html("<label class='cpnAply'> Coupon <b style='color:#000;'> " + c.coupon_name + "\ </b>applied <a onclick='changeCoupon();' class='dn'><i class='fas fa-edit' style='margin-left:10px; font-weight:bold;color: #337ab7;'></i></a>&nbsp;&nbsp;<span id=\"coupn_lbl\" class=\"btn-cpnApply\" style=\"background-color: transparent;\">
379<a onclick='remove_coup(\""+c.price+"\", \"pro_page\", \""+module+"\")' class=\"rmvCpnText crsPointer\"><i class=\"far fa-trash-alt\" style=\"color: #337ab7;\"></i></a><span><img class=\"loader c_loader dn\" style=\"margin-left: 0px;\" src=\""+software_url+"assets/images/rolling.svg\" /></span></span></label>"),
380                                    $(".outer_div").html(c.freebtn_html),
381                                    $("#giftCourseButton").addClass('dn'))
382                            :
383                            $(".redeamCouponText").removeClass("dn"),
384                            $(".price_value").html(price),
385                            $("#spnRedeem").addClass('dn'),
386                            $("#redeemDiv1").addClass('dn'),
387                            $(".divAppliedCpn").removeClass('dn').html("<label class='cpnAply'> Coupon <b style='color:#000;'> " + c.coupon_name + "\ </b>applied <a onclick='changeCoupon();' class='dn'><i class='fas fa-edit' style='margin-left:10px; font-weight:bold;color: #337ab7;'></i></a>&nbsp;&nbsp;<span id=\"coupn_lbl\" class=\"btn-cpnApply\" style=\"background-color: transparent;\"><a onclick='remove_coup(\""+c.price+"\", \"pro_page\", \""+module+"\")' class=\"rmvCpnText crsPointer\"><i class=\"far fa-trash-alt\" style=\"color: #337ab7;\"></i></a><span><img class=\"loader c_loader dn\" style=\"margin-left: 0px;\" src=\""+software_url+"assets/images/rolling.svg\" /></span></span></label>")
388                    
389            }
390        } else
391            switch (b) {
392                case "confirm_page":
393                    $(".coup_msg").text(e);
394                    $(".coup_msg").fadeIn('fast').delay(5000).hide(0);
395                    $(".btnLoad").css("display", "block");
396                    $(".redeemDivApplyBtn").find(".c_loader").css("display", "none");
397                    $(".redeemDivApplyBtn").attr("disabled", false);
398                    break;
399                case "ajax":
400                    $(".coup_msg").text(e);
401                    $(".coup_msg").fadeIn('fast').delay(5000).hide(0);
402                    $(".btnLoad").css("display", "block");
403                    $(".redeemDivApplyBtn").find(".c_loader").css("display", "none");
404                    $(".redeemDivApplyBtn").attr("disabled", false);
405                    break;
406                case "url":
407                    //3 == d ? alert("The coupon code entered is expired ") : alert("The coupon code entered is " + e)
408            }
409        setTopMargin();
410    });
411
412}
413
414function onCouponApply(c) {
415    $('#PriceDiv #pnumber').removeClass('price_value');
416    priceWhenCoupon();
417    savingpc = Math.floor((1 - (c.price / c.market_amt)) * 100);
418    savingprice = c.unit + parseFloat(c.market_amt - c.price).toFixed(2);
419    $('#SavingPcDiv').html('(' + savingpc + '%)');
420    $('#SavedPrice').html(savingprice);
421}
422
423function priceWhenCoupon() {
424    $('#PriceDiv .RedHighlight').removeClass('RedHighlight');
425    $('#PriceDiv #pnumber').addClass('stk_real');
426    $('#OfferPriceDiv').css('display', 'flex');
427    $('#OfferPriceDiv #opnumber').addClass('price_value');
428}
429function removeInfiPro(obj, pro_id, module){
430    $('#content_type').val('removeInfiPro');
431    var popup_txt = "Are You Sure You Want To Remove this "+ module.slice(0, -1) +" from your Infiniti ? This will remove your this course completion status.";
432    
433    del_obj = obj;
434    $('#popup_txt').text(popup_txt);
435    $('#cus-myModal').removeClass('dn');
436}
437
438function remove_InfiPro(obj){
439    var str = $(obj).attr('itemid');
440    var pro_id = str.split('_')[0];
441    var module = str.split('_')[1];    
442    //console.log(pro_id+'=='+module);
443    $(obj).removeAttr('onclick'); 
444    $(obj).children('i.rminfip').remove();
445    loading($(obj), '');
446    $.ajax({
447        type: "POST",
448        url: software_url + 'dashboard/remove_InfiPro',
449        data: {pro_id: pro_id, module: module},
450        success: function (data) {
451            if(module == 'courses'){
452               load_infiprods('infi_courses', 'courses');
453            }else if(module == 'paths'){
454               load_infiprods('infi_paths', 'paths');
455            }
456            loading_stop($(obj), '');
457        }
458    });
459}
460function loadPopover_syllabus(product_id){
461    $.ajax({
462        type: "POST",
463        data: {product_id: product_id},
464        url: software_url + 'product/getProductSyllabus_popover',
465        success: function (data) {
466            $('.syllabusPopverTable').attr("data-state", "loaded").html(data);
467        }
468    });
469}
470function load_infiprods(id, module){
471    $('.infiniti_tabs').removeClass('active').addClass('fade');
472    $('#'+ id).addClass('active').removeClass('fade');
473    showLoaderInDiv($('#'+ id));
474    $.ajax({
475        type: "POST",
476        data: {module : module},
477        url: software_url + 'mycourses/infiniti_dashboard',
478        success: function (msg) {
479            $('#'+ id).html(msg);
480        }
481    });
482}
483// Future functions for coupon removal
484// function priceWhenNoCoupon(){
485//     //console.log('priceWhenNoCoupon');
486//     $('#OfferPriceDiv').css('display','none');
487//     $('#PriceDiv').addClass('RedHighlight');
488//     $('#PriceDiv #pnumber').addClass('price_value');
489// }
490
491// function priceWhenCouponRemoved(){
492//     //console.log('priceWhenCouponRemoved');
493//     $('#PriceDiv #pnumber').removeClass('stk_real');
494//     $('#OfferPriceDiv').removeClass('RedHighlight').css('display','none');
495//     $('#OfferPriceDiv #opnumber').removeClass('price_value');
496//     priceWhenNoCoupon();
497// }
498
499function remove_coup(a, b, module) {
500    // $(".rmvCpnText").addClass("capply");
501    // $(".c_loader").removeAttr("style");
502
503    $("a.rmvCpnText").css("display", "none");
504    // $(".rmvCpnText").attr("disabled","disabled");
505    loading($("#coupn_lbl"), '');
506
507    $("#paypalbtn").removeAttr("style");
508    $("#paypalbtn").show();
509    $.ajax({
510        method: "POST",
511        url: software_url + "product/remove_coup",
512        data: {
513            amount: a,
514            method: b,
515            product_id: $('#poiu').val(),
516            module: module
517        }
518    }).done(function (a) {
519
520        //$(".rmvCpnText").removeClass("capply");
521        //$(".c_loader").css("display", "none");
522        loading_stop($("#coupn_lbl"), '');
523        $("a.rmvCpnText").removeAttr("style");
524        $('input[name="cpnradio"]').prop('checked', false);
525        // $(".rmvCpnText").removeAttr("disabled");
526        
527        var c = $.parseJSON(a);
528        $('#cvbn').val('');
529        switch (b) {
530            case "confirm_page":
531                if (c.real_amt > 0) {
532                    $('#module').val(module);
533                }
534                c.real_amt > 0 && ($("#div_free").html(""), $(".slidePayHeader").removeClass("dn"), $("#div_pay").removeClass("dn")), $(".coupn_div").html(c.html_coup_input), $(".final_amt").html("<b style=''>" + c.unit + c.final_amt + "</b>"), $('#tax').html("<b><span class='margin_right_3'> + </span>" + c.unit + c.tax_amt + "</b>"), $('.show_sub_total').html("<b> " + c.unit + (c.final_amt - c.tax_amt) + "</b>"), $("#Procd_to_pay").removeClass("dn"), $(".coupn_vdisp").html('');
535                //$(".cp_proPrice").text(c.unit + c.tax_amt);   // add real amount for Diwali page
536                $("#mainamount").html("<b>" + c.unit + c.real_amt + "</b>");
537                $(".real_amt").html("<b>" + c.unit + c.real_amt + "</b>");
538//                $('#module').val('courses');
539                break;
540            case "pro_page":
541                var pri_v = c.unit + parseFloat(c.price).toFixed(2);
542                onCouponApply(c),$('#spnRedeem').removeClass('dn'),$('.divAppliedCpn').addClass('dn'),$('#OfferPriceDiv').css('display', 'none'),$("#pnumber").addClass('price_value').removeClass('stk_real'),$('#coupon_name').val(''),$(".btnLoad").css("display", "block"),$(".c_loader").css("display", "none"),$(".redeemDivApplyBtn").removeAttr("disabled"),$('.price_value').html(pri_v), $("#pnumber").parent().addClass('redTxt')/*,('#YouSaveDiv #SavedPrice')*/;
543                break;
544            case "ajax":
545        }
546    })
547}
548
549function apply_coup_popup(a, b, module) {
550    //alert('coupon in');
551    var cpnradio = $('input[name=cpnradio]:checked').attr('itemref');
552    var c_id = cpnradio/*.split('_')[1]*/;
553//    alert(cpnradio+'=='+c_id);
554    loading($(".cpnPopBtn"), '');
555    
556    var lmnum = "";
557    var id_cnt = "";
558    if (module == 'bww') {
559        lmnum = limitNum;
560        id_cnt = qwer;
561    }
562
563    $.ajax({
564        method: "POST",
565        url: software_url + "product/update",
566        data: {
567            coupon_name: c_id,
568            method: b,
569            product_id: $('#poiu').val(),
570            module: module,
571            lmnum: lmnum,
572            id_cnt: id_cnt
573        }
574    }).done(function (a) {
575//        console.log(a);
576//        exit();
577        loading_stop($(".cpnPopBtn"), '');
578        $('#cpnModal').modal('hide');
579        
580        var c = $.parseJSON(a),
581                d = c.qty,
582                e = "",
583                f = "";
584        
585        if (2 == d ? e = "Invalid Coupon" : 3 == d ? e = "Coupon expired" : 4 == d && (e = "Not Applicable"), "" == e) {
586        var shw_err_msg = module == 'bww' ? 'deal' : module;
587//        if (2 == d ? e = "This "+shw_err_msg+" is already at its lowest price" : 3 == d ? e = "This "+shw_err_msg+" is already at its lowest price" : 4 == d && (e = "This "+shw_err_msg+" is already at its lowest price"), "" == e) {
588            $('#cvbn').val(c.coupon_name);
589            $('#dicountPrice').val(c.price);
590            $('#couponName').val(c.coupon_name);
591            $('#module').val(module);
592
593            $(".con_err_msg").text(""), f = c.price,
594                    $("#paypalbtn").removeAttr("style");
595                    $("#paypalbtn").show();  // for showing paypal button   
596                          $("#div_free").html(""),
597                                    $("#Procd_to_pay").removeClass("dn"),
598                                    $("#div_pay").removeClass("dn"),
599                            $(".coupn_div").html(c.html_coup_label),
600                            $(".final_amt").html("<b style=''>" + c.unit + c.price + "</b>"),
601                            $(".real_amt").html("<b style=''>" + c.unit + c.price + "</b>"),
602                            $(".coupn_vdisp").html("<li class='list-style-none'><span><b> Coupon </b></span><span class='pull-right'><b style='color:#86c246;'>" + c.html_coup_disp + "</b></span></li>"),
603                            $(".show_sub_total").html("<b >" + c.unit + (c.price - c.tax_amt) + "</b>"),
604                            $("#tax").html("<b> <span class='margin_right_3'>+ </span>" + c.unit + c.tax_amt + "</b>");
605        } else {
606            $(".coup_msg").text(e);
607            $(".coup_msg").fadeIn('fast').delay(5000).hide(0);
608            $(".btnLoad").css("display", "block");
609            $(".redeemDivApplyBtn").find(".c_loader").css("display", "none");
610            $(".redeemDivApplyBtn").attr("disabled", false);
611        }
612            
613        setTopMargin();
614    });
615}
616
617function hideLoginPopUp() {
618    $("#loginPopUp").animate({
619        top: "0px",
620        opacity: "0"
621    }, 600, function () {
622        $("#loginPopUp").hide()
623    })
624}
625
626function showLoginPopupOnResize() {
627    var a = $(window).width(),
628            b = ($(document).width(), $(document).height(), $("#loginPopUp").width()),
629            c = Number(a - b) / 2;
630    c = Number(c) - Number(70), document.getElementById("loginPopUp").style.left = c + "px"
631}
632
633function showSignInPopupOnResize() {
634    var a = $(window).width(),
635            b = $("#signUpPopUp").width(),
636            c = Number(a - b) / 2;
637    document.getElementById("signUpPopUp").style.left = c + "px"
638}
639
640function reset(a) {
641}
642
643function hidePopUp(a) {
644    $("#transparantLayer").hide(), $("#" + a).fadeOut(300), "payComfDiv" == a && $("." + a).fadeOut(300)
645}
646
647function hideSignUpPopUp() {
648    $("#signUpPopUp").fadeOut(300)
649}
650
651function showFgtPwdDiv(a, b, c) {
652    $("#" + a).modal('hide')
653}
654
655function expand(a, b) {
656    var c = $(a).attr("value");
657    "collapsed" == c ? ($("#" + b + " .item").addClass("active"), $(a).attr("value", "expanded"), $(a).text("collapse"), $("#" + b + " .leftCourse").hide(), $("#" + b + " .rightCourse").hide()) : "expanded" == c && ($("#" + b + " .item").removeClass("active"), $("#" + b + " .item:first").addClass("active"), $(a).attr("value", "collapsed"), $(a).text("View all"), $("#" + b + " .leftCourse").show(), $("#" + b + " .rightCourse").show())
658}
659
660function wishprourl(response) {
661    if (response == 'yes') {
662        var a = $("#addtowsh_pid").val();
663        var module = $("#addtowsh_module").val();
664        $.ajax({
665            method: "POST",
666            url: software_url + "Mycourses/wishprourl",
667            data: {pid: a, module: module},
668            success: function (data) {
669                var result = $.parseJSON(data);
670                window.location.href = result.url;
671            },
672            error: function (requestObject, error, errorThrown) {
673                alert(error);
674                alert(JSON.stringify(requestObject));
675                alert(errorThrown);
676            }
677        });
678    }
679
680}
681
682function addtowishlist(obj, a, page, module) {
683    if(page === 'myWishlist')
684    {
685        $('#loaderLayerfile').removeClass('dn');
686    }
687    $.ajax({
688        method: "POST",
689        url: software_url + "Mycourses/addtowishlist",
690        data: {pid: a, module: module, page: page},
691        success: function (data) {
692            var result = $.parseJSON(data);
693            if (result.status == 'added') {
694                if(page === 'c_list'){
695                    (module == 'courses') ? ($('.wishcartthmbcomm_' + a).find('.wishlistIcon i').attr('class','fa fa-heart isWishlist')) : ($(obj).attr('class','fa fa-heart isWishlist'));
696                }else if(page === 'cpop_list'){
697                    $('.right .popwish_'+ a).find('.wishlistIcon i').attr('class','fa fa-heart isWishlist');
698                    $(obj).attr('class','fa fa-heart isWishlist');
699                }else if(page === 'myWishlist'){
700                    $('.dashboardLeftNavActive').click();
701                }else{
702                    $(obj).closest('.wishlistD').find('.fa-heart').removeClass('far').addClass('fa');
703                }
704            } else if (result.status == 'removed') {
705                if(page === 'c_list'){
706                    (module == 'courses') ? ($('.wishcartthmbcomm_' + a).find('.wishlistIcon i').attr('class','far fa-heart')) : ($(obj).attr('class','far fa-heart'));
707                }else if(page === 'cpop_list'){
708                    $('.right .popwish_'+ a).find('.wishlistIcon i').attr('class','far fa-heart');
709                    $(obj).attr('class','far fa-heart');
710                }else if(page === 'myWishlist'){
711                    $('.rightDivBorderLeft.dash').html(result.html);
712                    $('#loaderLayerfile').addClass('dn');
713                    $(obj).closest('.servicesBoxWishlist').hide();
714                }else{
715                    $(obj).closest('.wishlistD').find('.fa-heart').removeClass('fa').addClass('far');
716                }
717            } else if (result.status == 'exists') {
718                $("#addtowsh_pid").val(a);
719                $("#addtowsh_module").val(module);
720                $('#content_type').val('addtowishlist');
721                var popup_txt = "This " + module.replace(/s$/, "") + " is already in your dashboard. Do you want to go to the course ?";
722                del_obj = obj;
723                $('#popup_txt').text(popup_txt);
724                $('#cus-myModal').removeClass('dn');
725            }
726        },
727        error: function (requestObject, error, errorThrown) {
728            alert(error);
729            alert(JSON.stringify(requestObject));
730            alert(errorThrown);
731        }
732    });
733//    });.done(function (a) {
734//        alert(a)
735//    })
736}
737
738function open_div(a) {
739    $("#" + a).show()
740}
741
742function model_yes_btn(a) {
743    var b = $("#mod_del").val(),
744            c = $("#mod_repl_id").val(),
745            d = $("#mod_disc_id").val();
746    if ("reply" == b) {
747        var e = {
748            reply_id: c,
749            disc_id: d
750        };
751        $.ajax({
752            method: "POST",
753            url: software_url + "dashboard/delete_reply",
754            data: e
755        }).done(function (a) {
756            $(".reply_" + c).remove(), $(".link_" + d).html(a)
757        })
758    } else if ("discussion" == b) {
759        var e = {
760            disc_id: d,
761            product_id: a
762        };
763        $.ajax({
764            method: "POST",
765            url: software_url + "dashboard/delete_discussion",
766            data: e
767        }).done(function (a) {
768            $(".disc_body_" + d).parents(".dissc_inner_div").remove()
769        })
770    }
771}
772
773function load_more(a) {
774    var b = {
775        product_id: a,
776        last_id: $("#last_id").val()
777    };
778    $.ajax({
779        method: "POST",
780        url: software_url + "dashboard/load_more",
781        data: b
782    }).done(function (a) {
783        var b = $.parseJSON(a);
784        $("#diss_div").append(b.str), $("#last_id").val(b.last_id), $("#remaining_rows").val(b.remaining_rows), 0 == b.remaining_rows && ($("#load_btn").css("display", "none"), $("#last_id").val(0)), tinymce.init({
785            selector: ".replyDiv",
786            plugins: ["advlist autolink link lists charmap print preview hr anchor pagebreak spellchecker", "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", "save table contextmenu directionality emoticons template paste textcolor"],
787            menubar: !1,
788            toolbar: "link | undo redo |  bold italic | fontsizeselect | al
788ignleft aligncenter alignright alignjustify | preview",
789            schema: "html5"
790        })
791    })
792}
793
794function add_disscussion(a) {
795    var b = 0,
796            c = $("#discussionTitleDiv").val().trim(),
797            d = $("#dd_syl").val(),
798            e = $("#myModal1 .modal-body .mce-label").text().split(":")[1].replace("Words", "");
799    0 != e ? $("#err_desc").text("") : ($("#err_desc").text("Please enter the description"), b = 1), "" == c ? ($("#err_title").text("Please enter the title"), b = 1) : $("#err_title").text(""), 1 == b && exit();
800    var f = tinymce.get("discussionDescDiv").getContent(),
801            g = {
802                descp: f,
803                title: c,
804                lecture: d,
805                product_id: a
806            };
807    $.ajax({
808        method: "POST",
809        url: software_url + "dashboard/add_disscussion",
810        data: g
811    }).done(function (a) {
812        $("#diss_div").prepend(a), $("#myModal1").modal("hide"), $(".no-records").addClass("dn"), tinymce.get("discussionDescDiv").setContent(""), $("#discussionTitleDiv").val(""), tinymce.init({
813            selector: ".replyDiv",
814            plugins: ["advlist autolink link lists charmap print preview hr anchor pagebreak spellchecker", "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", "save table contextmenu directionality emoticons template paste textcolor"],
815            menubar: !1,
816            toolbar: "link | undo redo |  bold italic | fontsizeselect | alignleft aligncenter alignright al
816ignjustify | preview",
817            schema: "html5"
818        })
819    })
820}
821
822function add_reply(a) {
823    var b = tinymce.get("rep_" + a).getContent(),
824            c = $("#" + a + " .reply_txt .mce-label").text().split(":")[1].replace("Words", "");
825    0 != c ? $("#" + a + " .err_msg").text("") : ($("#" + a + " .err_msg").text("Please enter the description"), exit()), b = b.split(" ");
826    var d = {
827        descp: b,
828        disc_id: a,
829        product_id: $("#product_id").val()
830    };
831    $.ajax({
832        method: "POST",
833        url: software_url + "dashboard/add_reply",
834        data: d
835    }).done(function (b) {
836        var c = $.parseJSON(b);
837        $("#" + a + " .replies").append(c.rep_desp), $(".link_" + a).html(c.rep_link), tinymce.get("rep_" + a).setContent("")
838    })
839}
840
841function showRtbTxtEditor(a, b, c) {
842    var d = $(a).attr("value");
843    0 == d ? ("first" == c ? ($("#" + b).show(), $(a).children(".link").text("hide")) : $.ajax({
844        method: "POST",
845        url: software_url + "dashboard/get_replies",
846        data: {
847            disc_id: b
848        }
849    }).done(function (c) {
850        $("#" + b + "  .replies").html(c), $("#" + b).show(), $(a).children(".link").text("hide")
851    }), $(a).attr("value", "1")) : ($("#" + b).hide(), $(a).attr("value", "0"), "first" == c ? $(a).children(".link").text("Be the first and add your reply") : $(a).children(".link").text("show"))
852}
853
854function delete_discussion(a, b) {
855    $("#mod_del").val("discussion"), $("#mod_repl_id").val(""), $("#mod_disc_id").val(a), $("#myModal2").modal("show")
856}
857
858function delete_reply(a, b) {
859    $("#mod_del").val("reply"), $("#mod_repl_id").val(b), $("#mod_disc_id").val(a), $("#myModal2").modal("show")
860}
861
862function edit_discussion(a) {
863    var b = {
864        disc_id: a
865    };
866    $.ajax({
867        method: "POST",
868        url: software_url + "dashboard/edit_discussion",
869        data: b
870    }).done(function (b) {
871        $(".edit_div_" + a).html(b), $(".edit_div_" + a).removeClass("dn").addClass("db"), $(".disc_body_" + a).css("display", "none"), tinymce.init({
872            selector: ".edit_des",
873            plugins: ["advlist autolink link lists charmap print preview hr anchor pagebreak spellchecker", "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", "save table contextmenu directionality emoticons template paste textcolor"],
874            menubar: !1,
875            toolbar: "link | undo redo |  bold italic | fontsizeselect | alignleft aligncenter alignright al
875ignjustify | preview",
876            schema: "html5"
877        })
878    })
879}
880
881function edit_reply(a, b) {
882    var c = {
883        disc_id: a,
884        reply_id: b
885    };
886    $.ajax({
887        method: "POST",
888        url: software_url + "dashboard/edit_reply",
889        data: c
890    }).done(function (a) {
891        $(".reply_edit_div_" + b).html(a), $(".reply_edit_div_" + b).removeClass("dn").addClass("db"), $(".reply_desc_body_" + b).css("display", "none"), tinymce.init({
892            selector: ".edit_rep_des",
893            plugins: ["advlist autolink link lists charmap print preview hr anchor pagebreak spellchecker", "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", "save table contextmenu directionality emoticons template paste textcolor"],
894            menubar: !1,
895            toolbar: "link | undo redo |  bold italic | fontsizeselect | alignleft aligncenter alignright alignjustify | preview",
896            schema: "html5"
897        })
898    })
899}
900
901function update_discussion(a) {
902    var b = 0,
903            c = $("#edit_title_" + a).val().trim(),
904            d = $(".edit_div_" + a + " .mce-label").text().split(":")[1].replace("Words", "");
905    0 != d ? $(".err_desc_" + a).text("") : ($(".err_desc_" + a).text("Please enter the description"), b = 1), "" == c ? ($(".err_title_" + a).text("Please enter the title"), b = 1) : $(".err_title_" + a).text(""), 1 == b && exit();
906    var e = tinymce.get("edit_disc_" + a).getContent(),
907            f = {
908                disc_id: a,
909                descp: e,
910                title: c
911            };
912    $.ajax({
913        method: "POST",
914        url: software_url + "dashboard/update_discussion",
915        data: f
916    }).done(function (b) {
917        0 != b ? ($(".disc_body_" + a).html(b), $(".disc_body_" + a).css("display", "block"), $(".edit_div_" + a).html(""), $(".edit_div_" + a).removeClass("db").addClass("dn")) : alert("Error while updating please try again...")
918    })
919}
920
921function update_reply(a, b) {
922    var c = $(".reply_edit_div_" + b + " .mce-label").text().split(":")[1].replace("Words", "");
923    0 != c ? $(".reply_err_desc_" + b).text("") : ($(".reply_err_desc_" + b).text("Please enter the description"), exit());
924    var d = tinymce.get("edit_rep_disc_" + b).getContent();
925    d = d.split(" "), o = {
926        descp: d,
927        reply_id: b,
928        disc_id: a
929    }, $.ajax({
930        method: "POST",
931        url: software_url + "dashboard/update_reply",
932        data: o
933    }).done(function (a) {
934        0 != a ? ($(".reply_desc_body_" + b).html(a), $(".reply_desc_body_" + b).css("display", "block"), $(".reply_edit_div_" + b).html(""), $(".reply_edit_div_" + b).removeClass("db").addClass("dn")) : alert("Error while updating please try again...")
935    })
936}
937
938function cancel_discussion(a) {
939    $(".disc_body_" + a).css("display", "block"), $(".edit_div_" + a).html(""), $(".edit_div_" + a).removeClass("db").addClass("dn")
940}
941
942function cancel_reply(a) {
943    $(".reply_desc_body_" + a).css("display", "block"), $(".reply_edit_div_" + a).html(""), $(".reply_edit_div_" + a).removeClass("db").addClass("dn")
944}
945
946function checkout(lifetime_gift = '', pagename = '') {
947    var c = $('#cvbn').val();
948    var p = $('#poiu').val();
949    var module = $('#module').val();
950    var is_emi = $('#is_emi').val();
951    var no_of_emi = $('#no_of_emi').val();
952    var lifetimeType = $('#lifetimeType').val();
953    var gift = check_gift_array();
954    if (is_emi == '1') {
955        var encode_str = btoa(p + "@" + module + "@" + is_emi+ "@" + no_of_emi);
956    }else{
957         var encode_str = btoa(p + "@" + module);
958    }
959    var cpn_str = "";
960    if (c != '' && is_emi != '1') {
961        cpn_str = "?coupon_code=" + c;
962    }
963    lifetime_gift_str = '';
964    if (lifetime_gift != '' && is_emi != '1') {
965        lifetime_gift_str = "&lifetime_gift_str=gift";
966    }
967    lifetimetype = '';
968    if (lifetimeType != '' && (lifetimeType == 1 || lifetimeType == 5 || lifetimeType == 3)) {
969        lifetimetype = "&lifetimetype="+lifetimeType;
970    }
971    if (pagename == 'infiniti') {
972        lifetimetype = "&?lifetimetype="+lifetimeType;
973    }
974    window.location.href = software_url + "checkout/" + encode_str + cpn_str + lifetime_gift_str + lifetimetype;
975}
976
977function checkout_trial(lifetime_gift = '', pagename = '') {
978    var c = $('#cvbn').val();
979    var p = $('#poiu').val();
980    var module = $('#module').val();
981    var is_emi = $('#is_emi').val();
982    var no_of_emi = $('#no_of_emi').val();
983    var lifetimeType = $('#lifetimeType').val();
984    var gift = check_gift_array();
985    if (is_emi == '1') {
986        var encode_str = btoa(p + "@" + module + "@" + is_emi+ "@" + no_of_emi);
987    }else{
988         var encode_str = btoa(p + "@" + module);
989    }
990    var cpn_str = "";
991    if (c != '' && is_emi != '1') {
992        cpn_str = "?coupon_code=" + c;
993    }
994    lifetime_gift_str = '';
995    if (lifetime_gift != '' && is_emi != '1') {
996        lifetime_gift_str = "&lifetime_gift_str=gift";
997    }
998    lifetimetype = '';
999    if (lifetimeType != '' && (lifetimeType == 1 || lifetimeType == 5 || lifetimeType == 3)) {
1000        lifetimetype = "&lifetimetype="+lifetimeType;
1001    }
1002    if (pagename == 'infiniti') {
1003        lifetimetype = "&?lifetimetype="+lifetimeType;
1004    }
1005    window.location.href = software_url + "checkout-trial/" + encode_str + cpn_str + lifetime_gift_str + lifetimetype;
1006}
1007
1008function checkout_lifetime_product(duration = '') {
1009    // var c = $('#cvbn').val();
1010    var p = $('#poiu').val();
1011    var module = $('#module').val();
1012
1013    if (duration != '') {
1014        var encode_str = btoa(p + "@" + module + "@" + duration);
1015    }else{
1016         var encode_str = btoa(p + "@" + module);
1017    }
1018
1019    var cpn_str = "";
1020    // if (c != '') {
1021    //     cpn_str = "?coupon_code=" + c;
1022    // }
1023    
1024    window.location.href = software_url + "genai-academy-payment-confirmation/" + encode_str + cpn_str;
1025}
1026
1027function checkout_livetraining_emi() {
1028    var c = $('#cvbn').val();
1029    var p = $('#poiu').val();
1030    var module = $('#module').val();
1031    var is_emi = $('#is_emi').val();
1032    var no_of_emi = $('#no_of_emi').val();
1033    var gift = check_gift_array();
1034    if (is_emi == '1') {
1035        var encode_str = btoa(p + "@" + module + "@" + is_emi+ "@" + no_of_emi);
1036    }else{
1037         var encode_str = btoa(p + "@" + module);
1038    }
1039    var cpn_str = "";
1040    window.location.href = software_url + "checkout/" + encode_str + cpn_str ;
1041}
1042
1043function lifetime_checkout(prod_id = '') {
1044    var p = prod_id;
1045    var module = 'presale';
1046    var encode_str = btoa(p + "@" + module);
1047    window.location.href = software_url + "checkout/" + encode_str;
1048}
1049
1050function checkout_bww(sel) {
1051    var ids;
1052    if (sel == 'bwwpage') {
1053        ids = qwer;
1054    } else if (sel == 'ppage') {
1055        ids = $('#ids').val();
1056    }
1057    var p = $('#poiu').val();
1058    var c = $('#cvbn').val();
1059
1060    var encode_str = btoa(p + "@bww@" + ids);
1061    var cpn_str = "";
1062    if (c != '') {
1063        cpn_str = "?coupon_code=" + c;
1064    }
1065    var url = software_url + "checkout/" + encode_str + cpn_str;
1066    window.location.href = url;
1067}
1068
1069function freebies(form_id, sel) {
1070    var ids;
1071    if (sel == 'bwwpage') {
1072        ids = qwer;
1073    } else if (sel == 'ppage') {
1074        ids = $('#ids').val();
1075    } 
1076    var c = $('#cvbn').val();
1077    var p = $('#poiu').val();
1078    var module = $('#module').val();
1079//    var gift = check_gift_array();
1080
1081    var form = document.getElementById(form_id);
1082    var hiddenField = document.createElement("input");
1083    hiddenField.setAttribute("type", "hidden");
1084    hiddenField.setAttribute("name", 'poiu');
1085    hiddenField.setAttribute("value", p);
1086    form.appendChild(hiddenField);
1087
1088    var hiddenField1 = document.createElement("input");
1089    hiddenField1.setAttribute("type", "hidden");
1090    hiddenField1.setAttribute("name", 'cvbn');
1091    hiddenField1.setAttribute("value", c);
1092    form.appendChild(hiddenField1);
1093
1094    var hiddenField2 = document.createElement("input");
1095    hiddenField2.setAttribute("type", "hidden");
1096    hiddenField2.setAttribute("name", 'bwwbundle_pro_ids');
1097    hiddenField2.setAttribute("value", ids);
1098    form.appendChild(hiddenField2);
1099    
1100    var hiddenField3 = document.createElement("input");
1101    hiddenField3.setAttribute("type", "hidden");
1102    hiddenField3.setAttribute("name", 'module');
1103    hiddenField3.setAttribute("value", module);
1104    form.appendChild(hiddenField3);
1105
1106//    var hiddenField3 = document.createElement("input");
1107//    hiddenField3.setAttribute("type", "hidden");
1108//    hiddenField3.setAttribute("name", 'gift');
1109//    hiddenField3.setAttribute("value", gift);
1110//    form.appendChild(hiddenField3);
1111    if(sel=='freepreview'){
1112        var hiddenField4 = document.createElement("input");
1113        hiddenField4.setAttribute("type", "hidden");
1114        hiddenField4.setAttribute("name", 'isFreePreview');
1115        hiddenField4.setAttribute("value", 'FreePreview');
1116        form.appendChild(hiddenField4);
1117    }
1118    document.getElementById(form_id).submit();
1119}
1120function product_purchase(form_id, sel, payment = '') {
1121    var ids;
1122    if (sel == 'bwwpage') {
1123        ids = qwer;
1124    } else if (sel == 'ppage') {
1125        ids = $('#ids').val();
1126    }
1127    if (payment != '') {
1128        var contact = $('#contact').val();
1129    }
1130    var c = $('#cvbn').val();
1131    var p = $('#poiu').val();
1132    var module = $('#module').val();
1133    var gift = check_gift_array();
1134
1135
1136//    var encode_str = btoa(p + "@" + module);
1137//    var cpn_str = "";
1138//    if (c != '') {
1139//        cpn_str = "?coupon_code=" + c;
1140//    }
1141//    window.location.href = software_url + "checkout/" + encode_str + cpn_str;
1142
1143
1144
1145    var form = document.getElementById(form_id);
1146    var hiddenField = document.createElement("input");
1147    hiddenField.setAttribute("type", "hidden");
1148    hiddenField.setAttribute("name", 'poiu');
1149    hiddenField.setAttribute("value", p);
1150    form.appendChild(hiddenField);
1151
1152    var hiddenField1 = document.createElement("input");
1153    hiddenField1.setAttribute("type", "hidden");
1154    hiddenField1.setAttribute("name", 'cvbn');
1155    hiddenField1.setAttribute("value", c);
1156    form.appendChild(hiddenField1);
1157
1158    var hiddenField2 = document.createElement("input");
1159    hiddenField2.setAttribute("type", "hidden");
1160    hiddenField2.setAttribute("name", 'module');
1161    hiddenField2.setAttribute("value", module);
1162    form.appendChild(hiddenField2);
1163
1164    var hiddenField3 = document.createElement("input");
1165    hiddenField3.setAttribute("type", "hidden");
1166    hiddenField3.setAttribute("name", 'gift');
1167    hiddenField3.setAttribute("value", gift);
1168    form.appendChild(hiddenField3);
1169
1170    var hiddenField4 = document.createElement("input");
1171    hiddenField4.setAttribute("type", "hidden");
1172    hiddenField4.setAttribute("name", 'bwwbundle_pro_ids');
1173    hiddenField4.setAttribute("value", ids);
1174    form.appendChild(hiddenField4);
1175    if(sel=='fromwbinar'){
1176        var hiddenField4 = document.createElement("input");
1177        hiddenField4.setAttribute("type", "hidden");
1178        hiddenField4.setAttribute("name", 'is_webinar');
1179        hiddenField4.setAttribute("value", 'true');
1180        form.appendChild(hiddenField5);
1181        
1182    }
1183    if (payment == 'razorpay') {
1184        contact_len = contact.length;
1185        var isnum = /^\d+$/.test(contact);
1186        if (contact != '' && contact_len == 10 && isnum === true) {
1187            var hiddenField5 = document.createElement("input");
1188            hiddenField4.setAttribute("type", "hidden");
1189            hiddenField4.setAttribute("name", 'contact_number');
1190            hiddenField4.setAttribute("value", contact);
1191            document.getElementById(form_id).submit();
1192        } else {
1193            if (contact_len != 10) {
1194                document.getElementById('conerror').textContent = '10 Digit Contact Number Only.';
1195            } else if (isnum === false) {
1196                document.getElementById('conerror').textContent = 'Invalid Contact Number.';
1197            } else {
1198                document.getElementById('conerror').textContent = 'Contact Number is Required.';
1199            }
1200        }
1201    }else {
1202        document.getElementById(form_id).submit();
1203    }
1204}
1205
1206function buy_now(sel, form_id) {
1207    var ids;
1208    if (sel == 'bwwpage') {
1209        ids = qwer;
1210    } else if (sel == 'ppage') {
1211        ids = $('#ids').val();
1212    }
1213    var p = $('#poiu').val();
1214    var c = $('#cvbn').val();
1215
1216//    var encode_str = btoa(p + "@bww@" + ids);
1217//    var cpn_str = "";
1218//    if (c != '') {
1219//        cpn_str = "?coupon_code=" + c;
1220//    }
1221//    var url = software_url + "checkout/" + encode_str + cpn_str;
1222//    window.location.href = url
1223
1224    var form = document.getElementById(form_id);
1225    var hiddenField = document.createElement("input");
1226    hiddenField.setAttribute("type", "hidden");
1227    hiddenField.setAttribute("name", 'poiu');
1228    hiddenField.setAttribute("value", p);
1229    form.appendChild(hiddenField);
1230
1231    var hiddenField1 = document.createElement("input");
1232    hiddenField1.setAttribute("type", "hidden");
1233    hiddenField1.setAttribute("name", 'bwwbundle_pro_ids');
1234    hiddenField1.setAttribute("value", ids);
1235    form.appendChild(hiddenField1);
1236
1237    var hiddenField2 = document.createElement("input");
1238    hiddenField2.setAttribute("type", "hidden");
1239    hiddenField2.setAttribute("name", 'cvbn');
1240    hiddenField2.setAttribute("value", c);
1241    form.appendChild(hiddenField2);
1242
1243    var hiddenField3 = document.createElement("input");
1244    hiddenField3.setAttribute("type", "hidden");
1245    hiddenField3.setAttribute("name", 'module');
1246    hiddenField3.setAttribute("value", 'bww');
1247    form.appendChild(hiddenField3);
1248
1249    document.getElementById(form_id).submit();
1250}
1251
1252$(window).resize(showLoginPopupOnResize), $(function () {
1253    $("#loginPopUp , #loginPopUpPage").keypress(function (a) {
1254        13 == a.keyCode && (id = $(this).attr("id"), $("#" + id + " .panel1 .fieldsDiv img").click())
1255    })
1256}), $(function () {
1257    $("#loginPopUp .panel2 , #forgot_page .panel2").keypress(function (a) {
1258        13 == a.keyCode && (id = $(this).attr("class"), $("." + id + " .fieldsDiv input").click())
1259    })
1260}), $(function () {
1261    $("#signUpPopUp , #signUpPopUpPage").keypress(function (a) {
1262        13 == a.keyCode && (id = $(this).attr("id"), $("#" + id + " .fieldsDiv img").click())
1263    })
1264}), $(function () {
1265    $("#loginPopUp #gPlusIcon").hover(function () {
1266        url = img_url + "google+_over_image.png", $("#gPlusIcon img").attr("src", url)
1267    }, function () {
1268        url = img_url + "google+.png", $("#gPlusIcon img").attr("src", url)
1269    })
1270}), $(function () {
1271    $("#loginPopUp #facebookIcon ").hover(function () {
1272        url = img_url + "facebook_over_image.png", $("#facebookIcon img").attr("src", url)
1273    }, function () {
1274        url = img_url + "facebook.png", $("#facebookIcon img").attr("src", url)
1275    })
1276}), $(function () {
1277    $("#loginPopUp .panel1 .fieldsDiv img  ,  #loginPopUpPage .panel1 .fieldsDiv img").hover(function () {
1278        url = img_url + "sign in_button_over_image.png", $(this).attr("src", url)
1279    }, function () {
1280        url = img_url + "sign_in_button.png", $(this).attr("src", url)
1281    })
1282}), $(function () {
1283    $(".closeBtn img ").hover(function () {
1284        url = img_url + "close_button_over_image.png", $(this).attr("src", url)
1285    }, function () {
1286        url = img_url + "close_button.png", $(this).attr("src", url)
1287    })
1288}), $(function () {
1289    $("#loginPopUp .panel2 .fieldsDiv .fgbtn , #loginPopUpPage .panel2 .fieldsDiv .fgbtn   ").hover(function () {
1290        $(this).css("background-color", "#469e44")
1291    }, function () {
1292        $(this).css("background-color", "#54b551")
1293    })
1294}), $(function () {
1295    $("#signUpPopUp  .fieldsDiv img ,#signUpPopUpPage  .fieldsDiv img ").hover(function () {
1296        url = img_url + "sign_up_button_over_image.png", $(this).attr("src", url)
1297    }, function () {
1298        url = img_url + "sign up_button.png", $(this).attr("src", url)
1299    })
1300}), $(function () {
1301    $("#redeemDiv_new").keypress(function (a) {
1302        13 == a.keyCode && $("#redeemDiv_new .redeemDivApplyBtn").click()
1303    })
1304}), $(function () {
1305    $("#coupn_input").keypress(function (a) {
1306        13 == a.keyCode && $("#coupn_input .cp_proBtnApply").click()
1307    })
1308}), $(function () {
1309    $("#search_txt").keypress(function (a) {
1310        13 == a.keyCode && $("#search_btn").click()
1311    })
1312}), $(function () {
1313    $("#kick_email").keypress(function (a) {
1314        13 == a.keyCode && $("#kick_email_btn_sur").click()
1315    })
1316});
1317
1318
1319/* scripts for gift course start */
1320$(document).ready(function () {
1321
1322    // $('[data-toggle="popover"]').popover();
1323
1324// oldverion backlog---------
1325    // $('[data-toggle="popover"]').popover({
1326    //     trigger: 'manual',
1327    //     placement:'top',
1328    //     html :true,
1329    //     title :'<a href="#" class="close" data-dismiss="alert" onclick="dismiss(this);">&times;</a>',
1330    // }).click(function(e) {
1331    //     $('.popover').not(this).hide(); /* optional, hide other popovers */
1332    //     $(this).popover('show'); /* show popover now it's setup */
1333    //     e.preventDefault();
1334    // });
1335
1336
1337    $("#giftInfinitiButton2").click(function (e) {
1338        var form_id = 'gift_fenroll_infi';
1339        var data = {};
1340        data['module'] = $('#module').val();
1341        var pkg  = $('#pkg').val();
1342        var form = document.getElementById(form_id);
1343        var hiddenField = document.createElement("input");
1344
1345        var hiddenField2 = document.createElement("input");
1346        hiddenField2.setAttribute("type", "hidden");
1347        hiddenField2.setAttribute("name", 'module');
1348        hiddenField2.setAttribute("value", data['module']);
1349        form.appendChild(hiddenField2);
1350
1351        var hiddenField3 = document.createElement("input");
1352        hiddenField3.setAttribute("type", "hidden");
1353        hiddenField3.setAttribute("name", 'gift');
1354        hiddenField3.setAttribute("value", 'Yes');
1355        form.appendChild(hiddenField3);
1356
1357        var hiddenField3 = document.createElement("input");
1358        hiddenField3.setAttribute("type", "hidden");
1359        hiddenField3.setAttribute("name", 'pkg_sel');
1360        hiddenField3.setAttribute("value", 'plan5');
1361        form.appendChild(hiddenField3);
1362
1363        document.getElementById(form_id).submit();
1364    });
1365    $("#giftInfinitiButton1").click(function (e) {
1366        var form_id = 'gift_fenroll_infi';
1367        var data = {};
1368        data['module'] = $('#module').val();
1369        var pkg  = $('#pkg').val();
1370        var form = document.getElementById(form_id);
1371        var hiddenField = document.createElement("input");
1372
1373        var hiddenField2 = document.createElement("input");
1374        hiddenField2.setAttribute("type", "hidden");
1375        hiddenField2.setAttribute("name", 'module');
1376        hiddenField2.setAttribute("value", data['module']);
1377        form.appendChild(hiddenField2);
1378
1379        var hiddenField3 = document.createElement("input");
1380        hiddenField3.setAttribute("type", "hidden");
1381        hiddenField3.setAttribute("name", 'gift');
1382        hiddenField3.setAttribute("value", 'Yes');
1383        form.appendChild(hiddenField3);
1384
1385        var hiddenField3 = document.createElement("input");
1386        hiddenField3.setAttribute("type", "hidden");
1387        hiddenField3.setAttribute("name", 'pkg_sel');
1388        hiddenField3.setAttribute("value", 'plan2');
1389        form.appendChild(hiddenField3);
1390
1391        document.getElementById(form_id).submit();
1392    });
1393    $("#giftCourseButton").click(function (e) {
1394        var form_id = 'gift_fenroll';
1395        var data = {};
1396        var p = $('#poiu').val();
1397        data['cvbn'] = $("#cvbn").val();
1398        data['module'] = $('#module').val();
1399
1400        var form = document.getElementById(form_id);
1401        var hiddenField = document.createElement("input");
1402
1403        hiddenField.setAttribute("type", "hidden");
1404        hiddenField.setAttribute("name", 'poiu');
1405        hiddenField.setAttribute("value", p);
1406        form.appendChild(hiddenField);
1407
1408        var hiddenField1 = document.createElement("input");
1409        hiddenField1.setAttribute("type", "hidden");
1410        hiddenField1.setAttribute("name", 'cvbn');
1411        hiddenField1.setAttribute("value", data['cvbn']);
1412        form.appendChild(hiddenField1);
1413
1414        var hiddenField2 = document.createElement("input");
1415        hiddenField2.setAttribute("type", "hidden");
1416        hiddenField2.setAttribute("name", 'module');
1417        hiddenField2.setAttribute("value", data['module']);
1418        form.appendChild(hiddenField2);
1419
1420        var hiddenField3 = document.createElement("input");
1421        hiddenField3.setAttribute("type", "hidden");
1422        hiddenField3.setAttribute("name", 'gift');
1423        hiddenField3.setAttribute("value", 'Yes');
1424        form.appendChild(hiddenField3);
1425
1426        document.getElementById(form_id).submit();
1427    });
1428    
1429    $('.rightDivDetails').eq(1).attr('title', 'Please Enter Above Details');
1430    $('#coupn_input').find("input[type='text'],input[type='email']").each(function () {
1431        $(this).on("keydown", function (e) {
1432            var keyCode = e.keyCode || e.which;
1433            if (keyCode == 9) {
1434                onLoadError = checkGiftInputErrors();
1435                if (onLoadError == 0) {
1436                    noErrors(".slidePaymentDetails");
1437                } else {
1438                    yesError(".slidePaymentDetails");
1439                }
1440
1441            }
1442        });
1443        $(this).on("change", function (e) {
1444            onLoadError = checkGiftInputErrors();
1445            if (onLoadError == 0) {
1446                noErrors(".slidePaymentDetails");
1447            } else {
1448                yesError(".slidePaymentDetails");
1449            }
1450        });
1451
1452    });
1453    $("#gift_course_from").on("change", function (e) {
1454        onLoadError = checkGiftInputErrors();
1455        if (onLoadError == 0) {
1456            noErrors(".slidePaymentDetails");
1457        } else {
1458            yesError(".slidePaymentDetails");
1459        }
1460    });
1461
1462//    if (window.performance && window.performance.navigation.type == window.performance.navigation.TYPE_BACK_FORWARD) {
1463//        if (localStorage["dynamichtml"]) {
1464//            $(".toBox").html(localStorage["dynamichtml"]);
1465//        }
1466//    } else {
1467//        localStorage.removeItem('dynamichtml');
1468//    }
1469
1470    $("body").on("click", ".slidePaymentDetails", function () {
1471        //console.log('in click');
1472        var onLoadError = 0;
1473        $('#coupn_input').find("input[type='text'],input[type='email']").each(function () {
1474            if ($(this).val() == '') {
1475                onLoadError++;
1476            }
1477        });
1478        if (onLoadError == 0) {
1479            $(this).removeClass('opacity');
1480            $(".giftEmailIdsLimit").html('');
1481            $('.rightDivDetails').eq(1).removeAttr('title');
1482            $('.slidePaymentDiv').slideToggle();
1483            $('.slideToFromBox').slideUp();
1484            $('.glyphicon-chevron-down').toggleClass('.glyphicon-chevron-up');
1485        } else {
1486            $(this).addClass('opacity');
1487            $(".giftEmailIdsLimit").html('Please fill all details');
1488            var offset = 200;
1489            $('html, body').animate({
1490                scrollTop: $(".giftEmailIdsLimit").offset().top - offset
1491            }, 700);
1492            $('.rightDivDetails').eq(1).attr('title', 'Please Enter Above Details');
1493        }
1494    });
1495
1496
1497    $("body").on("click", ".slideToFromDetails", function () {
1498        $('.slideToFromBox').slideToggle();
1499        $('.slidePaymentDiv').slideUp();
1500        $('.paymentButtons').slideUp();
1501        $('.glyphicon-chevron-down').toggleClass('.glyphicon-chevron-up')
1502    });
1503
1504    setTopMargin();
1505    $(window).resize();
1506
1507    $(".enterCouponInputfield").on("blur", function () {
1508        var e = $(this).attr("id");
1509        if ("" == $("#" + e).val()) {
1510            var t = e.replace("inp", "txt");
1511            $("#" + t).show()
1512            $("#" + t).html("Do not keep it blank");
1513            err = 1;
1514        } else {
1515            var t = e.replace("inp", "txt");
1516            $("#" + t).hide();
1517
1518            $("#" + t).html("Do not keep it blank");
1519        }
1520    });
1521
1522});
1523
1524$(window).on('resize', function () {
1525    setTopMargin();
1526  //  header_strip_ht();
1527});
1528
1529// function header_strip_ht() {    
1530//     var height_of_header = $(".headerMainShadow").height();
1531//     var height_of_div = $(".divTimeLeft").height();
1532//     var newth = height_of_div + height_of_header;     
1533//     $(".aboutBannerSection").attr('style', 'margin-top: '+newth+'px !important');
1534// }
1535function dismiss(el){
1536     $(el).closest('.popover').hide();
1537    };
1538function HideHeader(obj) {
1539    $(obj).parent().css('display', 'none');
1540    sessionStorage.setItem("header_strip", "close");
1541
1542   // header_strip_ht();
1543    $.ajax({
1544        url: software_url + "home/header_strip",
1545        method: "POST",
1546        dataType: 'json',
1547        success: function (respose) {
1548
1549        }
1550    });
1551
1552
1553}
1554;
1555
1556function header_strip_ht() {
1557  //  var height_of_header = $(".headerMainShadow")[0].getBoundingClientRect();
1558  //  var height_of_header_strip = $(".divTimeLeft")[0].getBoundingClientRect();
1559  //  $(".aboutBannerSection").attr('style', 'margin-top: ' + (height_of_header.bottom * 0) + 'px !important');
1560  //  $('.mblSearchTextbox').attr('style', 'top: ' + height_of_header.bottom + 'px !important');
1561    //$('.headerMainShadow').attr('style', 'top: ' + height_of_header_strip.bottom + 'px !important');
1562}
1563
1564
1565function setTopMargin() {
1566    if ($(window).width() > 973) {
1567        var height_of_div1 = $(".divPrice").height();
1568        var divVideo = $(".leftSideVidImage").height();
1569        var newHeight = -(height_of_div1 - divVideo);
1570        var fullHt = $('.divMain').height();
1571        var archiveSet = -(fullHt - height_of_div1);
1572        if (newHeight > 0)
1573        {
1574            $(".divInfo").css('margin-top', '10px');
1575            $('.divarchiveSet').css('margin-top', archiveSet);
1576
1577        } else {
1578            $(".divInfo").css('margin-top', newHeight);
1579            $('.divarchiveSet').css('margin-top', '0px');
1580        }
1581    } else {
1582        $(".divInfo").css('margin-top', '10px');
1583        $('.divarchiveSet').css('margin-top', '10px');
1584    }
1585}
1586
1587function checkGiftInputErrors() {
1588    var onLoadError = 0;
1589    $('#coupn_input').find("input[type='text'],input[type='email']").each(function () {
1590        if ($(this).val() == '') {
1591            onLoadError++;
1592        }
1593    });
1594    return onLoadError;
1595}
1596function noErrors(obj) {
1597    $(obj).removeClass('opacity');
1598}
1599function yesError(obj) {
1600    $(obj).addClass('opacity');
1601}
1602
1603function check_gift_array() {
1604
1605    var gift = {};
1606    // datas = {};
1607    gift['to'] = {};
1608    gift['gift_course_from'] = $('#gift_course_from').val();
1609    gift['gift_course_from_name'] = $('#gift_course_from_name').val();
1610
1611    var i = 0;
1612    var j = 0;
1613    var g_to = {};
1614
1615    $(".gift_to").each(function () {
1616
1617        g_to[i] = {
1618            "gift_course_to_name": $(this).children().find('.gift_to_n').val(),
1619            "gift_course_to": $(this).children().find('.gift_to_e').val()
1620        };
1621
1622        i++;
1623
1624    });
1625
1626    gift['to'] = g_to;
1627    gift['noOfGiftEmailIds'] = i;
1628
1629    var encoded = btoa(JSON.stringify(gift))
1630    return encoded;
1631}
1632
1633function checkForGiftInputs(form_id) {
1634    data = {};
1635    $('#coupn_input').find("input[type='text'],input[type='email']").each(function () {
1636        data[$(this).attr('id')] = {"value": $(this).val(), "type": $(this).attr('type'), "disabled": $(this).attr('disabled')};
1637    });
1638    data['noOfGiftEmailIds'] = {"value": $("#noOfGiftEmailIds").val(), "type": 'hidden'};
1639    $.ajax({
1640        url: software_url + "Giftcourse/checkGiftEmailId",
1641        method: "POST",
1642        data: data,
1643        dataType: 'json',
1644        success: function (respose) {
1645            if (respose.msg == 'Success') {
1646                $(".coup_msg").html('');
1647                if (form_id) {
1648                    product_purchase(form_id);
1649                } else {
1650                    pay_citrus();
1651                }
1652            } else {
1653                if (respose.msg == '') {
1654                    var errorMsg = "Please " + $("#" + respose.f
1654ield_name).attr("placeholder");
1655                    $(".coup_msg").html('');
1656                    $("span." + respose.field_name).html(errorMsg);
1657                } else {
1658                    $(".coup_msg").html('');
1659                    $("span." + respose.field_name).html(respose.msg);
1660                }
1661                var offset = 150;
1662                var spanclass = respose.field_name;
1663                $('html, body').animate({
1664                    scrollTop: $("input#" + spanclass).offset().top - offset
1665                }, 700);
1666                $(".slideToFromDetails").trigger("click");
1667            }
1668        }
1669    });
1670}
1671
1672/* moved code from view payment_confirmation starts */
1673function pay_citrus() {
1674    var err = pay_validation();
1675    if (err == 0) {
1676        var datas = {
1677            call: 'ajax',
1678            poiu: $('#poiu').val(),
1679            pay: 3,
1680            module: $('#module').val(),
1681            cvbn: $('#cvbn').val(),
1682            use_wallet: $('#walt_chkf').val(),
1683            use_voucher: $('#voucher_chkf').val(),
1684            voucher_id: $('#voucher_id_chkf').val()
1685        };
1686        if ($('#module').val().trim() == 'bww') {
1687            datas['bwwbundle_pro_ids'] = $('#ids').val();
1688        }
1689        if ($('#gift').val() == 'Yes') {
1690            datas['gift'] = check_gift_array();
1691            // datas['gift'] = $.parseJSON(datas['gift']); 
1692        }    
1693
1694        loading($(".payPalButton"), '');
1695
1696        $.ajax({
1697            type: "POST",
1698            url: software_url + "payments/pay",
1699            data: datas,
1700            success: function (data) {
1701                $(".payPalButton").removeClass("capply");
1702                loading_stop($(".payPalButton"), '');
1703                var result = $.parseJSON(data);
1704                if (result.status == 'course_exists') {
1705                    window.location.href = result.url;
1706                } else if (result.status == 'error') {
1707                    alert('Error while selecting the courses please try again.');
1708                    window.location.href = result.url;
1709                } else {
1710                    if (result.ack.status == 'success') {
1711                        var dataObj = {
1712                            orderAmount: result.TotalAmt,
1713                            currency: result.display.currency,
1714                            email: $('#inpEmailID').val(),
1715                            phoneNumber: $('#inpPhoneNumber').val(),
1716                            merchantTxnId: result.orderNo,
1717                            returnUrl: result.return_url,
1718                            vanityUrl: result.vanityUrl,
1719                            secSignature: result.securitySignature,
1720                            addressStreet1: $('#inpAddress').val(),
1721                            addressCity: $('#inpCity').val(),
1722                            addressState: $('#inpState').val(),
1723                            addressCountry: $('#drpDwnCountry').val(),
1724                            addressZip: $('#inpZipCode').val(),
1725                            notifyUrl: result.notify_url,
1726                            mode: "dropAround"
1727                        };
1728                        configObj = {
1729                            eventHandler: function (cbObj) {
1730                                if (cbObj.event === 'icpLaunched') {
1731                                    console.log('Overlay is launched');
1732                                    // Place to understand when overlay is launched on your website
1733                                } else if (cbObj.event === 'icpClosed') {
1734                                    // Place to understand when overlay is closed on your website. 
1735                                    // This might be closure of the overlay or completion of the order with successful payment.
1736                                    // Hence capturing message object is important to know exact status of the order
1737                                    //alert(JSON.stringify(cbObj.message));
1738                                    console.log('Overlay is closed');
1739                                }
1740                            }
1741                        };
1742                        // alert('a');
1743
1744                        citrusICP.launchIcp(dataObj, configObj);
1745                    } else if (result.ack.status == 'failed') {
1746                        switch (result.ack.msg) {
1747                            case 'redirect':
1748                                if (!result.ack.reason || result.ack.reason == '') {
1749                                    alert('Error while processing , Please try again...');
1750                                } else {
1751                                    alert(result.ack.reason);
1752                                }
1753                                window.location.href = result.ack.urlwindow;
1754                                break;
1755                            default:
1756                                alert('Error while processing , Please refresh and try again...');
1757                                break;
1758                        }
1759                    }
1760                }
1761
1762            }
1763            ,
1764            error: function (requestObject, error, errorThrown) {
1765                alert(error);
1766                alert(JSON.stringify(requestObject));
1767                alert(errorThrown);
1768            }
1769        });
1770    }
1771    return false;
1772}
1773
1774function isNumber(e) {
1775    var t = e.which ? e.which : e.keyCode;
1776    return 46 != t && t > 31 && (48 > t || t > 57) ? !1 : !0
1777}
1778
1779function onkeydownChkChar() {
1780    //                    var e = String.fromCharCode(event.keyCode),
1781    //                            t = /[a-zA-Z]/;
1782    //                    t.test(e) || (event.returnValue = !1)
1783    var inputValue = event.which;
1784    // allow letters and whitespaces only.
1785    if ((inputValue > 47 && inputValue < 58) && (inputValue != 32)) {
1786        event.preventDefault();
1787    }
1788}
1789
1790function resetAll() {
1791    $(".enterCouponInputfield").val("")
1792}
1793
1794function pay_validation() {
1795    //FOR CHECKING BLANK
1796    var err = 0;
1797    $(".enterCouponInputfield").each(function () {
1798        var e = $(this).attr("id");
1799        if ("" == $("#" + e).val()) {
1800            var t = e.replace("inp", "txt");
1801            $("#" + t).show()
1802            $("#" + t).html("Do not keep it blank");
1803            err = 1;
1804        } else {
1805
1806            var t = e.replace("inp", "txt");
1807            $("#" + t).hide();
1808
1809            $("#" + t).html("Do not keep it blank");
1810        }
1811    });
1812    var e = document.getElementById("drpDwnCountry");
1813
1814    if (e.value == "select")
1815    {
1816        $("#txtCountry").show();
1817        err = 1;
1818    } else {
1819        $("#txtCountry").hide();
1820    }
1821
1822
1823    //FOR EMAIL CHECKING
1824    var e = document.getElementById("inpEmailID"),
1825            t = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
1826
1827    if (t.test(e.value))
1828    {
1829
1830    } else
1831    {
1832
1833        $("#txtEmailID").show();
1834        err = 1;
1835        if ($("#inpEmailID").val() == "")
1836        {
1837            $("#txtEmailID").html("Do not keep it blank.");
1838        } else
1839        {
1840            $("#txtEmailID").html("Please Provide Valid email id");
1841        }
1842
1843    }
1844    return err;
1845}
1846
1847
1848function chkDropDown()
1849{
1850    var e = document.getElementById("drpDwnCountry");
1851
1852    if (e.value == "select")
1853    {
1854        $("#txtCountry").show();
1855        err = 1;
1856    } else {
1857        $("#txtCountry").hide();
1858    }
1859}
1860
1861function setConfPageTabActive(obj)
1862{
1863    $(".commonPayTab").each(function () {
1864        var id = $(this).attr("id");
1865        if (id == obj)
1866        {
1867            var currId = $("#" + obj).find('a').attr("value");
1868            $('#' + currId).addClass('active in')
1869        } else {
1870            var currId = $("#" + id).find('a').attr("value");
1871            $('#' + currId).removeClass('active in')
1872        }
1873    })
1874}
1875
1876function removeRow(obj)
1877{
1878    $("." + $(obj).attr('removeClass')).remove();
1879    counter = $("#noOfGiftEmailIds").val();
1880    var oldProductPrice = $("#giftPrice").attr("giftPrice");
1881    var giftPriceUnit = $("#giftPrice").attr("giftPriceUnit");
1882    var NewProductPrice = (counter - 1) * oldProductPrice;
1883    $("#giftPrice").val(giftPriceUnit + NewProductPrice);
1884    $("#noOfGiftEmailIds").val(counter - 1)
1885}
1886function addEmailIds()
1887{
1888    counter = $("#noOfGiftEmailIds").val();
1889    if (counter < 5) {
1890        removeClass = "rowEmailTo-" + counter;
1891        var html = '<div class="row comD marginTxtBottom15 gift_to rowEmailTo-' + counter + '">';
1892        html += '<div class="col-md-6">';
1893        html += '<label for="inpForTo"></label>';
1894        html += '<input type="text" class="form-control inputHeight gift_to_n" id="multipleGiftName-' + counter + '" name="multipleGiftName-' + counter + '" placeholder="Receiver\'s Name">';
1895        html += '<span class="coup_msg multipleGiftName-' + counter + '"></span>';
1896        html += '</div>';
1897        html += '<div class="col-md-6 pdL0 iconPosRel">';
1898        html += '<label for="inpEmail"><button type="button" class="btn btn-link mt20 removeText" onclick="removeRow(this);" removeClass="' + removeClass + '">Remove</button></label>';
1899        html += '<input type="email" class="form-control inputHeight gift_to_e" id="multipleGiftEmail-' + counter + '" name="multipleGiftEmail-' + counter + '" placeholder="Receiver\'s Email">';
1900        html += '<span class="coup_msg multipleGiftEmail-' + counter + '"></span>';
1901        html += '</div>';
1902        html += '</div>';
1903        if (counter == 1) {
1904            $(".copyRow:last").after(html)
1905        } else {
1906            $(".toBox .comD:last").after(html)
1907        }
1908        $(".giftEmailIdsLimit").html('');
1909        counter++;
1910        var oldProductPrice = $("#giftPrice").attr("giftPrice");
1911        var giftPriceUnit = $("#giftPrice").attr("giftPriceUnit");
1912        var NewProductPrice = (counter) * oldProductPrice;
1913        NewProductPrice = Math.round(NewProductPrice).toFixed(2);
1914        $("#giftPrice").val(giftPriceUnit + NewProductPrice);
1915        $("#noOfGiftEmailIds").val(counter)
1916    } else {
1917        $(".giftEmailIdsLimit").html('You can add upto 5 email ids.');
1918        var offset = 250;
1919        $('html, body').animate({scrollTop: $(".giftEmailIdsLimit").offset().top - offset}, 700)
1920    }
1921}
1922
1923
1924function downloadvideo(obj, id, id2) {
1925    $(obj).addClass('dn');
1926    loading($(obj).closest('td'), "");
1927    $.ajax({
1928        method: "POST",
1929        url: software_url + "dashboard/downloadvideo",
1930        data: {id: id, id2: id2}
1931    })
1932            .done(function (data) {
1933                var result = JSON.parse(data);
1934                if (result.status == 'success') {
1935                    loading_stop($(obj).closest('td'), "");
1936                    $(obj).removeClass('dn');
1937                    window.location.href = result.link;
1938                } else {
1939                    loading_stop($(obj).closest('td'), "");
1940                    $(obj).removeClass('dn');
1941                    alert(result.msg);
1942                }
1943            });
1944}
1945
1946function fill_cpn_courses(mode, coupon_id, type) {
1947    var async1 = $.ajax({//ajax call 1
1948        type: "POST",
1949        url: software_url + 'course_creation/get_product_list',
1950        data: {module: "courses", mode: mode, coupon_id: coupon_id, cc_access: cc_access_str},
1951        success: function (data1) {
1952            var dd_clist = "";
1953            data1 = JSON.parse(data1);
1954            $.each(data1, function (i, item) {
1955                dd_clist += "<a><label class='curPointer'><input class='chk_courses chk_course' name='type' value='" + item.ProductID + "' type='checkbox'" + item.chk_status + "   /> <span class='chk_lbl'>" + item.ProductName + " - $<span clas='productVal'>" + item.ProductValue + "</span></span></label><input min='9' step='.01' class='ca_price' value='" + item.price + "' type='number'/></a>";
1956            });
1957            $("#dd_courses").append(dd_clist);
1958            // $("#dd_courses").append(dd_clist);
1959        }
1960    });
1961
1962    if (type == 'all') {
1963        var async2 = $.ajax({//ajax call 2
1964            type: "POST",
1965            url: software_url + 'course_creation/get_product_list',
1966            data: {module: "deals", mode: mode, coupon_id: coupon_id},
1967            success: function (data2) {
1968                var dd_dlist = "";
1969                data2 = JSON.parse(data2);
1970                $.each(data2, function (i, item) {
1971                    dd_dlist += "<a><label class='curPointer'><input class='chk_deals' name='type' value='" + item.deals_id + "' type='checkbox'" + item.chk_status + " /> <span class='chk_lbl'>" + item.deals_name + " - $ <span clas='productVal'>" + item.finalprice + "</span></span></label>\n\
1972                    <input min='10' class='da_price' value='" + item.price + "' type='number'/></a>";
1973                });
1974                // $("#dd_deals").append(dd_dlist);
1975                $("#dd_deals").append(dd_dlist);
1976            }
1977        });
1978        var async3 = $.ajax({//ajax call 3
1979            type: "POST",
1980            url: software_url + 'course_creation/get_product_list',
1981            data: {module: "bww", mode: mode, coupon_id: coupon_id},
1982            success: function (data3) {
1983                var dd_bwwlist = "";
1984                data3 = JSON.parse(data3);
1985                $.each(data3, function (i, item) {
1986                    dd_bwwlist += "<a><label class='curPointer'><input class='chk_bww' name='type' value='" + item.bundle_deals_id + "' type='checkbox'" + item.chk_status + " /> <span class='chk_lbl'>" + item.bundle_deals_name + " - $<span clas='productVal'>" + item.ProductValue + "</span></span></label><input min='10' class='ba_price' value='" + item.price + "' type='number'/></label></a>";
1987                });
1988                $("#dd_bww").append(dd_bwwlist);
1989                //                            $("#dd_bww").append(dd_bwwlist);
1990            }
1991        });
1992        $.when(async1, async2, async3).done(function (result1, result2, result3) {
1993            //jQuery(".conten_wrapper").removeClass('loader_wrap_active');
1994        });
1995    } else {
1996        $.when(async1).done(function (result1) {
1997            //jQuery(".conten_wrapper").removeClass('loader_wrap_active');
1998        });
1999    }
2000
2001
2002}
2003
2004
2005
2006var clicks = 0;
2007//function update_panels(call) {
2008//    console.log(call + "--" + clicks);
2009//    if (call == clicks) {
2010//        $.ajax({
2011//            method: "POST",
2012//            url: software_url + "product/update_panels",
2013//        })
2014//                .done(function (data) {
2015//                    var content = JSON.parse(data);
2016//                    $('#cart_tb').html(content.cart);
2017//                    $('#SL_tb').html(content.SL_cart);
2018//                    $('#div_pricing').html(content.cart_pricing);
2019//                    $('#cart_count').val(content.cart_count);
2020//                    $('.cart_dis').text(content.cart_count);
2021//                    cart_count =  content.cart_count;
2022//                    if (content.cart_count > 0) {
2023//                        $('#list_div').removeClass('col-md-12').addClass('col-md-8');
2024//                        $('#div_pricing').removeClass('dn');
2025//                    } else {
2026//                        $('#list_div').removeClass('col-md-8').addClass('col-md-12');
2027//                        $('#div_pricing').addClass('dn');
2028//                    }
2029//
2030//                    $('#loaderLayerfile').addClass('dn');
2031//                });
2032//    }
2033//
2034//}
2035
2036
2037function update_headcart_list() {
2038    $('.hideLoader_cart').removeClass('dn')
2039    $.ajax({
2040        method: "POST",
2041        url: software_url + "product/update_headcart_list",
2042    })
2043            .done(function (data) {
2044                $('.crt_list_head').html(data);
2045                $('.hideLoader_cart').addClass('dn')
2046            });
2047}
2048
2049function use_wallet_amt(obj){
2050  
2051    $('#loaderLayerfile').removeClass('dn'); 
2052    
2053    var chk = 0;
2054    var secret_int =  $("#i_sec").val();
2055
2056    if($(obj).is(":checked")){
2057        chk = 1;
2058        $('input[name=discount_vouchers]').prop("checked", false);
2059    }            
2060    
2061    $.ajax({
2062        method: "POST",
2063        url: software_url + "product/use_wallet_amt",
2064        data: {chk: chk , secret_int:secret_int}
2065    }).done(function (data) {
2066            
2067        var res = JSON.parse(data);
2068        $('.shw_voucher_disc').addClass('dn');
2069        if(chk == 0){
2070            $('.shw_walt_disc').addClass('dn');
2071            $('.shw_walt_voucher_disc').addClass('dn');
2072        }else{
2073            $('.shw_walt_disc').removeClass('dn');
2074            $('.shw_walt_voucher_disc').removeClass('dn');
2075        }
2076
2077        $('#wallet_disc').text(res.wallet_disc.toFixed(2));
2078        $('#walt_chkf').val(chk);
2079        $('input[name="use_wallet"]').val(chk);
2080        $('.total_ProductV').text(res.total_ProductValue);
2081        $('.show_sub_total').html('<b>'+res.currency + res.display.amt_break.amount.toFixed(2)+'</b>');
2082        $('#tax').html('<b>+ '+res.currency + res.display.tax_amt+'</b>');
2083        
2084        $('.final_shw_amt').html('<b>'+res.currency + res.total.toFixed(2)+'</b>');
2085
2086        $('#loaderLayerfile').addClass('dn');
2087        $("#div_free").html("");
2088    });
2089}
2090
2091
2092function use_wallet_amt_app(obj,user_id){
2093
2094  $('#loaderLayerfile').removeClass('dn'); 
2095  
2096  var chk = 0;
2097  var secret_int =  $("#i_sec").val();
2098
2099  if($(obj).is(":checked")){
2100      chk = 1;
2101  }           
2102    
2103  
2104  $.ajax({
2105      method: "POST",
2106      url: software_url + "Mobile_App_controller/use_wallet_amt_app",
2107      data: {chk: chk , secret_int:secret_int , user_id:user_id}
2108  }).done(function (data) {
2109          
2110      var res = JSON.parse(data);
2111      if(chk == 0){
2112          $('.shw_walt_disc').addClass('dn');
2113      }else{
2114          $('.shw_walt_disc').removeClass('dn');
2115      }
2116
2117      $('#wallet_disc').text(res.wallet_disc.toFixed(2));
2118      $('#walt_chkf').val(chk);
2119      $('input[name="use_wallet"]').val(chk);
2120      $('.total_ProductV').text(res.total_ProductValue);
2121      $('.show_sub_total').html('<b>'+res.currency + res.display.amt_break.amount+'</b>');
2122      $('#tax').html('<b>+ '+res.currency + res.display.tax_amt+'</b>');
2123      
2124      $('.final_shw_amt').html('<b>'+res.currency + res.total+'</b>');
2125
2126      $('#loaderLayerfile').addClass('dn');
2127  });
2128}
2129
2130function addtocart(curr_obj, cid, cpid, module, via, presale_group_id = '', presale_button_id = '', latch = '',chatgpt_new_page='') {
2131     var postData = {};
2132	if (cid != '') {
2133        cart_count = parseInt(cart_count) + 1;
2134        if (latch == 'latch') {
2135            cpid = cpid;
2136        } else {
2137            cpid = $('#cvbn').val();
2138        }
2139        if (via == 'c_list') {
2140            (module == 'courses') ? ($('.wishcartthmbcomm_' + cid +' .cartIcon').html("<i class='fas fa-shopping-cart isInCart'></i>")) : ($(curr_obj).parent('.cartIcon').html("<i class='fas fa-shopping-cart isInCart'></i>"));
2141        } else if (via == 'cpop_list') {
2142            $('.cartIcnhover_'+ cid).html(`<strong>
2143                <a href='${software_url}cart'>Go To Cart</a>
2144            </strong>`);
2145        } else if (via == 'offer_page' || via == 'promotional_page') {
2146            $(curr_obj).parents('.addcart_div').html("<a href='" + software_url + "cart' target='_blank' style='text-decoration:none;'><button class='btn btn-main btn-block btn-Pro'>Go To Cart</button></a>");
2147        }else if (via=='searchedcourses')
2148         {
2149            $(curr_obj).parents('.addcart_div').html(`
2150                 <a href='${software_url}cart'>
2151                    <strong><i class="fas fa-shopping-cart" style="color: #fcb752;"></i></strong>
2152                 </a>`);
2153            $('.addtoc_btn').html(`
2154                 <a href='${software_url}cart'>
2155                    <strong><i class="fas fa-shopping-cart" style="color: #fcb752;"></i></strong>
2156                 </a>
2157                `);
2158            $('#continueShopButton').removeClass('dn');
2159            $('#div_paid').addClass('dn');
2160         }
2161        else if (via == 'presale_product_page'){
2162            // $('#'+presale_button_id).html(`
2163            $('.presaleGoToCart').html(`
2164                <button class='btn btn-main btn-block btn-Pro'>
2165                    <strong><a href='${software_url}cart'>Go To Cart</a></strong>
2166                </button>`);
2167            $('.presalePacakgeFooterButton').html(`
2168                <button class='btn btn-main btn-block btn-Pro'>
2169                    <strong><a href='${software_url}cart'>Go To Cart</a></strong>
2170                </button>`);
2171            $('#continueShopButton').removeClass('dn');
2172            // $('#div_paid').addClass('dn'); -- commented as add to cart button getting removed after click
2173        } else if (via == 'lifetime_product_page'){
2174            $('#'+presale_button_id).html(`
2175                <button class='btn btn-main btn-block btn-Pro btn-mains'>
2176                    <strong><a href='${software_url}cart'>Go To Cart</a></strong>
2177                </button>`);
2178            $('.presalePacakgeFooterButton').html(`
2179                <button class='btn btn-main btn-mains btn-block btn-Pro'>
2180                    <strong><a href='${software_url}cart'>Go To Cart</a></strong>
2181                </button>`);
2182            $('#continueShopButton').removeClass('dn');
2183            // $('#div_paid').addClass('dn'); -- commented as add to cart button getting removed after click
2184        } else if (via == 'upcoming_edegrees_page'){
2185            $(curr_obj).parents('.addcart_div').html(`
2186                <button class='btn btn-main btn-block btn-Pro'>
2187                    <strong><a href='${software_url}cart'>
2187Go To Cart</a></strong>
2188                </button>`);
2189            $('.addtoc_btn').html(`
2190                <button class='btn btn-main btn-block btn-Pro'>
2191                    <strong><a href='${software_url}cart'>Go To Cart</a></strong>
2192                </button>`);
2193        } else if(via == 'webinar_live') {
2194            $(curr_obj).parents('.addcart_div').html(`
2195                <button class='btn btn-main btn-block btn-pro'>
2196                    <strong><a href='${software_url}cart'  onClick="checkcartValue(event,this)" >Go To Cart</a></strong>
2197                </button>`);
2198            $('.addtoc_btn').html(`
2199                <button class='btn btn-main btn-block btn-pro'>
2200                    <strong><a href='${software_url}cart'  onClick="checkcartValue(event,this)">Go To Cart</a></strong>
2201                </button>`);
2202        } else if(via == 'webinar_live_new') {
2203            $(curr_obj).parents('.addtoCartBtnNew').html(`
2204                <button class='newBatchBookButton'>
2205                    <strong><a href='${software_url}cart' onClick="checkcartValue(event,this)" >Go To Cart</a></strong>
2206                </button>`);
2207            $('.addtoc_btn').html(`
2208                <button class='btn btn-main btn-block btn-pro'>
2209                    <strong><a href='${software_url}cart' onClick="checkcartValue(event,this)" >Go To Cart</a></strong>
2210                </button>`);
2211        } else if(via == 'kids-coding') {
2212            $(curr_obj).parents('.bannerButton').html(`<a href='${software_url}cart'><button>Go To Cart</button></a>`);
2213        } else {
2214            $(curr_obj).parents('.addcart_div').html(`
2215                <button class='btn btn-main btn-block btn-Pro'>
2216                    <strong><a href='${software_url}cart'>Go To Cart</a></strong>
2217                </button>`);
2218            $('.addtoCartBtnNew').html(`
2219                <button class='newBatchBookButton'>
2220                    <strong><a href='${software_url}cart'>Go To Cart</a></strong>
2221                </button>`);
2222            $('.addtoc_btn').html(`
2223                <button class='btn btn-main btn-block btn-Pro'>
2224                    <strong><a href='${software_url}cart'>Go To Cart</a></strong>
2225                </button>`);
2226            $('#continueShopButton').removeClass('dn');
2227            $('#div_paid').addClass('dn');
2228        }
2229        trackmetapixel('add_cart');
2230        var ids = "";
2231        if (module == 'bww') {
2232            ids = qwer;
2233            incart = '1';
2234        }
2235
2236        if(presale_group_id != ''){
2237            postData = {cid: cid, cpid: cpid, module: module, ids: ids, presale_group_id: presale_group_id, latch: latch}
2238        }else{
2239            postData = {cid: cid, cpid: cpid, module: module, ids: ids, latch: latch}
2240        }
2241        // var curr_click = ++clicks;
2242        $('#loaderLayerfile').removeClass('dn');
2243        $('.cart_dis').text(cart_count);
2244        $.ajax({
2245            method: "POST",
2246            url: software_url + "product/addtocart",
2247            //data: {cid: cid, cpid: cpid, module: module, ids: ids}
2248            data: postData
2249        })
2250                .done(function (data) {
2251                    //data = data.substr(3);
2252
2253                    var res = JSON.parse(data);
2254                    //alert(res.status);
2255                    if (res.status == 'success') {
2256                        //alert('success');                      
2257                        $('#cart_count').val(res.items_count);
2258                        if(chatgpt_new_page==='chatgpt_new_page'){
2259                            window.location = `${software_url}cart?chatgpt_new_page=1`;
2260                        }
2261                        update_headcart_list();
2262
2263                        // $.ajax({
2264                        //     method: "POST",
2265                        //     url: software_url + "product/netcoreData",
2266                        //     data: {cid: cid, cpid: cpid, module: module, ids: ids}
2267                        // }) .done(function (data) {
2268                        //     console.log(JSON.parse(data));
2269                        //     smartech('dispatch', 'Add to Cart', JSON.parse(data));
2270                        // });
2271                        
2272                    } else {
2273                        // alert('fail');
2274                        window.location = res.url;
2275                    }
2276                    // $('.cart_dis').text(data);                                
2277                });
2278    }
2279}
2280
2281//-----Author: Sagar Kodalkar---------------
2282function enrollNow(userid, product_id, module,redirect_url) {
2283    var newID = 'enroll'+product_id;
2284    $('#newID').html('Enrolling...');
2285    $.ajax({
2286        type: "POST",
2287        url: software_url + "product/addEnrollNow",
2288        data: {userid: userid, product_id: product_id, module: module},
2289        success: function(data){
2290            window.location.href = redirect_url;
2291        },
2292        error: function() { alert("Error Enroll Now."); }
2293    });
2294}
2295
2296function redirectTo(uri) {
2297    window.location.href = software_url + uri;
2298}
2299function redirectToCart(uri) {
2300    window.setTimeout(function(){
2301         window.location.href = software_url + uri;
2302
2303    }, 1000);
2304   
2305}
2306
2307function remove4mCart(curr_obj, cid, module, mar, price, cpn_name, rem_type, discount_type) {
2308    if (cid != '') {
2309        //var curr_click = ++clicks;
2310        cart_count = parseInt(cart_count) - 1;
2311//        if (rem_type == 'SL') {
2312//            var html = "<tr>" + $(curr_obj).closest('tr').html() + "</tr>";
2313//            var $tr = $('<div />', {html: html});
2314//            $tr.find('.C_rem').replaceWith("<a class='C_rem' onclick=\"remove4mSL(this, '" + cid + "','" + module + "')\">Remove</a>");
2315//            $tr.find('.C_action').replaceWith("<a class='C_action' onclick=\"SL_to_AC(this,'" + cid + "', '" + cpn_name + "', '" + module + "', '" + mar + "', '" + price + "')\" > Add to Cart </a>");
2316//            //$('#SL_div table > tbody > tr:first').before($tr.html());            
2317//            $($tr.html()).prependTo($("#SL_div table > tbody"));
2318//            $("#SL_div table > tbody .tr_emty").remove();
2319//        } else {
2320         $('#loaderLayerfile').removeClass('dn');
2321//        }
2322
2323        $(curr_obj).closest('tr').remove();
2324        var total_mar = $('#total_mar').text();
2325        var total = $('#total').text();
2326
2327        var new_total_mar = parseInt(total_mar) - parseInt(mar);
2328        var new_total = parseInt(total) - parseInt(price);
2329        $('#total_mar').text(new_total_mar);
2330        $('#total').text(new_total.toFixed(2));
2331        $('#you_save').text(parseInt(new_total_mar) - parseInt(new_total));
2332        $('.cart_dis').text(cart_count);
2333        $('#cart_item').text(cart_count);
2334
2335        updatePricesDivs(new_total);
2336
2337        if ($('#cart_count').val().trim() == 0) {
2338            $('#cart_div  table > tbody').html("<tr class='tr_emty'><td style='text-align:center'><img src='" + img_url + "empty_cart.png'  style='width:320px; height:250px; display:block; margin:auto;'/><p style='margin-left: 35px;margin-bottom: 0px;'>Your Shopping Cart is empty</p><h4 style='margin-top:0px;'><a href='" + software_url + "courses' class='btn btn-default btnShp' style='margin-left: 30px;'>Continue Shopping</a></h4></td></tr>");
2339            $('#div_pricing').addClass('dn');
2340            $('#list_div').removeClass('col-md-8').addClass('col-md-12');
2341        }
2342        //$('#loaderLayerfile').removeClass('dn');
2343        $.ajax({
2344            method: "POST",
2345            url: software_url + "product/remove4mCart",
2346            data: {cid: cid, module: module, rem_type: rem_type}
2347        })
2348                .done(function (data) {
2349//                    var cart_cnt = data.trim();
2350//                    if (cart_cnt == 0) {
2351//                        $('#list_div').html(`<div class="emptyCartContentWrap text-center" style="margin-top: 10px;">
2352//                                                <img src="${software_url+"assets/images/"}empty_cart.png" style="width:280px; height: 220px;"/>
2353//                                                <div class="continueShopping">
2354//                                                    <p style='margin-left: 35px;margin-bottom: 0px;'>Your Shopping Cart is empty</p>
2355//                                                    <h4 style='margin-top:0px;'><a href="${software_url+"courses"}" class="btn btn-default btnShp" style="margin-left: 30px;">Continue Shopping</a></h4>
2356//                                                </div> `);
2357//                        $('#div_pricing').addClass('dn');
2358//                        $('#list_div').removeClass('col-md-8').addClass('col-md-12')
2359//                        $('#list_div').removeClass('col-lg-8').addClass('col-lg-12');
2360//                    } else {
2361//                        $('#cart_count').val(cart_cnt);
2362//                    }
2363//                    update_headcart_list();
2364            
2365                    var res = JSON.parse(data);
2366                    var cart_cnt = res.item_cnt;
2367                    if (cart_cnt == 0) {
2368                        $('#list_div').html(`<div class="emptyCartContentWrap text-center" style="margin-top: 10px;">
2369                                                <img src="${img_url}empty_cart.png" style="width:280px; height: 220px;"/>
2370                                                <div class="continueShopping">
2371                                                    <p style='margin-left: 35px;margin-bottom: 0px;'>Your Shopping Cart is empty</p>
2372                                                    <h4 style='margin-top:0px;'><a href="${software_url+"courses"}" class="btn btn-default btnShp" style="margin-left: 30px;">Continue Shopping</a></h4>
2373                                                </div> `);
2374                        $('#div_pricing').addClass('dn');
2375                        $('#list_div').removeClass('col-md-8').addClass('col-md-12')
2376                        $('#list_div').removeClass('col-lg-8').addClass('col-lg-12');
2377                    } else {
2378                        $('#cart_count').val(cart_cnt);
2379                        if(res.via == 'cart_cpn'){
2380                            $('#cart_tb').html(res.cart_html);
2381                            $('#cpnModal').html(res.cart_avail_cpn);
2382                            $('#total_mar').text(res.total_mar);
2383                            $('#total').text(res.total.toFixed(2));
2384                            $('#you_save').text(res.you_save);
2385                            $('#sitewide_discount').text(res.sitewide_discount);
2386                            $('#total_ProductValue').text(res.total_ProductValue);
2387                            if(res.cashback_amt == 0 || res.total == 0){
2388								$('#cshbk_tr').addClass('dn');
2389                                $('#cashback_amt').addClass('dn');
2390                            }else{
2391								$('#cshbk_tr').removeClass('dn');
2392                                $('#cashback_amt').removeClass('dn');
2393                            }
2394                            $('#cashback_amt').text(res.cashback_amt.toFixed(2));
2395                            
2396                            if(res.cart_discount_amt > 0){
2397                                $('#cart_cpn_disc').removeClass('dn');
2398                                $('#cart_old_total').removeClass('dn');
2399                                $('#crt_old_total').html(res.old_cart_total.toFixed(2));
2400                                $('#crt_cpn_disct').html(res.cart_discount_amt.toFixed(2));
2401                                $('#bogo_subtotal').removeClass('dn');
2402                                if (res.new_cart_total) {
2403                                    $('#bogo_subtotaltValue').html(res.new_cart_total.toFixed(2));
2404                                }
2405                            }else{
2406                                $('#cart_cpn_disc').addClass('dn');
2407                                $('#cart_old_total').addClass('dn');
2408                                $('#bogo_subtotal').addClass('dn');
2409                            }
2410                            if(res.total_save_combo <= 0){
2411                                $('#combo_discount_div').addClass('dn');
2412                            }else{
2413                                $('#cart_old_total').removeClass('dn');
2414                                $('#crt_old_total').html(res.old_cart_total.toFixed(2));
2415                                $('#combo_discount').text(res.total_save_combo.toFixed(2));
2416                            }
2417                            if (res.freecourse_discount) {
2418                                $('#freecourse_discount').text(res.freecourse_discount);
2419                                $('#cart_old_total').removeClass('dn');
2420                                $('#crt_old_total').html(res.old_cart_total.toFixed(2));
2421                            } else {
2422                                $('#cart_old_total').addClass('dn');
2423                                $('#freecourse_discount_row').addClass('dn');
2424                            }
2425                            $('#remveCrtCode').addClass('dn');
2426                            $('#aplyCrtCode').removeClass('dn');
2427                            $("#conf_coupon").val("");
2428                            $("#conf_coupon").removeAttr("disabled");
2429                            $("#available_cpn").removeClass("dn");
2430                            // if (res.sitewide_discount <= 0) {
2431                            //     $('#sitewide_cpn_disc').addClass('dn');
2432                            //     $('#cart_old_total').addClass('dn');
2433                            // } else {
2434                            //     $('#cart_old_total').removeClass('dn');
2435                            //     $('#sitewide_cpn_disc').removeClass('dn');
2436                            //     $('#sitewide_cpn_disct').text(res.sitewide_discount.toFixed(2));
2437                            // }
2438                            updateapplied_cpn_crt(res.applied_cpn, '', res.auto_cpn_arr, res.existPresale, res.total_save_combo, res.country, res.gift_slot, res.sale_type);
2439                            updatePricesDivs(res.total);
2440                            //$('#loaderLayerfile').addClass('dn');
2441                        }
2442                        if (discount_type == 'bogo') {
2443                            updateapplied_cpn_crt(res.applied_cpn, '', res.auto_cpn_arr, res.existPresale, res.total_save_combo, res.country, res.gift_slot, res.sale_type, discount_type);
2444                        }
2445                    }
2446                    if (!res.cart_promote_view) {
2447                        $('#cart_promote').html("");
2448                    } else {
2449                        $('#cart_promote').html(res.cart_promote_view);
2450                    }
2451                    if (res.show_offerslot == 1){
2452                        $('#offerslot_card').removeClass('dn');
2453                    } else {
2454                        $('#offerslot_card').addClass('dn');
2455                    }
2456
2457                    update_headcart_list();
2458
2459                    update_wintersale_gifts(res.winterSaleFlag);
2460
2461                    //update_panels(curr_click);
2462                    $('#loaderLayerfile').addClass('dn');
2463                     // $.ajax({
2464                     //        method: "POST",
2465                     //        url: software_url + "product/netcoreData",
2466                     //        data: {cid: cid, module: module}
2467                     //    }) .done(function (data) {
2468                     //           var result = JSON.parse(data);
2469                     //           result.items[0].prqt = -1;
2470                     //        console.log(result);
2471                     //        smartech('dispatch', 'Remove from Cart',result);
2472                     //    });
2473
2474                });
2475    }
2476    if (localStorage.getItem("metapixeltrack") != ''){
2477        localStorage.removeItem('metapixeltrack');
2478    }
2479}
2480
2481function updatePricesDivs(new_total) {
2482    prices = this.calculateTaxes(new_total);
2483    $('#subtotal').text(prices.subtotal);
2484    $('#gst').text(prices.gst);
2485}
2486
2487function calculateTaxes(total) {
2488    var gst = Math.round((total * 18) / 118);
2489    return {
2490        gst: gst,
2491        subtotal: (total - gst).toFixed(2)
2492    }
2493}
2494
2495function updateapplied_cpn_crt(new_list, app_filt, auto_cpn_arr, exitpresale = '', total_save_combo = '', country = '', gift_slot = '', sale_type = '', discount_type = ''){
2496    var cpn_html = '';
2497    var shw_all = 'dn';
2498    if(app_filt != ''){
2499       shw_all = '';
2500    }
2501    if (sale_type == 'default_revert') {
2502        if (country == 'India') {
2503            var coupn_applied = '20';
2504        } else if (country == 'United States'){
2505            var coupn_applied = '20';
2506        } else {
2507            var coupn_applied = '20';
2508        }
2509    } else {
2510        if (country == 'India') {
2511            var coupn_applied = '80';
2512        } else if (country == 'United States'){
2513            var coupn_applied = '80';
2514        } else {
2515            var coupn_applied = '80';
2516        }
2517    }
2518    var size = Object.keys(new_list).length;
2519    if(size > 0){
2520        if (discount_type == 'bogo') {
2521            cpn_html = '<div class="card dashBorder"><div><span>Offers Availed :</span><span class="float-right shw_all_cpn '+shw_all+'"><a style="color: #337ab7;" onclick="view_all_cartcpn();">View All Coupons</a></span></div><ul>';
2522            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b>Buy 1 Get 1 Discount</b> is applied</span> &nbsp;&nbsp;</li>';
2523        } else {
2524            cpn_html = '<div class="card dashBorder"><div><span>Offers Availed :</span><span class="float-right shw_all_cpn '+shw_all+'"><a style="color: #337ab7;" onclick="view_all_cartcpn();">View All Coupons</a></span></div><ul>';
2525            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b>Flat '+ coupn_applied +'% Discount</b> is applied</span> &nbsp;&nbsp;</li>';
2526        }
2527        if (exitpresale == 'Yes') {
2528            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b>Early Bird Offer</b> is applied</span> &nbsp;&nbsp;</li>';
2529        }
2530        if (total_save_combo != '') {
2531            // cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b>Combo Offer</b> is applied</span> &nbsp;&nbsp;</li>';
2532        }
2533        $.each( new_list, function( key, value ) {
2534            var app_key = '';
2535            if(app_filt != key && app_filt != ''){
2536                app_key = 'dn';
2537            }
2538            var auto_key = 1;
2539            if(key in auto_cpn_arr){
2540                auto_key = 2;
2541            }
2542            
2543            cpn_html += '<li id="cli_'+ key +'" class="shw_cpn_li '+app_ke
2543y+'"><span class="cursPt" onclick="cart_cpn_filter('+ key +');"><b>'+ value +'</b> is applied</span> &nbsp;&nbsp;<span onclick="remove_coup_cart(this, \'RA\', \'\', \'\', \'\', \'all\', '+ key +', '+ auto_key +');" class="cursPt cross_delt"><b>x</b></span></li>';
2544            
2545        });
2546        if (country == 'India' && gift_slot == 1) {
2547            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b><b>Your Gift:<br/> Gift 1 Free Voucher Worth ₹500</b></span> &nbsp;&nbsp;</li>';
2548        }
2549        if (country == 'India' && gift_slot == 2) {
2550            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b><b>Your Gift:<br/> Gift 2 Free Voucher Worth ₹2000</b></span> &nbsp;&nbsp;</li>';
2551        }
2552        if (country == 'India' && gift_slot == 3) {
2553            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b><b>Your Gift:<br/> Gift 3 Free Voucher Worth ₹3500</b></span> &nbsp;&nbsp;</li>';
2554        }
2555        cpn_html += '</ul></div>';
2556    } 
2557    else {
2558        if (discount_type == 'bogo') {
2559            cpn_html = '<div class="card dashBorder"><div><span>Offers Availed :</span><span class="float-right shw_all_cpn '+shw_all+'"><a style="color: #337ab7;" onclick="view_all_cartcpn();">View All Coupons</a></span></div><ul>';
2560            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b>Buy 1 Get 1 Discount</b> is applied</span> &nbsp;&nbsp;</li>';
2561        } else {
2562            cpn_html = '<div class="card dashBorder"><div><span>Offers Availed :</span><span class="float-right shw_all_cpn '+shw_all+'"><a style="color: #337ab7;" onclick="view_all_cartcpn();">View All Coupons</a></span></div><ul>';
2563            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b>Flat '+ coupn_applied +'% Discount</b> is applied</span> &nbsp;&nbsp;</li>';
2564        }
2565        if (exitpresale == 'Yes') {
2566            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b>Early Bird Offer</b> is applied</span> &nbsp;&nbsp;</li>';
2567        }
2568        if (total_save_combo != '') {
2569            // cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b>Combo Offer</b> is applied</span> &nbsp;&nbsp;</li>';
2570        }
2571        if (country == 'India' && gift_slot == 1) {
2572            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b><b>Your Gift:<br/> Gift 1 Free Voucher Worth ₹500</b></span> &nbsp;&nbsp;</li>';
2573        }
2574        if (country == 'India' && gift_slot == 2) {
2575            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b><b>Your Gift:<br/> Gift 2 Free Voucher Worth ₹2000</b></span> &nbsp;&nbsp;</li>';
2576        }
2577        if (country == 'India' && gift_slot == 3) {
2578            cpn_html += '<li id="cli_" class="shw_cpn_li"><span class="cursPt"><b><b>Your Gift:<br/> Gift 3 Free Voucher Worth ₹3500</b></span> &nbsp;&nbsp;</li>';
2579        }
2580        cpn_html += '</ul></div>';
2581    }
2582    $('.applied_cpn_crt').html(cpn_html);
2583}
2584
2585function cart_cpn_filter(cpn_id){
2586    $('.shw_cpn_tr').addClass('dn');
2587    $('.cpn_' + cpn_id).removeClass('dn');
2588    $('.shw_all_cpn').removeClass('dn');
2589    $('.shw_cpn_li').addClass('dn');
2590    $('#cli_' + cpn_id).removeClass('dn');
2591}
2592
2593function view_all_cartcpn(){
2594    $('.shw_all_cpn').addClass('dn');
2595    $('.shw_cpn_tr').removeClass('dn');
2596    $('.shw_cpn_li').removeClass('dn');
2597}
2598
2599function remove4mCart_bogo(curr_obj, cid, module, mar, price, cpn_name, rem_type) {
2600
2601    if (cid != '') {
2602        //var curr_click = ++clicks;
2603        cart_count = parseInt(cart_count) - 1;
2604//        if (rem_type == 'SL') {
2605//            var html = "<tr>" + $(curr_obj).closest('tr').html() + "</tr>";
2606//            var $tr = $('<div />', {html: html});
2607//            $tr.find('.C_rem').replaceWith("<a class='C_rem' onclick=\"remove4mSL(this, '" + cid + "','" + module + "')\">Remove</a>");
2608//            $tr.find('.C_action').replaceWith("<a class='C_action' onclick=\"SL_to_AC(this,'" + cid + "', '" + cpn_name + "', '" + module + "', '" + mar + "', '" + price + "')\" > Add to Cart </a>");
2609//            //$('#SL_div table > tbody > tr:first').before($tr.html());            
2610//            $($tr.html()).prependTo($("#SL_div table > tbody"));
2611//            $("#SL_div table > tbody .tr_emty").remove();
2612//        } else {
2613        // $('#loaderLayerfile').removeClass('dn');
2614//        }
2615        $('#loaderLayerfile').removeClass('dn');
2616        // $(curr_obj).closest('tr').remove();
2617//        var total_mar = $('#total_mar').text();
2618//        var total = $('#total').text();
2619//
2620//        var new_total_mar = parseInt(total_mar) - parseInt(mar);
2621//        var new_total = parseInt(total) - parseInt(price);
2622
2623//        $('#total_mar').text(new_total_mar);
2624//        $('#total').text(new_total);
2625//        $('#you_save').text(parseInt(new_total_mar) - parseInt(new_total));
2626        $('.cart_dis').text(cart_count);
2627        $('#cart_item').text(cart_count);
2628
2629        if ($('#cart_count').val().trim() == 0) {
2630            $('#cart_div  table > tbody').html("<tr class='tr_emty'><td style='text-align:center'><img src='" + img_url + "empty_cart.png'  style='width:320px; height:250px; display:block; margin:auto;'/><p style='margin-left: 35px;margin-bottom: 0px;'>Your Shopping Cart is empty</p><h4 style='margin-top:0px;'><a href='" + software_url + "courses' class='btn btn-default btnShp' style='margin-left: 30px;'>Continue Shopping</a></h4></td></tr>");
2631            $('#div_pricing').addClass('dn');
2632            $('#list_div').removeClass('col-md-8 col-lg-8').addClass('col-md-12');
2633        }
2634        //$('#loaderLayerfile').removeClass('dn');
2635        $.ajax({
2636            method: "POST",
2637            url: software_url + "product/remove4mCart",
2638            data: {cid: cid, module: module, rem_type: rem_type}
2639        })
2640                .done(function (data) {
2641                    var res = JSON.parse(data);
2642                    if (res.cart_count == 0) {
2643                        $('#list_div').find("#cart_div").remove();
2644                        $('#list_div').append(`<div class="emptyCartContentWrap text-center" style="margin-top: 10px;">
2645                                                <img src="${img_url}empty_cart.png" style="width:280px; height: 220px;"/>
2646                                                <div class="continueShopping">
2647                                                    <p style='margin-left: 35px;margin-bottom: 0px;'>Your Shopping Cart is empty</p>
2648                                                    <h4 style='margin-top:0px;'><a href="${software_url+"courses"}" class="btn btn-default btnShp" style="margin-left: 30px;">Continue Shopping</a></h4>
2649                                                </div> `);
2650                        $('#div_pricing').addClass('dn');
2651                        $('#list_div').removeClass('col-md-8 col-lg-8').addClass('col-md-12');
2652                    } else {
2653                        $('#cart_count').val(res.cart_count);
2654                    }
2655
2656
2657                    $('#cart_tb').html(res.cart_html);
2658                    $('#total_mar').text(res.total_mar);
2659                    $('#total').text(res.total.toFixed(2));
2660                    $('#you_save').text(res.you_save);
2661                    $('#sitewide_discount').text(res.sitewide_discount);
2662                    $('#total_ProductValue').text(res.total_ProductValue);
2663                    if(res.cashback_amt == 0 || res.total == 0){
2664						$('#cshbk_tr').addClass('dn');
2665                        $('#cashback_amt').addClass('dn');
2666                    }else{
2667						$('#cshbk_tr').removeClass('dn');
2668                        $('#cashback_amt').removeClass('dn');
2669                    }
2670                    $('#cashback_amt').text(res.cashback_amt.toFixed(2));
2671                    // $(curr_obj).closest('tr').remove();
2672//                    $('#total').text(total);
2673//                    $('#you_save').text(parseInt(total_mar) - parseInt(total));                    
2674                    $('#loaderLayerfile').addClass('dn');
2675                    update_headcart_list();
2676                });
2677    }
2678}
2679function apply_coup_cart_infi(curr_obj,pnm,msgo) {
2680   var conf_coupon_infi_get = $("#conf_coupon_infi").val();
2681    $(".coup_msg").html("");
2682    $(".coup_msg").removeAttr("style"); 
2683    if ($("#conf_coupon_infi").val() === '')
2684    {
2685      
2686        $('.group input').addClass('errBdr');
2687        $('.errBar').addClass('errField');
2688        if($(curr_obj).attr('id') == "aplyCrtCodeInfi")
2689        {
2690            $('.divEmptyCode').show();
2691            setTimeout(function () {
2692                $('.divEmptyCode').fadeOut("slow", function () {
2693                });
2694            }, 4000);
2695           
2696        }
2697        return;
2698        }else  {
2699            $('.group input').removeClass('errBdr');
2700            $('.errBar').removeClass('errField');
2701        
2702            $('#loaderLayerfile').removeClass('dn');
2703        }
2704            $.ajax({
2705                method: "POST",
2706                url: software_url + "infiniti/apply_coup_infi",
2707                data: {coupon_name: $("#conf_coupon_infi").val(),plan: $("#coupon_plan").val()}
2708            })
2709            .done(function (data) {
2710                var res = JSON.parse(data);
2711                console.log(res);
2712                if(res.cpn_msg_n == 1){
2713                    $('#cpn_ack_infi').text('This type of coupon is already used').removeClass('red').addClass('red').removeClass('dn');
2714                }else if (res.applied_coupon && res.cpn_msg == 'success' && res.Products != 'pass' && msgo != '96') {
2715                    $('#coupon_applied').val(res.applied_coupon);
2716                    $('#cbpn').val(res.applied_coupon);
2717                    $('#cbpn1').val(res.applied_coupon);
2718                    $("#conf_coupon_infi").attr("disabled", "disabled");
2719                    $('#desc_p').text(res.msg); 
2720                    if(res.cut == 1){
2721                        $('#plnprc').addClass('strk');
2722                        $('#pnm').text(res.msg_head+pnm); 
2723                    }else{
2724                        $('#pnm').text(pnm+'('+res.desc+')');
2725                        $('#note_d').text(res.note_d); 
2726                    }                
2727                    $("#remveCrtCodeInfi").removeAttr("disabled");
2728                    $('#aplyCrtCodeInfi').addClass('dn');
2729                    $('#remveCrtCodeInfi').removeClass('dn');
2730                    $('#cpn_ack_infi').css("display", "block"); 
2731                    $('#cpn_ack_infi').text(res.applied_coupon+' Coupon applied successfully').removeClass('red').addClass('green').removeClass('dn');
2732                    
2733                }else if (res.applied_coupon && res.cpn_msg == 'success' && res.Products == 'pass' &&  res.type !='percentage') {
2734                    $('#coupon_applied').val(res.applied_coupon);
2735                    $('#cbpn').val(res.applied_coupon);
2736                    $('#cbpn1').val(res.applied_coupon);
2737                    $("#conf_coupon_infi").attr("disabled", "disabled");
2738                    // $('#desc_p').text(res.msg); 
2739                    if(res.cut == 1){
2740                        $('#plnprc').addClass('strk');
2741                        // $('#pnm').text(res.msg_head+pnm); 
2742                    }else{
2743                        // $('#pnm').text(pnm+'('+res.desc+')');
2744                        $('#note_d').text(res.note_d); 
2745                    }                
2746                    $("#remveCrtCodeInfi").removeAttr("disabled");
2747                    $('#aplyCrtCodeInfi').addClass('dn');
2748                    $('#remveCrtCodeInfi').removeClass('dn');
2749                    $('#cpn_ack_infi').css("display", "block"); 
2750
2751                    $('.payment_hourly_pass_cpn').css("display", "none");
2752                    $('#hourly_pass_price').addClass('strk');
2753                    $('#IDFC_free_text').css("display", "block");
2754                    $('#IDFC_free_text').text('Free'); 
2755                    // $('#hourly_pass_price').css("display", "none");
2756                    $('#paypal_msg_hourly_pass').css("display", "none");
2757                    $('.free_pass_hourly_coupon').css("display", "block");
2758
2759                    $('.coupon_hrs_pass').val(conf_coupon_infi_get);
2760
2761
2762                    $('#cpn_ack_infi').text(res.applied_coupon+' Coupon applied successfully').removeClass('red').addClass('green').removeClass('dn');
2763                    
2764                }else if(res.applied_coupon && res.cpn_msg == 'success' && res.Products == 'pass' && res.type =='percentage'){
2765                    $('#coupon_applied').val(res.applied_coupon);
2766                    $('#cbpn').val(res.applied_coupon);
2767                    $('#cbpn1').val(res.applied_coupon);
2768                    $("#conf_coupon_infi").attr("disabled", "disabled");
2769                    // $('#desc_p').text(res.msg); 
2770                    if(res.cut == 1){
2771                        $('#hourly_pass_price').addClass('strk');
2772                        // $('#pnm').text(res.msg_head+pnm); 
2773                    }else{
2774                        // $('#pnm').text(pnm+'('+res.desc+')');
2775                        $('#note_d').text(res.note_d); 
2776                    }                
2777                    $("#remveCrtCodeInfi").removeAttr("disabled");
2778                    $('#aplyCrtCodeInfi').addClass('dn');
2779                    $('#remveCrtCodeInfi').removeClass('dn');
2780                    $('#cpn_ack_infi').css("display", "block"); 
2781
2782                    $('.payment_hourly_pass_cpn').css("display", "none");
2783                    $('#hourly_pass_price').addClass('strk');
2784                    $('#IDFC_free_text').css("display", "block");
2785                    $('#IDFC_free_text').text('Free'); 
2786                    $('#paypal_msg_hourly_pass').css("display", "none");
2787                    $('.free_pass_hourly_coupon').css("display", "block");
2788                    $('.coupon_hrs_pass').val(conf_coupon_infi_get);
2789
2790                    $('#cpn_ack_infi').text(res.applied_coupon+' Coupon applied successfully').removeClass('red').addClass('green').removeClass('dn');
2791                }else if(msgo == '96' && res.applied_coupon && res.cpn_msg == 'success' && res.Products != 'pass'){
2792                    $('#coupon_applied').val(res.applied_coupon);
2793                    $('#cbpn').val(res.applied_coupon);
2794                    $('#cbpn1').val(res.applied_coupon);
2795                    $("#conf_coupon_infi").attr("disabled", "disabled");
2796                    $('#desc_p').text(res.msg); 
2797                    if(res.cut == 1){
2798                        $('#plnprc').addClass('strk');
2799                        // $('#pnm').text(res.msg_head+pnm); 
2800                    }else{
2801                        // $('#pnm').text(pnm+'('+res.desc+')');
2802                        $('#note_d').text(res.note_d); 
2803                    }                
2804                    $('.coupon_hrs_passHDFC').val(conf_coupon_infi_get);
2805                    $("#remveCrtCodeInfi").removeAttr("disabled");
2806                    $('#aplyCrtCodeInfi').addClass('dn');
2807                    $('#remveCrtCodeInfi').removeClass('dn');
2808                    $('#cpn_ack_infi').css("display", "block"); 
2809                    $('#cpn_ack_infi').text(res.applied_coupon+' Coupon applied successfully').removeClass('red').addClass('green').removeClass('dn');
2810                }else{ 
2811                    $('#cpn_ack_infi').show();
2812                    setTimeout(function () {
2813                        $('#cpn_ack_infi').fadeOut("slow", function () {
2814                        });
2815                    }, 4000);
2816                    $('#cpn_ack_infi').text(res.cpn_msg).removeClass('green').addClass('red').removeClass('dn');
2817                 
2818                    
2819                }
2820            });
2821
2822        return;
2823    }
2824
2825    //Apply 50% coupon for freecharge customers for all prepaid and postpaid plans
2826    function apply_coup_cart_infi_freecharge(curr_obj,pnm,msgo) {
2827        var conf_coupon_infi_get = $("#conf_coupon_infi").val();
2828    $(".coup_msg").html("");
2829    $(".coup_msg").removeAttr("style"); 
2830    if ($("#conf_coupon_infi").val() === '')
2831    {
2832      
2833        $('.group input').addClass('errBdr');
2834        $('.errBar').addClass('errField');
2835        if($(curr_obj).attr('id') == "aplyCrtCodeInfi")
2836        {
2837            $('.divEmptyCode').show();
2838            setTimeout(function () {
2839                $('.divEmptyCode').fadeOut("slow", function () {
2840                });
2841            }, 4000);
2842           
2843        }
2844        return;
2845        }else  {
2846            $('.group input').removeClass('errBdr');
2847            $('.errBar').removeClass('errField');
2848        
2849            $('#loaderLayerfile').removeClass('dn');
2850        }
2851            $.ajax({
2852                method: "POST",
2853                url: software_url + "infiniti/apply_coup_infi_freecharge",
2854                data: {coupon_name: $("#conf_coupon_infi").val(),plan: $("#coupon_plan").val()}
2855            })
2856            .done(function (data) {
2857                var res = JSON.parse(data);
2858                console.log(res);
2859                if(res.cpn_msg_n == 1){
2860                    $('#cpn_ack_infi').text('This type of coupon is already used').removeClass('red').addClass('red').removeClass('dn');
2861                }else if (res.applied_coupon && res.cpn_msg == 'success') {
2862                    $('#coupon_applied').val(res.applied_coupon);
2863                    $('#cbpn').val(res.applied_coupon);
2864                    $('#cbpn1').val(res.applied_coupon);
2865                    $("#conf_coupon_infi").attr("disabled", "disabled");
2866                    $('#desc_p').text(res.msg); 
2867                    if(res.cut == 1){
2868                        $('#hourly_pass_price').addClass('strk');
2869                        $('#hourly_pass_price_discount').text(res.msg_head+
2869pnm); 
2870                        $('#discounted_amount').text(res.msg); 
2871                    }else{
2872                        $('#pnm').text(pnm+'('+res.desc+')');
2873                        $('#note_d').text(res.note_d); 
2874                    }                
2875                    $("#remveCrtCodeInfi").removeAttr("disabled");
2876                    $('#aplyCrtCodeInfi').addClass('dn');
2877                    $('#remveCrtCodeInfi').removeClass('dn');
2878                    $('#cpn_ack_infi').css("display", "block"); 
2879                    $('#cpn_ack_infi').text(res.applied_coupon+' Coupon applied successfully').removeClass('red').addClass('green').removeClass('dn');
2880                    
2881                }else{ 
2882                    $('#cpn_ack_infi').show();
2883                    setTimeout(function () {
2884                        $('#cpn_ack_infi').fadeOut("slow", function () {
2885                        });
2886                    }, 4000);
2887                    $('#cpn_ack_infi').text(res.cpn_msg).removeClass('green').addClass('red').removeClass('dn');
2888                 
2889                    
2890                }
2891            });
2892
2893        return;
2894    }
2895
2896function remove_coup_infi(curr_obj,pnm,msg) {
2897    if ($('#coupon_applied').val() != '') {
2898        cpn_id = $('#coupon_applied').val();
2899        $('#conf_coupon_infi').val('');
2900    }
2901    var hourly_pass_priceHDFC = $("#hourly_pass_priceHDFC").val();
2902    if (cpn_id != '') {
2903        loading($(curr_obj), '');
2904        //   var total_mar = $('#total_mar').text();
2905        //  var total = $('#total').text();
2906        //  var act_total = parseInt(total) - parseInt(price);
2907        $('#loaderLayerfile').removeClass('dn');
2908        $.ajax({
2909            method: "POST",
2910            url: software_url + "infiniti/remove_coup_infi",
2911            data: {cid: cpn_id,plan: $("#coupon_plan").val()}
2912        })
2913                .done(function (data) {
2914                    var res = JSON.parse(data);
2915                    console.log(res);
2916                    if (res.cpn_msg == 'success' && res.type !='pass' &&  res.type !='percentage' && msg != '96') {
2917                        $('#coupon_applied').val('');
2918                        $('#cbpn').val('');
2919                        $("#conf_coupon_infi").removeAttr("disabled");
2920                        $('#aplyCrtCodeInfi').removeClass('dn');
2921                        $('#remveCrtCodeInfi').addClass('dn');
2922                        $('#cpn_ack_infi').addClass('dn');
2923                        $('#plnprc').removeClass('strk');
2924                        $('#pnm').text(pnm);
2925                        $('#desc_p').text(msg);
2926                        $("#remveCrtCodeInfi").removeAttr("enabled");
2927                        $('#cpn_ack_infi').css("display", "none"); 
2928                        if(res.r_note == 1){
2929                            $('#note_d').text('');
2930                        }
2931                        
2932                    }else if(res.cpn_msg == 'success' && res.type =='pass' &&   res.type !='percentage'){
2933                        $('#coupon_applied').val('');
2934                        $('#cbpn').val('');
2935                        $("#conf_coupon_infi").removeAttr("disabled");
2936                        $('#aplyCrtCodeInfi').removeClass('dn');
2937                        $('#remveCrtCodeInfi').addClass('dn');
2938                        $('#cpn_ack_infi').addClass('dn');
2939                        $('#plnprc').removeClass('strk');
2940                        $('#pnm').text("Infiniti Pass - "+pnm);
2941                        $('#desc_p').text(msg);
2942                        $("#remveCrtCodeInfi").removeAttr("enabled");
2943                        $('#cpn_ack_infi').css("display", "none"); 
2944                        $('#hourly_pass_price').removeClass('strk');
2945                        $('.payment_hourly_pass_cpn').css("display", "block");
2946                        $('#hourly_pass_price').css("display", "block");
2947                        $('#paypal_msg_hourly_pass').css("display", "block");
2948                        $('.free_pass_hourly_coupon').css("display", "none");
2949                        $('#IDFC_free_text').css("display", "none");
2950
2951                        if(res.r_note == 1){
2952                            $('#note_d').text('');
2953                        }
2954                    }else if (res.cpn_msg == 'success' && res.type =='percentage') {
2955                        $('#coupon_applied').val('');
2956                        $('#cbpn').val('');
2957                        $("#conf_coupon_infi").removeAttr("disabled");
2958                        $('#aplyCrtCodeInfi').removeClass('dn');
2959                        $('#remveCrtCodeInfi').addClass('dn');
2960                        $('#cpn_ack_infi').addClass('dn');
2961                        $('#plnprc').removeClass('strk');
2962                        $('#hourly_pass_price').removeClass('strk');
2963                        $('#pnm').text("Infiniti Pass - "+pnm);
2964                        $('#desc_p').text(msg);
2965                        $("#remveCrtCodeInfi").removeAttr("enabled");
2966                        $('#cpn_ack_infi').css("display", "none"); 
2967
2968
2969                        $('.payment_hourly_pass_cpn').css("display", "block");
2970                        $('#hourly_pass_price').css("display", "block");
2971                        $('#paypal_msg_hourly_pass').css("display", "block");
2972                        $('.free_pass_hourly_coupon').css("display", "none");
2973                        $('#IDFC_free_text').css("display", "none");
2974                        if(res.r_note == 1){
2975                            $('#note_d').text('');
2976                        }
2977                        
2978                    }else if(msg == '96' && res.cpn_msg == 'success' && res.type !='pass' &&  res.type !='percentage'){
2979                        $('#coupon_applied').val('');
2980                        $('#cbpn').val('');
2981                        $("#conf_coupon_infi").removeAttr("disabled");
2982                        $('#aplyCrtCodeInfi').removeClass('dn');
2983                        $('#remveCrtCodeInfi').addClass('dn');
2984                        $('#cpn_ack_infi').addClass('dn');
2985                        $('#plnprc').removeClass('strk');
2986                        $('#pnm').text("Infiniti Pass - "+pnm);
2987                        $('#HDFCPrice').text(hourly_pass_priceHDFC);
2988                        $('#desc_p').text(msg);
2989                        $("#remveCrtCodeInfi").removeAttr("enabled");
2990                        $('#cpn_ack_infi').css("display", "none"); 
2991                        $('.coupon_hrs_passHDFC').html('');
2992                        if(res.r_note == 1){
2993                            $('#note_d').text('');
2994                        }
2995                    }else{ 
2996                        $('#cpn_ack_infi').text(res.cpn_msg).removeClass('green').addClass('red').removeClass('dn');
2997                    }
2998                 
2999                  
3000                 
3001                });
3002    }
3003}
3004    
3005//function remove coupon cart infi for freecharge customers for prepaid and postpaid
3006function remove_coup_infi_freecharge(curr_obj,pnm,msg) {
3007    if ($('#coupon_applied').val() != '') {
3008        cpn_id = $('#coupon_applied').val();
3009        $('#conf_coupon_infi').val('');
3010    }
3011    var hourly_pass_priceHDFC = $("#hourly_pass_priceHDFC").val();
3012    if (cpn_id != '') {
3013        loading($(curr_obj), '');
3014        //   var total_mar = $('#total_mar').text();
3015        //  var total = $('#total').text();
3016        //  var act_total = parseInt(total) - parseInt(price);
3017        $('#loaderLayerfile').removeClass('dn');
3018        $.ajax({
3019            method: "POST",
3020            url: software_url + "infiniti/remove_coup_infi_freecharge",
3021            data: {cid: cpn_id,plan: $("#coupon_plan").val()}
3022        })
3023                .done(function (data) {
3024                    var res = JSON.parse(data);
3025                    console.log(res);
3026                    if (res.cpn_msg == 'success') {
3027                        $('#coupon_applied').val('');
3028                        $('#cbpn').val('');
3029                        $("#conf_coupon_infi").removeAttr("disabled");
3030                        $('#aplyCrtCodeInfi').removeClass('dn');
3031                        $('#remveCrtCodeInfi').addClass('dn');
3032                        $('#cpn_ack_infi').addClass('dn');
3033                        $('#plnprc').removeClass('strk');
3034                        // $('#pnm').text(pnm);
3035                        $('#desc_p').text(msg);
3036                        $("#remveCrtCodeInfi").removeAttr("enabled");
3037                        $('#cpn_ack_infi').css("display", "none"); 
3038                        if(res.r_note == 1){
3039                            $('#hourly_pass_price_discount').text('');
3040                            $('#discounted_amount').text('');
3041                            $('#hourly_pass_price').removeClass('strk');
3042                            $('#note_d').text('');
3043                        }
3044                        
3045                    }else{ 
3046                        $('#cpn_ack_infi').text(res.cpn_msg).removeClass('green').addClass('red').removeClass('dn');
3047                    }
3048                 
3049                  
3050                 
3051                });
3052    }
3053}
3054
3055function apply_coup_cart(curr_obj, discount_type) {
3056    $(".coup_msg").html("");
3057    $(".coup_msg").removeAttr("style");
3058    if ($("#conf_coupon").val() === '')
3059    {
3060        $('.group input').addClass('errBdr');
3061        $('.errBar').addClass('errField');
3062        if($(curr_obj).attr('id') == "aplyCrtCode")
3063        {
3064            $('.divEmptyCode').show();
3065            setTimeout(function () {
3066                $('.divEmptyCode').fadeOut("slow", function () {
3067                });
3068            }, 4000);
3069        }
3070
3071        return;
3072    } else
3073    {
3074        $('.group input').removeClass('errBdr');
3075        $('.errBar').removeClass('errField');
3076    
3077        $('#loaderLayerfile').removeClass('dn');
3078        }
3079    
3080    $.ajax({
3081        method: "POST",
3082        url: software_url + "product/apply_coup_cart",
3083        data: {coupon_name: $("#conf_coupon").val()}
3084    })
3085            .done(function (data) {
3086                var res = JSON.parse(data);
3087                $('#cart_tb').html(res.cart_html);
3088                $('#cpnModal').html(res.cart_avail_cpn);
3089                $('#total_mar').text(res.total_mar);
3090                $('#total').text(res.total.toFixed(2));
3091                $('#you_save').text(res.you_save);
3092        
3093                if(res.cashback_amt == 0 || res.total == 0){
3094					$('#cshbk_tr').addClass('dn');
3095                    $('#cashback_amt').addClass('dn');
3096                }else{
3097					$('#cshbk_tr').removeClass('dn');
3098                    $('#cashback_amt').removeClass('dn');
3099                }
3100        
3101                $('#cashback_amt').text(res.cashback_amt.toFixed(2));
3102        
3103                $('#cart_cpn_disc').addClass('dn');
3104                //$('#cart_old_total').addClass('dn');
3105                if(res.cart_discount_amt > 0){
3106                    $('#cart_cpn_disc').removeClass('dn');
3107                    $('#cart_old_total').removeClass('dn');
3108                    $('#crt_old_total').html(res.old_cart_total.toFixed(2));
3109                    $('#combo_discount').html(res.total_save_combo.toFixed(2));
3110                    $('#crt_cpn_disct').html(res.cart_discount_amt.toFixed(2));
3111                    $('#bogo_subtotal').removeClass('dn');
3112                    if (res.new_cart_total) {
3113                        $('#bogo_subtotaltValue').html(res.new_cart_total.toFixed(2));
3114                    }
3115                }
3116                if (!res.cart_promote_view) {
3117                    $('#cart_promote').html("");
3118                } else {
3119                    $('#cart_message').removeClass('dn');
3120                    $('#cart_promote').html(res.cart_promote_view);
3121                }
3122                $('#cart_old_total').removeClass('dn');
3123                if (res.cpn_msg == 'success') {
3124                    $('#aplyCrtCode').addClass('dn');
3125                    $('#remveCrtCode').removeClass('dn');
3126                }
3127                if (res.applied_coupon && res.cpn_msg == 'success') {
3128                    $('#coupon_applied').val(res.applied_coupon);
3129                    $("#conf_coupon").attr("disabled", "disabled");
3130                    $("#remveCrtCode").removeAttr("disabled");
3131                    $("#available_cpn").addClass("dn");
3132                }
3133                // if (res.sitewide_discount <= 0) {
3134                //     $('#sitewide_cpn_disc').addClass('dn');
3135                //     $('#cart_old_total').addClass('dn');
3136                // } else {
3137                //     $('#cart_old_total').removeClass('dn');
3138                //     $('#sitewide_cpn_disc').removeClass('dn');
3139                //     $('#sitewide_cpn_disct').text(res.sitewide_discount.toFixed(2));
3140                // }
3141                updateapplied_cpn_crt(res.applied_cpn, '', res.auto_cpn_arr, res.existPresale, res.total_save_combo, res.country, res.gift_slot, res.sale_type, discount_type);
3142                updatePricesDivs(res.total);
3143                $('#loaderLayerfile').addClass('dn');
3144
3145                if (res.cpn_msg == 'success') {
3146                    $('#cpn_ack').text('Coupon applied successfully').removeClass('red').addClass('green');
3147                    if (res.prev_applied_coupon && res.new_applied_coupon) {
3148                        var replace_msg1 = "Removed " + res.prev_applied_coupon;
3149                        var replace_msg2 = "Applied " + res.new_applied_coupon;
3150                        $('#cpn_replace1').text(replace_msg1).removeClass('red').addClass('red');
3151                        $('#cpn_replace1').fadeIn(500);
3152                        $('#cpn_replace2').text(replace_msg2).removeClass('red').addClass('green');
3153                        $('#cpn_replace2').fadeIn(500);
3154                        setTimeout(function () {
3155                            $('#cpn_replace1').fadeOut("slow", function () {
3156                            });
3157                        }, 7000);
3158                        setTimeout(function () {
3159                            $('#cpn_replace2').fadeOut("slow", function () {
3160                            });
3161                        }, 7000);
3162                    }
3163                    if (res.freecharge == 'Yes') {
3164                        $('#freecharge_cpn_ack').text('7 days money back guarantee applicable on this coupon.').removeClass('red').addClass('green');
3165                    }
3166                    else if (res.freecharge_product == 'Yes') {
3167                        $('#freecharge_cpn_ack').text('7 days money-back guarantee on this coupon. Cashback will be added to your wallet by freecharge.').removeClass('red').addClass('green');
3168                    }
3169                    else if (res.freecharge_product == 'No') {
3170                        $('#freecharge_cpn_ack').text('').removeClass('red').addClass('green');
3171                        $('#freecharge_cpn_ack').text('Freecharge Cashback Not Applicable with this coupon.').removeClass('red').addClass('green');
3172                    } else {
3173                        $('#freecharge_cpn_ack').text('').removeClass('red').addClass('green');
3174                    }
3175                } else if (res.cpn_msg == 'bestprice'){
3176                    $('#cpn_ack').text('The best coupon is already applied for the courses listed').removeClass('green').addClass('red');     
3177                } else if(res.cpn_msg == 'pleaselogin'){
3178                    $('#cpn_ack').text('Please Log In/Sign Up to apply this Coupon').removeClass('green').addClass('red');
3179                }
3180                else if(res.cpn_msg == 'bogo_msg'){
3181                    $('#cpn_ack').text('BOGO OFFER is Already Applied').removeClass('green').addClass('red');
3182                } 
3183                else if(res.cpn_msg = '48_hr_bestprice' && res.cpn_msg != 'airtel_payment_msg'){
3184                    $('#cpn_ack').text('Best Offer Applied').removeClass('green').addClass('red');
3185                } else if(res.cpn_msg = 'airtel_payment_msg'){
3186                    $('#cpn_ack').text('This type of coupon is already used').removeClass('green').addClass('red');
3187                } 
3188                else if(res.module_msg = 'success'){
3189                    $('#cpn_ack').text('Invalid Coupon').removeClass('green').addClass('red');
3190                } else {
3191                    $('#cpn_ack').text('Lowest Offer Is Already Applied!').removeClass('green').addClass('red');
3192                    //$('#cpn_ack').text('This coupon is not applicable for the courses listed').removeClass('green').addClass('red');
3193                    $('.cartcpn_msg').html('');
3194                }
3195                
3196                if(res.total_save_combo <= 0){
3197                    $('#combo_discount_div').addClass('dn');
3198                }else{
3199                    $('#cart_old_total').removeClass('dn');
3200                    $('#crt_old_total').html(res.old_cart_total.toFixed(2));
3201                    $('#combo_discount').text(res.total_save_combo.toFixed(2));
3202                }
3203
3204                $('#cpn_ack').fadeIn(500);
3205                setTimeout(function () {
3206                    $('#cpn_ack').fadeOut("slow", function () {
3207                    });
3208                }, 4000);
3209                setTimeout(function () {
3210                    $('.cartcpn_msg').fadeOut("slow", function () {
3211                    });
3212                }, 10000);
3213                update_headcart_list();
3214
3215                update_wintersale_gifts(res.winterSaleFlag);
3216
3217//                loading_stop($(curr_obj), '');
3218            });
3219
3220
3221}
3222
3223function remove_coup_cart(curr_obj, cid, module, mar, price, via, cpn_id, auto_cpn) {
3224    if ($('#coupon_applied').val() != '') {
3225        cpn_id = $('#coupon_applied').val();
3226        $('#conf_coupon').val('');
3227    }
3228    if (cid != '') {
3229        loading($(curr_obj), '');
3230        //   var total_mar = $('#total_mar').text();
3231        //  var total = $('#total').text();
3232        //  var act_total = parseInt(total) - parseInt(price);
3233        $('#loaderLayerfile').removeClass('dn');
3234        $.ajax({
3235            method: "POST",
3236            url: software_url + "product/remove_coup_cart",
3237            data: {cid: cid, module: module, via: via, cpn_id: cpn_id, auto_cpn: auto_cpn}
3238        })
3239                .done(function (data) {
3240                    var res = JSON.parse(data);
3241                    // console.log(res);
3242                    //$('#total_mar').text(res.total_mar);
3243//                    var total = parseInt(act_total) + parseInt(res.price);
3244                    //alert(res.total_mar);  
3245                    if (res.freecharge == 'No') {
3246                        $('#freecharge_cpn_ack').text('').removeClass('red').addClass('green');
3247                    }
3248                    var cnt_tr_shw = 0; var cnt_tr_all = 0;
3249                    var final_cart_html = ''; var cpn_li = '';
3250                    if(!$('.shw_all_cpn').hasClass('dn')){
3251                        var cli_id = $('.shw_cpn_li:not(.dn)').attr('id');
3252                        cpn_li = cli_id.split('_')[1];
3253                        var ccart_html = res.cart_html;
3254                        var applied_cpn = res.applied_cpn;
3255                        $(ccart_html).closest('.shw_cpn_tr').each(function(i,v) {
3256                            cnt_tr_all++;
3257                            if(!$(v).hasClass('cpn_' + cpn_li)){
3258                                $(v).addClass('dn');
3259                                cnt_tr_shw ++;
3260                            }
3261                            final_cart_html += $(this)[0].outerHTML;
3262                        });
3263                    }
3264                    if(cnt_tr_all == cnt_tr_shw){
3265                       final_cart_html = res.cart_html;
3266                       cpn_li = '';
3267                    }
3268                    $('#cart_tb').html(final_cart_html);
3269                    $('#cpnModal').html(res.cart_avail_cpn);
3270                    $('#total_mar').text(res.total_mar);
3271                    $('#total').text(res.total.toFixed(2));
3272                    $('#you_save').text(res.you_save);
3273                    
3274                    if(res.cashback_amt == 0 || res.total == 0){
3275						$('#cshbk_tr').addClass('dn');
3276                        $('#cashback_amt').addClass('dn');
3277                    }else{
3278						$('#cshbk_tr').removeClass('dn');
3279                        $('#cashback_amt').removeClass('dn');
3280                    }
3281                    $('#cashback_amt').text(res.cashback_amt.toFixed(2));
3282                    $('#cart_cpn_disc').addClass('dn');
3283                    $('#cart_old_total').addClass('dn');
3284                    if(res.cart_discount_amt > 0){
3285                        $('#cart_cpn_disc').removeClass('dn');
3286                        $('#cart_old_total').removeClass('dn');
3287                        $('#crt_old_total').html(res.old_cart_total.toFixed(2));
3288                        $('#crt_cpn_disct').html(res.cart_discount_amt.toFixed(2));
3289                    } else {
3290                        $('#bogo_subtotal').addClass('dn');
3291                        if (res.new_cart_total) {
3292                            $('#bogo_subtotaltValue').html(res.new_cart_total.toFixed(2));
3293                        }
3294                    }
3295                    if (!res.cart_promote_view) {
3296                        $('#cart_promote').html("");
3297                        $('#cart_message').addClass('dn');
3298                    } else {
3299                        $('#cart_promote').html(res.cart_promote_view);
3300                    }
3301                    if(res.total_save_combo <= 0){
3302                        $('#combo_discount_div').addClass('dn');
3303                    }else{
3304                        $('#cart_old_total').removeClass('dn');
3305                        $('#crt_old_total').html(res.old_cart_total.toFixed(2));
3306                        $('#combo_discount').text(res.total_save_combo.toFixed(2));
3307                    }
3308                    $('#cart_old_total').removeClass('dn');
3309                    $('#remveCrtCode').addClass('dn');
3310                    $('#aplyCrtCode').removeClass('dn');
3311                    $("#conf_coupon").val("");
3312                    $("#conf_coupon").removeAttr("disabled");
3313                    $("#available_cpn").removeClass("dn");
3314                    // if (res.sitewide_discount <= 0) {
3315                    //     $('#sitewide_cpn_disc').addClass('dn');
3316                    //     $('#cart_old_total').addClass('dn');
3317                    // } else {
3318                    //     $('#cart_old_total').removeClass('dn');
3319                    //     $('#sitewide_cpn_disc').removeClass('dn');
3320                    //     $('#sitewide_cpn_disct').text(res.sitewide_discount.toFixed(2));
3321                    // }
3322                    updateapplied_cpn_crt(res.applied_cpn, cpn_li, res.auto_cpn_arr, res.existPresale, res.total_save_combo, res.country, res.gift_slot, res.sale_type);
3323                    updatePricesDivs(res.total);
3324                    update_wintersale_gifts(res.winterSaleFlag);
3325//                    $('#total').text(total);
3326//                    $('#you_save').text(parseInt(total_mar) - parseInt(total));                    
3327                    $('#loaderLayerfile').addClass('dn');
3328                    update_headcart_list();
3329                });
3330    }
3331}
3332
3333function apply_coup_cart_popup(obj){
3334    var cpnradio = $('input[name=cpnradio]:checked').attr('itemref');
3335    var c_id = cpnradio/*.split('_')[1]*/;
3336    $("#conf_coupon").val(c_id);
3337    loading($(".cpnPopBtn"), '');
3338    apply_coup_cart(obj);
3339    loading_stop($(".cpnPopBtn"), '');
3340    $('#cpnModal').modal('hide');
3341}
3342
3343function use_voucher_code(obj){
3344    if($(obj).is(":checked")){
3345        $('#vchr_modal').click();
3346        $(obj).prop("checked", true);
3347        $('input[name=wall_bal]').prop("checked", false);
3348    }else{
3349        $('#vouchersModal').modal('hide');
3350        apply_voucher_code();
3351    }
3352}
3353
3354
3355function chk_voucher_code(obj){
3356    if($(obj).hasClass('crsPointer')){
3357        $(obj).find('input[name="voucher_radio"]').prop("checked", true);
3358    }
3359}
3360
3361function apply_voucher_code(){
3362    $('.apply_disc_vhcr_form_err').html('');
3363    
3364    var chk = 0; 
3365    var voucher_id = 0;   
3366    
3367    if($('input[name=voucher_radio]').is(":checked")){
3368
3369        $('#loaderLayerfile').removeClass('dn'); 
3370        loading($(".cpnPopBtn"), '');
3371
3372        if($('input[name=discount_vouchers]').is(":checked")){
3373            chk = 1;
3374            voucher_id = $('input[name=voucher_radio]:checked').attr('itemref');
3375        }
3376
3377        // for app
3378        if (window.location.href.indexOf("Mobile_App_controller") > -1) {
3379            var Uid= window.location.pathname.split("/").pop();
3380
3381            $.ajax({
3382                method: "POST",
3383                url: software_url + "Mobile_App_controller/apply_voucher_code_app",
3384                data: {chk: chk, voucher_id: voucher_id,Uid:Uid}
3385            }).done(function (data) {
3386                    
3387                var res = JSON.parse(data);
3388
3389                $('.shw_walt_disc').addClass('dn');
3390                if(chk == 0){
3391                    $('.shw_voucher_disc').addClass('dn');
3392                    $('.shw_walt_voucher_disc').addClass('dn');
3393                }else{
3394                    $('.shw_voucher_disc').removeClass('dn');
3395                    $('.shw_walt_voucher_disc').removeClass('dn');
3396                }
3397        
3398                $('#voucher_disc').text(res.voucher_disc.toFixed(2));
3399                $('#voucher_chkf').val(chk);
3400                $('#voucher_id_chkf').val(voucher_id);
3401                $('input[name="use_voucher"]').val(chk);
3402                $('input[name="voucher_id"]').val(voucher_id);
3403                $('.total_ProductV').text(res.total_ProductValue.toFixed(2));
3404                $('.show_sub_total').html('<b>'+res.currency + res.display.amt_break.amount.toFixed(2)+'</b>');
3405                $('#tax').html('<b>+ '+res.currency + res.display.tax_amt+'</b>');
3406                
3407                $('.final_shw_amt').html('<b>'+res.currency + res.total.toFixed(2)+'</b>');
3408        
3409                if(res.total <= 0){
3410                    $("#div_free").html(res.free_html);
3411                    $("#Procd_to_pay").addClass("dn");
3412                    $(".slidePayHeader").addClass("dn");
3413                    $(".slidePayment").addClass("dn");
3414                    $("#div_pay").addClass("dn");
3415                } else {
3416                    $("#div_free").html("");
3417                    $("#Procd_to_pay").removeClass("dn");
3418                    $(".slidePayHeader").removeClass("dn");
3419                    $(".slidePayment").removeClass("dn");
3420                    $("#div_pay").removeClass("dn");
3421                }
3422                
3423        
3424                loading_stop($(".cpnPopBtn"), '');
3425                $('#vouchersModal').modal('hide');
3426                $('#loaderLayerfile').addClass('dn');
3427            });       
3428        
3429
3430            // for site
3431        }else{
3432                $.ajax({
3433                    method: "POST",
3434                    url: software_url + "voucher/apply_voucher_code",
3435                    data: {chk: chk, voucher_id: voucher_id,}
3436                }).done(function (data) {
3437                        
3438                    var res = JSON.parse(data);
3439
3440                    $('.shw_walt_disc').addClass('dn');
3441                    if(chk == 0){
3442                        $('.shw_voucher_disc').addClass('dn');
3443                        $('.shw_walt_voucher_disc').addClass('dn');
3444                    }else{
3445                        $('.shw_voucher_disc').removeClass('dn');
3446                        $('.shw_walt_voucher_disc').removeClass('dn');
3447                    }
3448            
3449                    $('#voucher_disc').text(res.voucher_disc.toFixed(2));
3450                    $('#voucher_chkf').val(chk);
3451                    $('#voucher_id_chkf').val(voucher_id);
3452                    $('input[name="use_voucher"]').val(chk);
3453                    $('input[name="voucher_id"]').val(voucher_id);
3454                    $('.total_ProductV').text(res.total_ProductValue.toFixed(2));
3455                    $('.show_sub_total').html('<b>'+res.currency + res.display.amt_break.amount.toFixed(2)+'</b>');
3456                    $('#tax').html('<b>+ '+res.currency + res.display.tax_amt+'</b>');
3457                    
3458                    $('.final_shw_amt').html('<b>'+res.currency + res.total.toFixed(2)+'</b>');
3459            
3460                    if(res.total <= 0){
3461                        $("#div_free").html(res.free_html);
3462                        $("#Procd_to_pay").addClass("dn");
3463                        $(".slidePayHeader").addClass("dn");
3464                        $(".slidePayment").addClass("dn");
3465                        $("#div_pay").addClass("dn");
3466                    } else {
3467                        $("#div_free").html("");
3468                        $("#Procd_to_pay").removeClass("dn");
3469                        $(".slidePayHeader").removeClass("dn");
3470                        $(".slidePayment").removeClass("dn");
3471                        $("#div_pay").removeClass("dn");
3472                    }
3473                    
3474            
3475                    loading_stop($(".cpnPopBtn"), '');
3476                    $('#vouchersModal').modal('hide');
3477                    $('#loaderLayerfile').addClass('dn');
3478                });         
3479            
3480            }
3481
3482
3483    } else{
3484        $('.apply_disc_vhcr_form_err').text('Please select voucher').css('color', 'red');
3485    }
3486    
3487    
3488}
3489
3490//function remove4mSL(curr_obj, cid, module) {
3491//    if (cid != '') {
3492//        var curr_click = ++clicks;
3493//        $(curr_obj).closest('tr').remove();
3494//        var SL_count = $('#SL_div table tr').length;
3495//        if (SL_count <= 0) {
3496//            $('#SL_div table tbody').html("<tr class='tr_emty'><td>No Items are added for Later</td></tr>");
3497//        }
3498//        $('#loaderLayerfile').removeClass('dn');
3499//        $.ajax({
3500//            method: "POST",
3501//            url: software_url + "product/remove4mSL",
3502//            data: {cid: cid, module: module}
3503//        })
3504//                .done(function (data) {
3505//
3506//                    update_panels(curr_click);
3507//                    //$('#loaderLayerfile').addClass('dn');
3508//                    // console.log(data);
3509////                    var cart_cnt = data.trim();
3510////                    if (cart_cnt == 0) {
3511////                        //  $('#SL_div').html("<tr class='tr_emty'><td>No Items are added for Later</td></tr>");
3512////                    } else {
3513////                        //  $('#cart_count').val(cart_cnt);
3514////                    }
3515//                    //  $('#loaderLayerfile').addClass('dn');
3516//                    // $('.cart_dis').text(data);                                
3517//                });
3518//
3519//
3520//    }
3521//}
3522
3523//function SL_to_AC(curr_obj, cid, cpid, module, mar, price) {
3524//    if (cid != '') {
3525//        var curr_click = ++clicks;
3526//        $('#loaderLayerfile').removeClass('dn');
3527//        // var cart_cnt = $('.cart_dis').text();
3528//        cart_count = parseInt(cart_count) + 1;
3529//        $(curr_obj).closest('tr').remove();
3530//        var total_mar = $('#total_mar').text().trim() == "" ? 0 : $('#total_mar').text().trim();
3531//        var total = $('#total').text().trim() == "" ? 0 : $('#total').text().trim();
3532//
3533//        var new_total_mar = parseInt(total_mar) + parseInt(mar);
3534//        var new_total = parseInt(total) + parseInt(price);
3535//
3536//        var html = "<tr>" + $(curr_obj).closest('tr').html() + "</tr>";
3537//        var $tr = $('<div />', {html: html});
3538//        $tr.find('.C_rem').replaceWith("<a class='C_rem' onclick=\"remove4mCart(this, '" + cid + "','" + module + "','" + mar + "', '" + price + "','" + cpid + "' ,'CR')\">Remove</a>");
3539//        $tr.find('.C_action').replaceWith("<a class='C_action' onclick=\"remove4mCart(this, '" + cid + "', '" + module + "','" + mar + "', '" + price + "','" + cpid + "' ,'SL')\" > Save for Later </a>");
3540//        $($tr.html()).prependTo($("#cart_div table > tbody"));
3541//        $("#cart_div table > tbody .tr_emty").remove();
3542//
3543//        $('#total_mar').text(new_total_mar);
3544//        $('#total').text(new_total);
3545//        $('#you_save').text(parseInt(new_total_mar) + parseInt(new_total));
3546//        $('.cart_dis').text(cart_count);
3547//        $('#cart_item').text(cart_count);
3548//
3549//        if (cart_count > 0) {
3550//            $('#list_div').removeClass('col-md-12').addClass('col-md-8');
3551//            $('#div_pricing').removeClass('dn');
3552//        }
3553//
3554//        var SL_count = $('#SL_div table tr').length;
3555//        if (SL_count <= 0) {
3556//            $('#SL_div table tbody').html("<tr class='tr_emty'><td>No Items are added for Later</td></tr>");
3557//        }
3558//
3559//
3560//
3561//        //   $('#loaderLayerfile').removeClass('dn');
3562//        $.ajax({
3563//            method: "POST",
3564//            url: software_url + "product/addtocart",
3565//            data: {cid: cid, cpid: cpid, module: module, add_type: 'SL_to_AC'}
3566//        })
3567//                .done(function (data) {
3568//                    update_panels(curr_click);
3569//                    //$('#loaderLayerfile').addClass('dn');
3570//                    // console.log(data);
3571////                    var cart_cnt = data.trim();
3572////                    if (cart_cnt == 0) {
3573//                    //  $('#SL_div').html("<tr class='tr_emty'><td>No Items are added for Later</td></tr>");
3574////                    } else {
3575////                        //  $('#cart_count').val(cart_cnt);
3576////                    }
3577//                    //  $('#loaderLayerfile').addClass('dn');
3578//                    // $('.cart_dis').text(data);                                
3579//                });
3580//    }
3581//}
3582
3583function catchEnter(event) {
3584    if (event.keyCode === 13) {
3585        $("#aplyCrtCode").click();
3586        $(".btn-cpnApply").click();
3587        $(".redeemDivApplyBtn").click();
3588        //$('.loginBtn').click()
3589        //$('.signBtn').click()
3590    }
3591}
3592
3593
3594function set_sale_old(obj, sale_amt, page) {
3595    $(obj).find('.loader').removeClass('dn');
3596    $.ajax({
3597        method: "POST",
3598        url: software_url + "product/set_sale",
3599        data: {sale_amt: sale_amt}
3600    }).done(function (d) {
3601        if (page == 'home') {
3602            window.location.href = software_url + 'courses';
3603        } else {
3604            location.reload();
3605        }
3606    })
3607}
3608
3609function set_sale(obj, sale_amt, page, country) {
3610   if( country == "India")
3611   {
3612     $('#sale369_all').attr('src', software_url + 'assets/images/est_all_chk.png');
3613    //$('#sale369_3').attr('src', software_url + 'assets/images/chris_3.png');
3614    $('#sale369_6').attr('src', software_url + 'assets/images/est_6_chk_ind.png');
3615    $('#sale369_9').attr('src', software_url + 'assets/images/est_9_chk_ind.png');
3616    $(obj).closest('.posrel').find('.loader').removeClass('dn');
3617    if (sale_amt == 3) {
3618        $(obj).attr('src', software_url + 'assets/images/chris_3_chk_ind.png');
3619    } else if (sale_amt == 6)
3620    {
3621        $(obj).attr('src', software_url + 'assets/images/est_6_ind.png');
3622    } else if (sale_amt == 9)
3623    {
3624        $(obj).attr('src', software_url + 'assets/images/est_9_ind.png');
3625    } else
3626    {
3627        $(obj).attr('src', software_url + 'assets/images/est_all.png');
3628    }
3629   }
3630   else{
3631   
3632    $('#sale369_all').attr('src', software_url + 'assets/images/est_all_chk.png');
3633    //$('#sale369_3').attr('src', software_url + 'assets/images/chris_3.png');
3634    $('#sale369_6').attr('src', software_url + 'assets/images/est_6_chk.png');
3635    $('#sale369_9').attr('src', software_url + 'assets/images/est_9_chk.png');
3636    $(obj).closest('.posrel').find('.loader').removeClass('dn');
3637    if (sale_amt == 3) {
3638        $(obj).attr('src', software_url + 'assets/images/chris_3_chk.png');
3639    } else if (sale_amt == 6)
3640    {
3641        $(obj).attr('src', software_url + 'assets/images/est_6.png');
3642    } else if (sale_amt == 9)
3643    {
3644        $(obj).attr('src', software_url + 'assets/images/est_9.png');
3645    } else
3646    {
3647        $(obj).attr('src', software_url + 'assets/images/est_all.png');
3648    }
3649}
3650    $.ajax({
3651        method: "POST",
3652        url: software_url + "product/set_sale",
3653        data: {sale_amt: sale_amt}
3654    }).done(function (d) {
3655        window.location.href = window.location.pathname + "?sale=" + sale_amt;
3656    })
3657
3658}
3659
3660function pres_extra(obj, id, price, module) {
3661    var method = $(obj).text().trim();
3662    var ids = $('#ids').val().trim();
3663    //alert(method);
3664    var pro = module + '-' + id;
3665    var dis_price = $('.price_value').text().trim();
3666    if (method == 'Add') {
3667        if (ids.indexOf(pro) != -1) {
3668            //aleady exists;
3669        } else {
3670            if (ids == '') {
3671                ids = ids + pro;
3672            } else {
3673                ids = ids + ',' + pro;
3674            }
3675            $('.price_value').text(parseInt(dis_price) + parseInt(price));
3676            $('#ids').val(ids);
3677            $(obj).text('Remove').addClass('rustcolor');
3678        }
3679    } else if (method == 'Remove') {
3680        if (ids.indexOf(pro) != -1) {
3681            ids = ids.replace("," + pro, '');
3682            ids = ids.replace(pro, '');
3683            $('.price_value').text(parseInt(dis_price) - parseInt(price));
3684        }
3685        $('#ids').val(ids);
3686        $(obj).text('Add').removeClass('rustcolor');
3687    }
3688
3689//    $.ajax({
3690//        type: "POST",
3691//        data: {product_id: id, module: module, type: type},
3692//        url: software_url + 'preorder/pres_extra',
3693//        success: function (data) {
3694//            alert(data);
3695//            //$('#div_prerequisites').html(data);
3696//        }
3697//    });
3698}
3699
3700
3701// <Product pages>
3702
3703// Aync functions for loading related courses
3704function loadPageData_relPro(product_id, cat_id) {
3705    $.ajax({
3706        type: "POST",
3707        data: {product_id: product_id, cat_id: cat_id},
3708        url: software_url + 'product/getRelatedCourses',
3709        success: function (data) {
3710            $('#relatedCourses').attr("data-state", "loaded").html(data);
3711            $('#relatedCourses').slick({
3712                infinite: false,
3713                speed: 500,
3714                arrows: true,
3715                slidesToShow: 5,
3716                slidesToScroll: 5,
3717                nextArrow: '<i class="fa fa-angle-right RgtArrow"></i>',
3718                prevArrow: '<i class="fa fa-angle-left LftArrow"></i>',
3719                variableWidth: true,
3720                responsive: [
3721                {
3722                  breakpoint: 1025,
3723                  settings: {dots: false,arrows: false,infinite: false,slidesToShow: 3,slidesToScroll: 1}
3724                },
3725                {
3726                  breakpoint: 769,
3727                  settings: {dots: false,arrows: false,infinite: false,slidesToShow: 2,slidesToScroll: 1}
3728                },
3729                {
3730                  breakpoint: 601,
3731                  settings: {dots: false,arrows: false,infinite: false,slidesToShow: 1,slidesToScroll: 1}
3732                }
3733                ]
3734            });
3735        }
3736    });
3737}
3738
3739// Aync functions for loading course syllabus
3740function loadPageData_curr(product_id, frompage = '') {
3741    var jax = true;
3742    $.ajax({
3743        type: "POST",
3744        data: {product_id: product_id, frompage: frompage ,jax:jax},
3745        url: software_url + 'product/getProductSyllabus',
3746        success: function (data) {
3747            $('#courseContentBody').attr("data-state", "loaded").html(data);
3748        }
3749    });
3750}
3751
3752// Aync functions for loading course prerequisites
3753function loadPageData_preReq(product_id) {
3754    $.ajax({
3755        type: "POST",
3756        data: {product_id: product_id},
3757        url: software_url + 'product/getPrerequisists',
3758        success: function (data) {
3759            data = JSON.parse(data);
3760            html = (data.prerequisites) ? data.prerequisites : "Prerequisites are not available for this course.";
3761            $('#prerequisitesBody').attr("data-state", "loaded").html(html);
3762            if(data.skillsYouWillGain){
3763                $('#skillsYouWillGain').attr("data-state", "loaded").html("<p><b>SKILLS YOU WILL GAIN</b></p>").append(data.skillsYouWillGain);
3764            }
3765            else{
3766                $('#skillsYouWillGain').remove();
3767            }
3768            if(data.whatYouWillLearn){
3769                $('#whatYouWillLearn').attr("data-state", "loaded").html("<p><b>WHAT YOU WILL LEARN</b></p>").append(data.whatYouWillLearn);
3770            }
3771            else{
3772                $('#whatYouWillLearn').remove();
3773            }
3774            if(data.whatStudentsWillLearn){
3775                $('#whtStudentsWillAchieveBody').attr("data-state", "loaded").html("<h2 class='heading'>What will students achieve after taking this course</h2>").append(data.whatStudentsWillLearn);
3776            }
3777            else{
3778                $('#whtStudentsWillAchieveBody').remove();
3779            }
3780        }
3781    });
3782}
3783
3784// Aync functions for loading course reviews
3785function loadPageData_review(uri, onload=false) {
3786    obj = $('#reviewBody');
3787    page = onload ? 1 : $(obj).attr('data-next-page');
3788    if($(obj).attr('data-fetching') == 0 && page != "false"){
3789        $(obj).attr('data-fetching', 1);
3790        showLoaderInDiv($(obj).find('.btn-ViewMore'));
3791        $.ajax({
3792            type: "POST",
3793            url: software_url + 'product/review/'+uri+'/'+page,
3794            success: function (data) {
3795                data = JSON.parse(data);
3796                $(obj).attr("data-state", "loaded");
3797                if(page == 1){
3798                    if(data.reviewsCount == 0){
3799                        $('.rewHead').remove();
3800                        $(obj).find('.rewList').html("No reviews for this course");
3801                    }
3802                    else{
3803                        $(obj).find('.rewList').html(data.html);
3804                    }
3805                }
3806                else{
3807                    $(obj).find('.rewList').append(data.html);
3808                }
3809                viewMoreSimpleExpand('#reviewBody');
3810                if(data.reviewsCount < 5){
3811                    $(obj).attr('data-next-page', "false");
3812                    $(obj).find('.btn-ViewMore').addClass('dn');
3813                }
3814                else{
3815                    $(obj).attr('data-next-page', parseInt(page) + 1);
3816                    $(obj).find('.btn-ViewMore').removeClass('dn');
3817                }
3818                $(obj).attr('data-fetching', 0);
3819                $(obj).find('.btn-ViewMore').html('View More Reviews');
3820            }
3821        });
3822    };
3823}
3824
3825function loadPageData_review_otherThanCourses(uri,module,module_id, onload=false) {
3826    obj = $('#reviewBody');
3827    page = onload ? 1 : $(obj).attr('data-next-page');
3828    if($(obj).attr('data-fetching') == 0 && page != "false"){
3829        $(obj).attr('data-fetching', 1);
3830        showLoaderInDiv($(obj).find('.btn-ViewMore'));
3831        $.ajax({
3832            type: "POST",
3833            data: {module: module,module_id:module_id},
3834            url: software_url + 'product/review_otherthan_courses/'+uri+'/'+page,
3835            success: function (data) {
3836                data = JSON.parse(data);
3837                $(obj).attr("data-state", "loaded");
3838                if(page == 1){
3839                    if(data.reviewsCount == 0){
3840                        $('.rewHead').remove();
3841                        $(obj).find('.rewList').html("No reviews for this course");
3842                    }
3843                    else{
3844                        $(obj).find('.rewList').html(data.html);
3845                    }
3846                }
3847                else{
3848                    $(obj).find('.rewList').append(data.html);
3849                }
3850                viewMoreSimpleExpand('#reviewBody');
3851                if(data.reviewsCount < 5){
3852                    $(obj).attr('data-next-page', "false");
3853                    $(obj).find('.btn-ViewMore').addClass('dn');
3854                }
3855                else{
3856                    $(obj).attr('data-next-page', parseInt(page) + 1);
3857                    $(obj).find('.btn-ViewMore').removeClass('dn');
3858                }
3859                $(obj).attr('data-fetching', 0);
3860                $(obj).find('.btn-ViewMore').html('View More Reviews');
3861            }
3862        });
3863    };
3864}
3865
3866function loadPageData_insStats(productId){
3867    $.ajax({
3868        type: "POST",
3869        url: software_url + 'instructor/getInstructorStats',
3870        data: {inst_api: 1, instructor_id: "", productId: productId},
3871        dataType: 'json',
3872        success: function (data) {
3873            data.map((instructorStats) => {
3874                // $('#studentsCount'+instructorStats.instructorId).html(instructorStats.studentsCount);
3875                $('#coursesCount'+instructorStats.instructorId).html(instructorStats.coursesCount)
3876            });
3877        }
3878    });
3879}
3880
3881function showLoaderInDiv(obj){
3882    $(obj).html('<div class="loaderUtility"></div>');
3883}
3884
3885//Social Media Buttons
3886function shareOnFacebook(url){
3887    href = "https://www.facebook.com/sharer/sharer.php";
3888    link = href+'?u='+encodeURIComponent(url);
3889    window.open(link,'facebook-share-dialog','width=626,height=436');
3890}
3891function shareOnTwitter(url, module, name){
3892    href = "https://twitter.com/intent/tweet";
3893    params = $.param({
3894        text: "Check out this "+module+" on \""+name+"\"",
3895        url: url,
3896        via: "Tutor_Eduonix"
3897    });
3898    link = href+"?"+params;
3899    window.open(link,'twitter-share-dialog','width=626,height=436');
3900}
3901function shareOnLinkedin(url){
3902    href = "https://www.linkedin.com/cws/share/";
3903    link = href+'?url='+encodeURIComponent(url);
3904    window.open(link,'linkedin-share-dialog','width=626,height=436');
3905}
3906
3907
3908// Function is used to set View more toggles on any div
3909// Requirements:    .simpleViewMore class as parent of the description
3910//                  .viewMoreDescription class on the description (Also give max height)
3911// Output:          .viewMoreGradient class as the sibling to the description
3912function viewMoreSimpleExpand(domElement="body"){
3913    $(domElement).find('.simpleViewMore').each((index, element)=>{
3914        descriptionObj = $(element).find('.viewMoreDescription');
3915        if($(element).find('.viewMoreGradient').length == 0){
3916            if($(descriptionObj).css('height') < $(descriptionObj).css('max-height')){}
3917            else{
3918                $(element).append(`<div class="viewMoreGradient">+ View More</div>`);
3919            }
3920            setClickOnViewMoreGradient(element);
3921        }
3922    });
3923}
3924
3925function setClickOnViewMoreGradient(element="body"){
3926    $(element).find('.viewMoreGradient').on('click', function(){
3927        var html = $(this).html();
3928        if(html === "+ View More")
3929        {
3930           $(this).siblings(".viewMoreDescription").addClass("heightClass");
3931            $(this).html("- View Less");
3932            $(this).addClass("bgNone");
3933        }
3934        if(html === "- View Less")
3935        {
3936           $(this).siblings(".viewMoreDescription").removeClass("heightClass");
3937            $(this).html("+ View More");
3938            $(this).removeClass("bgNone");
3939            $('html, body').animate({
3940                scrollTop: $(this).parent(".simpleViewMore").offset().top
3941              }, 100);
3942        }
3943        
3944    });
3945}
3946
3947function viewMoreSimpleToggle(obj){
3948    parent = $(obj).parents('.MainSyllabus');
3949    state = $(obj).attr('data-state');
3950    if(state == 'collapsed'){
3951        $(parent).find('.card').removeClass('dn');
3952        $(obj).attr('data-state', 'expanded').find('.sectionHeader b').html('- View Less');
3953    }
3954    else if(state == 'expanded'){
3955        $(parent).find('.card:nth-of-type(1n+11):not(.viewMoreCard)').addClass('dn');
3956        $(obj).attr('data-state', 'collapsed').find('.sectionHeader b').html('+ View More');
3957    }
3958}
3959// </ProductPages>
3960
3961
3962
3963function stickyFooterHeaderUnable(){
3964 $(document).scroll(function() {
3965     if($(window).outerWidth() < 479){
3966// For sticky Header and Footer
3967        var stickyHeadTop = $(".navBarDesktop").length != 0 ? $(".navBarDesktop").offset().top : 0;
3968        var stickyHeadTopMob = $(".stickyPricing").length != 0 ? $(".stickyPricing").offset().top + $(".stickyPricing ").height(): 0;
3969
3970        //stickyPricing is a common class just apply in the element comes before the last element
3971            if($(window).scrollTop()>=stickyHeadTop && stickyHeadTop != 0){
3972                $(".stickyNavBarMob").removeClass("dn");
3973                $(".navBarDesktop").addClass("dn");
3974                $(".stickyPriceBar").removeClass("dn");
3975                }
3976
3977            else if($(window).scrollTop()<stickyHeadTopMob && stickyHeadTop == 0){
3978                $(".stickyNavBarMob").addClass("dn");
3979                $(".navBarDesktop").removeClass("dn");
3980                $(".stickyPriceBar").addClass("dn");
3981                }
3982        }
3983    });
3984}
3985// thumbnail hover effect start
3986$(document).ready(function(){
3987    
3988    //  Nav bar with left and right arrows
3989    var totalpolliWidth = 0;
3990    $('ul.popularNavMain li').each(function(index) {
3991        totalpolliWidth += parseInt($(this).width(), 10);
3992    });
3993    if(totalpolliWidth < $("ul.popularNavMain").width()){
3994        // $("ul.popularNavMain").attr('style', 'display: flex!important');
3995        $("ul.popularNavMain").addClass('nav-justified');
3996        $(".popularNavWrap").siblings('.scroller').hide();
3997    }
3998    $('.scroller-left').on('click', function() {
3999        $('.popularNavMain').animate({
4000        scrollLeft: '-=200'
4001        }, 300, 'swing');
4002    });
4003    $('.scroller-right').on('click', function() {
4004        $('.popularNavMain').animate({
4005        scrollLeft: '+=200'
4006        }, 300, 'swing');
4007    });
4008    // Nav bar with left and right arrows
4009
4010
4011
4012// thumbnail hover effect Starts
4013$(document).on("mouseover",".item.ldcnt", runAfter(render_right_hover, 150));
4014   stickyFooterHeaderUnable();
4015});
4016// thumbnail hover effect End
4017
4018function render_right_hover(){
4019    if($(window).outerWidth() >992){
4020        tippy(this,{
4021        onShow() {
4022                $(".tippy-popper").css({
4023                    "visibility" : "hidden"
4024                })
4025            },
4026            target: '.divThumb',
4027            content: () => {
4028                if( $(this).find(".course_video_iframe").attr('src') ){}
4029                else {
4030                    src = $(this).find(".course_video_iframe").attr('data-src');
4031                    $(this).find(".course_video_iframe").attr('src', src);
4032                    $(this).find(".course_video_iframe")
4033                }
4034                return $(this).find(".right").html();
4035            },
4036            allowHTML: true,
4037            delay: 300,
4038            interactive: true,
4039            animateFill: false,
4040            placement: "left",
4041            flip: true,
4042            flipOnUpdate: true,
4043            boundary: 'viewport',
4044            popperOptions: {
4045                modifiers: {
4046                    flip: {
4047                        boundariesElement: 'scrollParent',
4048                        behavior: ['left', 'right', 'top','bottom'],
4049                    },
4050                },
4051            },
4052            theme: "transparent",
4053            arrow: true,
4054        })
4055    }
4056}
4057
4058async function submitCodeBlueForm(){
4059    readyToSubmit = true;
4060    parent = $('#codeBlueModal .codeBlueContent');
4061    input = {};
4062    $(parent).find('input').each((index, element)=>{
4063        input[$(element).attr('id')] = $(element).val();
4064    });
4065    errorMsg= '';
4066    readyToSubmit = await checkFields(input)
4067    .then(()=>{
4068        if(checkEmail(input.codeblueEmail)) return true;
4069        else{
4070            errorMsg = "Please enter a valid email";
4071            return false;
4072        }
4073    })
4074    .catch(()=>{
4075        errorMsg = "Please fill all the mandatory fields";
4076        return false;
4077    });
4078    if(readyToSubmit){
4079        $(parent).find('.codeblueErrorMsg').html("");
4080        data = {};
4081        $(parent).find('input').each((index, element)=>{
4082            data[$(element).attr('name')] = $(element).val();
4083        });
4084        showLoaderInDiv($(parent).siblings('.btn-codeblue'));
4085        $.ajax({
4086            method: "POST",
4087            url: software_url + "home/saveCodeBlueForm",
4088            data: data,
4089            success: (data) => {
4090                $(parent).siblings('.btn-codeblue').remove();
4091                data = JSON.parse(data);
4092
4093                if(data.status) {
4094                    $(parent).html(`
4095                        <div class="codeBlueAck">
4096                            <i class="fas fa-check-circle"></i>
4097                            Submitted Successfully<br>
4098                            We will get in touch with you shortly.
4099                        </div>
4100                    `);
4101                }else{
4102                    $(parent).html(`
4103                        <div class="codeBlueAck">
4104                            <i class="fas fa-exclamation-circle"></i>
4105                            Please try after some time.
4106                        </div>
4107                    `);
4108                }
4109            }
4110        });
4111    }
4112    else{
4113        $(parent).find('.codeblueErrorMsg').html(errorMsg);
4114    }
4115}
4116
4117function checkFields(inputs){
4118    return new Promise(function(resolve, reject){
4119        passedCheck = true;
4120        mandatoryFields = ['codeblueFullName', 'codeblueEmail', 'codeblueOrganization'];
4121        mandatoryFields.forEach((input, key)=>{
4122            if(inputs[input] == ''){
4123                passedCheck = false;
4124            }
4125        });
4126        if(passedCheck) resolve();
4127        else reject();
4128    });
4129}
4130
4131function submit_vote(obj){
4132    $('.vote_err_msg').html();
4133    var vote_cntry = $('input[name="votmatch"]:checked').attr('id');
4134    var t_id = $('#vottra_id').val();
4135    var match_id = $('#votmat_id').val();
4136    if (typeof vote_cntry === "undefined"){
4137        $('.vote_err_msg').html('Please provide some input to participate.').css('color','red');
4138    }else{
4139        loading($(obj), '');
4140        $.ajax({
4141            type: "POST",
4142            url: software_url + 'dashboard/submit_vote',
4143            data: {vote_cntry: vote_cntry, t_id: t_id, match_id: match_id},
4144            dataType: 'json',
4145            success: function (data) {
4146                if(data == '1'){
4147                    $('.vote_err_msg').html("Thank You for Participating in Predict & Win Cricket World Cup Contest!").css({'color':'green',"font-size":"14px","font-weight":"bolder"});
4148                }else{
4149                    $('.vote_err_msg').html("Invalid access").css('color','red');
4150                }
4151                $('.votmat_chng1').attr('href', software_url + 'dashboard');
4152                $('.votmat_chng2').attr('href', software_url + 'courses');
4153                $('.votmat_chng1').removeAttr('onclick');
4154                $('.votmat_chng2').removeAttr('onclick');
4155                setTimeout(function () {
4156                    $('.vote_err_msg').fadeOut("slow", function () {
4157                    });
4158                    $('.voting_panel').remove();
4159                }, 5000);
4160                
4161                loading_stop($(obj), '');
4162            }
4163        });
4164    }
4165}
4166function infiniti(sel) {
4167    var c = $('#cvbn').val();
4168     var p = $('#poiu').val();
4169     var module = $('#module').val();
4170   //  var gift = check_gift_array();
4171     
4172     var ids;
4173     if (sel == 'bwwpage') {
4174         ids = qwer;
4175     } else if (sel == 'ppage') {
4176         ids = $('#ids').val();
4177     }
4178 
4179     var encode_str = btoa(p + "@" + module + "@bwwids@" + ids);
4180    
4181 
4182 
4183     
4184     window.location.href = software_url + "dashboard/infiniti_library/" + encode_str;
4185 }
4186 
4187 function addtoinfiniti(obj, pro_id, module){
4188    if (module == 'bww') {
4189        p_id =  pro_id;
4190        pro_id = qwer;
4191        incart = '1';
4192        var encode_str = btoa(pro_id + "@" + module + "#" +p_id);
4193    }else{
4194        var encode_str = btoa(pro_id + "@" + module);
4195    }
4196     window.location.href = software_url + "dashboard/infiniti_library/" + encode_str;
4197 }
4198
4199function skip_voting(obj){
4200    var link = $(obj).attr('itemid');
4201    window.location.href = software_url + link;
4202}
4203
4204function check_to_exit_voting(obj){
4205    var link = $(obj).attr('itemid');
4206    $('#content_type').val('voting');
4207    var popup_txt = "Are You Sure You Don’t Want To Participate in Predict & Win CWC Contest?";
4208    del_obj = obj;
4209    $('#popup_txt').text(popup_txt);
4210    $('#cus-myModal').removeClass('dn');
4211}
4212
4213function shw_cart_cpn_msg(obj){
4214    if($(obj).hasClass('cpnInactive')){
4215        $(obj).next('tr').find('span.shw_cart_cpn_alert').html($(obj).attr('title'));
4216        $(obj).next('tr').find('span.shw_cart_cpn_alert').fadeIn('slow');
4217        setTimeout(function () {
4218            $(obj).next('tr').find('span.shw_cart_cpn_alert').fadeOut("slow", function () {
4219            });
4220        }, 5000);
4221    }
4222}
4223
4224function shw_cart_cpnip_msg(obj){
4225    if($(obj).is('[disabled=disabled]')){
4226        shw_cart_cpn_msg($(obj).closest('tr.cpnInactive'));
4227    }
4228}
4229
4230
4231function chk_avail_cpn(obj){
4232    if($(obj).hasClass('crsPointer')){
4233        $(obj).find('input[name="cpnradio"]').prop("checked", true);
4234    }
4235}
4236function update_wintersale_gifts(winterSaleFlag){
4237    if(winterSaleFlag >= 1){
4238        $(".bigwinSale ul>li span[data-gift-id='1']").removeClass().addClass('imgConActive');
4239        $(".bigwinSale ul>li span[data-gift-id='1'] span[data-gift-id='1']").removeClass().addClass('bwnumActive');
4240    } else {
4241        $(".bigwinSale ul>li span[data-gift-id='1']").removeClass().addClass('imgConinActive');
4242        $(".bigwinSale ul>li span[data-gift-id='1'] span[data-gift-id='1']").removeClass().addClass('bwnuminActive');
4243    }
4244    if(winterSaleFlag >= 2){
4245        $(".bigwinSale ul>li span[data-gift-id='2']").removeClass().addClass('imgConActive');
4246        $(".bigwinSale ul>li span[data-gift-id='2'] span[data-gift-id='2']").removeClass().addClass('bwnumActive');
4247    } else {
4248        $(".bigwinSale ul>li span[data-gift-id='2']").removeClass().addClass('imgConinActive');
4249        $(".bigwinSale ul>li span[data-gift-id='2'] span[data-gift-id='2']").removeClass().addClass('bwnuminActive');
4250    }
4251    if(winterSaleFlag >= 3){
4252        $(".bigwinSale ul>li span[data-gift-id='3']").removeClass().addClass('imgConActive');
4253        $(".bigwinSale ul>li span[data-gift-id='3'] span[data-gift-id='3']").removeClass().addClass('bwnumActive');
4254    } else {
4255        $(".bigwinSale ul>li span[data-gift-id='3']").removeClass().addClass('imgConinActive');
4256        $(".bigwinSale ul>li span[data-gift-id='3'] span[data-gift-id='3']").removeClass().addClass('bwnuminActive');
4257    }
4258    
4259}
4260-function htmlspecialchars(str) {
4261        if (typeof(str) == "string") {
4262         str = str.replace(/&/g, "&amp;"); /* must do &amp; first */
4263         str = str.replace(/"/g, "&quot;");
4264         str = str.replace(/'/g, "&#039;");
4265         str = str.replace(/</g, "&lt;");
4266         str = str.replace(/>/g, "&gt;");
4267         }
4268        return str;
4269   
4270    }
4271//--------------------------------------------------------------------------
4272// Common Functions
4273// 
4274// This is a safe heaven for common functions
4275// Add your common functions over here with two or three lines of what it does
4276// 
4277// Helper js functions can go here too... No discrimination
4278// 
4279// However other specific functions are not allowed
4280//--------------------------------------------------------------------------
4281// Use this function to display an acknowledgement inside an empty div
4282// just create an empty display none div and the rest is handled by this function
4283function displayAcknowledgement(reviewId, flag, html){
4284        obj = $(reviewId);
4285        if(flag == "success"){
4286            classes = "alert alert-success";
4287        } else if(flag == "error"){
4288            classes = "alert alert-danger";
4289        } else if(flag == "warning"){
4290           classes = "alert alert-warning";
4291        } else if(flag == "warning"){
4292            classes = "alert alert-info";
4293        }
4294       $(obj).addClass(classes);
4295        $(obj).attr('role', 'alert').html(html);
4296        $(obj).fadeIn(300);
4297        setTimeout(function () {
4298            $(obj).fadeOut(500, () => {
4299                $(obj).removeClass(classes);
4300            });
4301        }, 2000);
4302    }
4303    
4304//Common js function to build a quick editor (Classic Editor)
4305// just pass a css selector as argument
4306initializeCommonEditor = (selector) => {
4307        return new Promise( (resolve, reject) => {
4308            return ClassicEditor.create( document.querySelector(selector), {
4309                toolbar: [ '|', 'bold','italic', 'link', 'bulletedList'],
4310                typing: {
4311                    transformations: {
4312                        include: ['quotes','typography','symbols'],
4313                    }
4314                },
4315                link: {
4316                    decorators: {
4317                        addTargetToExternalLinks: {
4318                            mode: 'automatic',
4319                            callback: url => /^(https?:)?\/\//.test( url ),
4320                            attributes: {
4321                                target: '_blank',
4322                                rel: 'noopener noreferrer'
4323                            }
4324                        }
4325                    }
4326                }
4327        } )
4328        .then( (editor) => {
4329            resolve(editor);
4330        } )
4331        .catch( (error) => {
4332            console.error(error);
4333        } );
4334    })
4335}
4336
4337function getUtcTimeStamp(){
4338    return (new Date()).getTime();
4339}
4340
4341function getUtcTimeString(){
4342    var date  = new Date();
4343    var string = date.getUTCFullYear() + '-' + 
4344                ('0' + date.getUTCMonth()).slice(-2) + '-' + 
4345                ('0' + date.getUTCDate()).slice(-2) + ' ' + 
4346                ('0' + date.getUTCHours()).slice(-2) + ':' + 
4347                ('0' + date.getUTCMinutes()).slice(-2) + ':' + 
4348                ('0' + date.getUTCSeconds()).slice(-2);
4349    return string;
4350}
4351
4352function escapeString(text){
4353    temp = document.createElement('div');
4354    temp.textContent = text;
4355    return temp.innerHTML;
4356}
4357
4358function unescapeString(string){
4359    return $('<textarea />').html(string).text();
4360}
4361
4362function copyContent(event) {
4363    /* Get the text field */
4364    console.log(event);
4365    var copyText = $(event.target).attr('coupon-name');
4366    var element = document.createElement("input"); 
4367    element.type = 'text';
4368    element.value = copyText;
4369    element.style.position = "fixed"; // Prevent MS edge scrolling.
4370    document.body.append(element);
4371    element.select();
4372    document.execCommand("copy");
4373    document.body.removeChild(element);
4374
4375    $('#couponCopy').find('.couponCopyText').text("Coupon Copied");
4376    $('#couponCopy').show();
4377    setTimeout(function(){ 
4378        $('#couponCopy').fadeOut(300); 
4379    }, 3000);
4380    
4381    
4382    console.log(copyText)
4383  }
4384
4385    function getUtcTimeStamp(){
4386            return (new Date()).getTime();
4387        }
4388        
4389        function getUtcTimeString(){
4390            var date  = new Date();
4391            var string = date.getUTCFullYear() + '-' + 
4392                        ('0' + date.getUTCMonth()).slice(-2) + '-' + 
4393                        ('0' + date.getUTCDate()).slice(-2) + ' ' + 
4394                        ('0' + date.getUTCHours()).slice(-2) + ':' + 
4395                        ('0' + date.getUTCMinutes()).slice(-2) + ':' + 
4396                        ('0' + date.getUTCSeconds()).slice(-2);
4397            return string;
4398        }
4399        
4400        function escapeString(text){
4401            temp = document.createElement('div');
4402            temp.textContent = text;
4403            return temp.innerHTML;
4404        }
4405        
4406        function unescapeString(string){
4407            return $('<textarea />').html(string).text();
4408        }
4409        
4410        
4411// Returns a function, that, as long as it continues to be invoked, will not
4412// be triggered. The function will be called after it stops being called for
4413// N milliseconds. If `immediate` is passed, trigger the function on the
4414// leading edge, instead of the trailing.
4415function runAfter(func, wait, immediate) {
4416	var timeout;
4417	return function() {
4418		var context = this, args = arguments;
4419		var later = function() {
4420			timeout = null;
4421			if (!immediate) func.apply(context, args);
4422		};
4423		var callNow = immediate && !timeout;
4424		clearTimeout(timeout);
4425		timeout = setTimeout(later, wait);
4426		if (callNow) func.apply(context, args);
4427	};
4428};
4429
4430// Capitalize every first letter of every word in the sentence
4431function capitalize_string(str) 
4432{
4433    str = str.split(" ");
4434    for (var i = 0, x = str.length; i < x; i++) {
4435        str[i] = str[i][0].toUpperCase() + str[i].substr(1);
4436    }
4437    return str.join(" ");
4438}
4439
4440
4441    
4442// Get users timezone time based on date and time
4443/*
4444    Date Format to be inserted: Feb 20, 2021
4445    TIme Format to be inserted: 07:30 PM
4446*/
4447function GetTimezoneDate(date,time) {
4448    var timezone = Intl.DateTimeFormat().resolvedOptions().timeZone
4449    var options = { year: 'numeric', month: 'short', day: 'numeric', 'timeZone': timezone};
4450    var LocaleDate;
4451    LocalDate = new Date(date+" "+time+" GMT+05:30").toLocaleDateString("en-GB", options);
4452    return LocalDate;
4453}
4454function GetTimezoneTime(date,time) {
4455    var timezone = Intl.DateTimeFormat().resolvedOptions().timeZone
4456    var LocalTime;
4457    LocalTime = new Date(date+" "+time+" GMT+05:30").toLocaleTimeString("en-US",{ hour: '2-digit', minute: '2-digit' }, {timezone});
4458    return LocalTime;
4459}
4460
4461
4462/* 
4463    Re-usable viewmore (v 1.0)
4464    Pre-requisites:
4465        - oneElement within the parent container with ButtonClassName as class
4466    viewMoreManual(parentElementClassName, ChildElementClassName, numberOfElementToShow, viewMoreText, ViewLessText, CurrenctStatus, ButtonClassName)
4467    Optional Parameter callback function
4468    Optional Parameter Display Property
4469*/
4470function flexibleViewMore(parent, element, number, viewmoreText, viewlessText, status, button, displayProperty) {
4471    let p = document.querySelector('.'+parent);
4472    let e = document.querySelectorAll('.'+element);
4473    let domElement = document.querySelector('.'+button);
4474
4475    e.forEach(function(item, index) {
4476        if(status === 'show') {
4477            item.style.display = 'block';
4478            if(displayProperty) {
4479                item.style.display = displayProperty;
4480            }
4481        } else if(status === 'hide') {
4482            if(index <= (number-1)) {
4483            } else {
4484                item.style.display = 'none';
4485            }
4486        }
4487    });
4488    if(status === 'show') { 
4489        domElement.innerHTML = viewlessText;
4490        domElement.setAttribute('data-status','hide');
4491    } else {
4492        domElement.innerHTML = viewmoreText;
4493        domElement.setAttribute('data-status','show');
4494    }
4495    
4496}
4497function attachListener(parent, element, number, viewmoreText, viewlessText, status, button, displayProperty) {
4498    let domElement = document.querySelector('.'+button);
4499    domElement.addEventListener('click', function() {
4500        let attr = domElement.getAttribute('data-status');
4501        flexibleViewMore(parent, element, number, viewmoreText, viewlessText, attr, button, displayProperty);
4502    });
4503}
4504function viewMoreManual(parent, element, number, viewmoreText, viewlessText, status, button, displayProperty, callbackfunc='') {
4505    flexibleViewMore(parent, element, number, viewmoreText, viewlessText, status, button, displayProperty);
4506    attachListener(parent, element, number, viewmoreText, viewlessText, status, button, displayProperty);
4507    if(callbackfunc) {
4508        callbackfunc();
4509    }
4510}
4511function trackmetapixel(type){
4512    var currentPageUrl = window.location.href;
4513    var urlSegments = currentPageUrl.split('/');
4514    var lastSegment = urlSegments[urlSegments.length - 1];
4515    var myarray = ['chatgpt-for-marketing', 'chatgpt-ai-tool', 'chatgpt-booster-for-business','chatgpt-accelerator-boost-productivity'];
4516    if (myarray.includes(lastSegment) && typeof fbq !== 'undefined') {
4517        console.log("meta pixel tracking");
4518        if (type == 'add_cart'){
4519            fbq('track', 'SubmitApplication');
4520            localStorage.setItem("metapixeltrack", lastSegment);
4521       }
4522    } else {
4523        console.log("meta pixel not matched");
4524    }
4525}
4526function checkcartValue(event,x) {
4527    event.preventDefault();
4528    var myarray = ['chatgpt-for-marketing', 'chatgpt-ai-tool', 'chatgpt-booster-for-business','chatgpt-accelerator-boost-productivity'];
4529    pixelitem = localStorage.getItem("metapixeltrack");
4530    if (myarray.includes(pixelitem) && pixelitem != '' && typeof fbq !== 'undefined') {
4531        fbq('track', 'AddToCart');
4532        console.log("meta pixel tracking");
4533    } else {
4534        localStorage.removeItem('metapixeltrack');
4535    }
4536    window.location.href = x.href;
4537}
4538//--------------------------------------------------------------------------
4539// Common Functions, go no further
4540//--------------------------------------------------------------------------
4541
4542function addtoinfinitiethicalhacking(obj, pro_id, module){
4543    if (module == 'bww') {
4544        p_id =  pro_id;
4545        pro_id = qwer;
4546        incart = '1';
4547        var encode_str = btoa(pro_id + "@" + module + "#" +p_id);
4548    }else{
4549        var encode_str = btoa(pro_id + "@" + module);
4550    }
4551     window.location.href = software_url + "dashboard/infiniti_ethical_hacking_library/" + encode_str;
4552}
4553
4554function showPremiumLoaderInDiv(obj){
4555    $(obj).html(`<div class="three_dot_loader showLoader" >
4556        <span class="loader"></span>
4557    </div>`);
4558}
4559
4560function checkout_dual(lifetime_gift = '', pagename = '') {
4561    var c = $('#cvbn').val();
4562    var p = $('#poiu').val();
4563    var module = $('#module').val();
4564    var is_emi = $('#is_emi').val();
4565    var no_of_emi = $('#no_of_emi').val();
4566    var lifetimeType = $('#lifetimeType').val();
4567    if (is_emi == '1') {
4568        var encode_str = btoa(p + "@" + module + "@" + is_emi+ "@" + no_of_emi);
4569    }else{
4570         var encode_str = btoa(p + "@" + module);
4571    }
4572    var cpn_str = "";
4573    if (c != '' && is_emi != '1') {
4574        cpn_str = "?coupon_code=" + c;
4575    }
4576    lifetime_gift_str = '';
4577    if (lifetime_gift != '' && is_emi != '1') {
4578        lifetime_gift_str = "&lifetime_gift_str=gift";
4579    }
4580    lifetimetype = '';
4581    if (lifetimeType != '' && (lifetimeType == 1 || lifetimeType == 5 || lifetimeType == 3)) {
4582        lifetimetype = "&lifetimetype="+lifetimeType;
4583    }
4584    if (pagename == 'infiniti') {
4585        lifetimetype = "&?lifetimetype="+lifetimeType;
4586    }
4587    window.location.href = software_url + "checkout_dual/" + encode_str + cpn_str + lifetime_gift_str + lifetimetype;
4588}
4589
4590function checkout_student_offer(lifetime_gift = '', pagename = '') {
4591    var c = $('#cvbn').val();
4592    var p = $('#poiu').val();
4593    var module = $('#module').val();
4594    var is_emi = $('#is_emi').val();
4595    var no_of_emi = $('#no_of_emi').val();
4596    var lifetimeType = $('#lifetimeType').val();
4597    if (is_emi == '1') {
4598        var encode_str = btoa(p + "@" + module + "@" + is_emi+ "@" + no_of_emi);
4599    }else{
4600         var encode_str = btoa(p + "@" + module);
4601    }
4602    var cpn_str = "";
4603    if (c != '' && is_emi != '1') {
4604        cpn_str = "?coupon_code=" + c;
4605    }
4606    lifetime_gift_str = '';
4607    if (lifetime_gift != '' && is_emi != '1') {
4608        lifetime_gift_str = "&lifetime_gift_str=gift";
4609    }
4610    lifetimetype = '';
4611    if (lifetimeType != '' && (lifetimeType == 1 || lifetimeType == 5 || lifetimeType == 3)) {
4612        lifetimetype = "&lifetimetype="+lifetimeType;
4613    }
4614    if (pagename == 'infiniti') {
4615        lifetimetype = "&?lifetimetype="+lifetimeType;
4616    }
4617    window.location.href = software_url + "checkout_student_offer/" + encode_str + cpn_str + lifetime_gift_str + lifetimetype;
4618}
4619
4620function checkout_packOfFive(lifetime_gift = '', pagename = '') {
4621    var c = $('#cvbn').val();
4622    var p = $('#poiu').val();
4623    var module = $('#module').val();
4624    var is_emi = $('#is_emi').val();
4625    var no_of_emi = $('#no_of_emi').val();
4626    var lifetimeType = $('#lifetimeType').val();
4627    if (is_emi == '1') {
4628        var encode_str = btoa(p + "@" + module + "@" + is_emi+ "@" + no_of_emi);
4629    }else{
4630        console.log(p + "@" + module);
4631         var encode_str = btoa(p + "@" + module);
4632    }
4633    var cpn_str = "";
4634    if (c != '' && is_emi != '1') {
4635        cpn_str = "?coupon_code=" + c;
4636    }
4637    lifetime_gift_str = '';
4638    if (lifetime_gift != '' && is_emi != '1') {
4639        lifetime_gift_str = "&lifetime_gift_str=gift";
4640    }
4641    lifetimetype = '';
4642    if (lifetimeType != '' && (lifetimeType == 1 || lifetimeType == 5 || lifetimeType == 3)) {
4643        lifetimetype = "&lifetimetype="+lifetimeType;
4644    }
4645    if (pagename == 'infiniti') {
4646        lifetimetype = "&?lifetimetype="+lifetimeType;
4647    }
4648    window.location.href = software_url + "checkout_lifetime_business/" + encode_str + cpn_str + lifetime_gift_str + lifetimetype;
4649}
4650
4651function checkout_lifetime_premium(lifetime_gift = '', pagename = '') {
4652    var c = $('#cvbn').val();
4653    var p = $('#poiu').val();
4654    var module = $('#module').val();
4655    var is_emi = $('#is_emi').val();
4656    var no_of_emi = $('#no_of_emi').val();
4657    var lifetimeType = $('#lifetimeType').val();
4658    if (is_emi == '1') {
4659        var encode_str = btoa(p + "@" + module + "@" + is_emi+ "@" + no_of_emi);
4660    }else{
4661         var encode_str = btoa(p + "@" + module);
4662    }
4663    var cpn_str = "";
4664    if (c != '' && is_emi != '1') {
4665        cpn_str = "?coupon_code=" + c;
4666    }
4667    lifetime_gift_str = '';
4668    if (lifetime_gift != '' && is_emi != '1') {
4669        lifetime_gift_str = "&lifetime_gift_str=gift";
4670    }
4671    lifetimetype = '';
4672    if (lifetimeType != '' && (lifetimeType == 1 || lifetimeType == 5 || lifetimeType == 3)) {
4673        lifetimetype = "&lifetimetype="+lifetimeType;
4674    }
4675    if (pagename == 'infiniti') {
4676        lifetimetype = "&?lifetimetype="+lifetimeType;
4677    }
4678    window.location.href = software_url + "checkout_lifetime_premium_plan/" + encode_str + cpn_str + lifetime_gift_str + lifetimetype;
4679}
4680
4681function checkout_lifetime_emi(lifetime_gift = '', pagename = '') {
4682    var c = $('#cvbn').val();
4683    var p = $('#poiu').val();
4684    var module = $('#module').val();
4685    var is_emi = $('#is_emi').val();
4686    var no_of_emi = $('#no_of_emi').val();
4687    var lifetimeType = $('#lifetimeType').val();
4688    console.log("module",module);
4689    console.log("is_emi",is_emi);
4690    console.log("no_of_emi",no_of_emi);
4691    console.log("lifetimeType",lifetimeType);
4692    var gift = check_gift_array();
4693    if (is_emi == '1') {
4694        var encode_str = btoa(p + "@" + module + "@" + is_emi+ "@" + no_of_emi);
4695    }else{
4696         var encode_str = btoa(p + "@" + module);
4697    }
4698
4699    var cpn_str = "";
4700    if (c != '' && is_emi != '1') {
4701        cpn_str = "?coupon_code=" + c;
4702    }
4703    lifetime_gift_str = '';
4704    if (lifetime_gift != '' && is_emi != '1') {
4705        lifetime_gift_str = "&lifetime_gift_str=gift";
4706    }
4707
4708    lifetimetype = '';
4709    if (lifetimeType != '' && (lifetimeType == 1 || lifetimeType == 5 || lifetimeType == 3)) {
4710        lifetimetype = "&lifetimetype="+lifetimeType;
4711    }
4712    if (pagename == 'infiniti') {
4713        lifetimetype = "&?lifetimetype="+lifetimeType;
4714    }
4715    window.location.href = software_url + "checkout_lifetime_emi/" + encode_str + cpn_str + lifetime_gift_str + lifetimetype;
4716}
4717
4718//checkout function for black friday
4719function checkout_lifetime_bf(lifetime_gift = '', pagename = '') {
4720    var c = $('#cvbn').val();
4721    var p = $('#poiu').val();
4722    var module = $('#module').val();
4723    var is_emi = $('#is_emi').val();
4724    var no_of_emi = $('#no_of_emi').val();
4725    var lifetimeType = $('#lifetimeType').val();
4726    var gift = check_gift_array();
4727    if (is_emi == '1') {
4728        var encode_str = btoa(p + "@" + module + "@" + is_emi+ "@" + no_of_emi);
4729    }else{
4730         var encode_str = btoa(p + "@" + module);
4731    }
4732    var cpn_str = "";
4733    if (c != '' && is_emi != '1') {
4734        cpn_str = "?coupon_code=" + c;
4735    }
4736    lifetime_gift_str = '';
4737    if (lifetime_gift != '' && is_emi != '1') {
4738        lifetime_gift_str = "&lifetime_gift_str=gift";
4739    }
4740    lifetimetype = '';
4741    if (lifetimeType != '' && (lifetimeType == 1 || lifetimeType == 5 || lifetimeType == 3)) {
4742        lifetimetype = "&lifetimetype="+lifetimeType;
4743    }
4744    if (pagename == 'infiniti') {
4745        lifetimetype = "&?lifetimetype="+lifetimeType;
4746    }
4747    window.location.href = software_url + "checkout_lifetime_bf/" + encode_str + cpn_str + lifetime_gift_str + lifetimetype;
4748}
4749
4750// Common tracking function that accepts an object parameter
4751function trackBuyClick(params) {
4752    // Extract parameters with defaults
4753    const {
4754        planType = 'full',
4755        courseId = $('#poiu').val() || defaultCourseId,
4756        utm_source = getUrlParam('utm_source'),
4757        utm_medium = getUrlParam('utm_medium'),
4758        utm_campaign = getUrlParam('utm_campaign'),
4759        landing_page = window.location.href,
4760        _token = csrfToken
4761    } = params;
4762
4763    // Make AJAX call
4764    $.ajax({
4765        url: software_url + 'tracking/track_buy_click',
4766        type: 'POST',
4767        data: {
4768            plan_type: planType,
4769            course_id: courseId,
4770            _token: _token,
4771            utm_source: utm_source,
4772            utm_medium: utm_medium,
4773            utm_campaign: utm_campaign,
4774            landing_page: landing_page,
4775        },
4776        async: false // Make synchronous to ensure tracking before redirect
4777    });
4778}
4779
4780// Helper function to get URL parameters
4781function getUrlParam(param) {
4782    const urlParams = new URLSearchParams(window.location.search);
4783    return urlParams.get(param) || '';
4784}
4785
4786// Track payment gateway selection
4787function trackPaymentSelection(params) {
4788    // Extract parameters with defaults
4789    const {
4790        gateway, // Required parameter
4791        landing_page = window.location.href,
4792        product_id = '',
4793        is_emi = 0,
4794        no_of_emi = 0,
4795        _token
4796    } = params;
4797
4798    $.ajax({
4799        url: software_url + 'tracking/track_payment_selection',
4800        type: 'POST',
4801        data: {
4802            payment_gateway: gateway,
4803            landing_page: landing_page,
4804            product_id: product_id,
4805            is_emi: is_emi,
4806            no_of_emi: no_of_emi,
4807            _token: _token
4808        }
4809    });
4810}
4811
4812function loadCodingCourseChapters(coding_courses_id) {
4813    var jax = true;
4814    $.ajax({
4815        type: "POST",
4816        data: {coding_courses_id: coding_courses_id},
4817        url: software_url + 'product/getCodingCourseChapters',
4818        success: function (data) {
4819            $('#courseContentBody').attr("data-state", "loaded").html(data);
4820        }
4821    });
4822}
4823
4824function checkout_single_gift(lifetime_gift = '', pagename = '') {
4825    var c = $('#cvbn').val();
4826    var p = $('#poiu').val();
4827    var module = $('#module').val();
4828    var is_emi = $('#is_emi').val();
4829    var no_of_emi = $('#no_of_emi').val();
4830    var lifetimeType = $('#lifetimeType').val();
4831    if (is_emi == '1') {
4832        var encode_str = btoa(p + "@" + module + "@" + is_emi+ "@" + no_of_emi);
4833    }else{
4834         var encode_str = btoa(p + "@" + module);
4835    }
4836    var cpn_str = "";
4837    if (c != '' && is_emi != '1') {
4838        cpn_str = "?coupon_code=" + c;
4839    }
4840    lifetime_gift_str = '';
4841    if (lifetime_gift != '' && is_emi != '1') {
4842        lifetime_gift_str = "&lifetime_gift_str=gift";
4843    }
4844    lifetimetype = '';
4845    if (lifetimeType != '' && (lifetimeType == 1 || lifetimeType == 5 || lifetimeType == 3)) {
4846        lifetimetype = "&lifetimetype="+lifetimeType;
4847    }
4848    if (pagename == 'infiniti') {
4849        lifetimetype = "&?lifetimetype="+lifetimeType;
4850    }
4851    window.location.href = software_url + "checkout_single_gift/" + encode_str + cpn_str + lifetime_gift_str + lifetimetype;
4852}

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.