PageSourceSearch

https://legiit.com/frontend/assets/js/custom.js?v=177.35

js legiit.com collected 2026-09-24 09:45:35 UTC 67,756 bytes, 2,261 lines download raw bytes

1//countdown timer
2
3var back_slider_arrow = base_url + '/frontend/assets/img/back.png';
4var home_slider_left = base_url + '/img/homepage/slider-left.png';
5
6var dark_mode_theme = $('#global_id_dark_mode').val();
7if(dark_mode_theme !== undefined && dark_mode_theme == 1) {
8	back_slider_arrow = base_url + '/frontend/assets/img/dark_mode_back.svg';
9}
10var left_arrow = base_url + '/frontend/assets/img/dark_mode_back.svg';
11
12function legiitEndDateToTimestampMs(endDateRaw) {
13	if (!endDateRaw) {
14		return null;
15	}
16	var s = String(endDateRaw).trim();
17	if (!s) {
18		return null;
19	}
20	// Match server strtotime / app timezone — do not treat as UTC (no trailing Z).
21	var iso = s.indexOf('T') >= 0 ? s : s.replace(' ', 'T');
22	var d = new Date(iso);
23	return isNaN(d.getTime()) ? null : d.getTime();
24}
25
26function legiitShowOrderLateBadge() {
27	if (document.getElementById('legiit-order-late-badge')) {
28		return;
29	}
30	var title = document.querySelector('header.masthead h1');
31	if (!title) {
32		return;
33	}
34	var sep = document.createElement('span');
35	sep.className = 'pl-2 pr-2';
36	sep.textContent = '|';
37	var badge = document.createElement('span');
38	badge.id = 'legiit-order-late-badge';
39	badge.className = 'bg-danger align-middle font-12 py-1 px-3 border-radius-12px text-uppercase';
40	badge.textContent = 'Order is late';
41	title.appendChild(sep);
42	title.appendChild(badge);
43}
44
45function legiitParseOrderCountdownTarget(input) {
46	if (!input) {
47		return null;
48	}
49	var endTs = input.getAttribute('data-end-ts');
50	if (endTs) {
51		var ts = parseInt(endTs, 10);
52		if (!isNaN(ts) && ts > 0) {
53			var fromTs = new Date(ts);
54			if (!isNaN(fromTs.getTime())) {
55				return fromTs;
56			}
57		}
58	}
59	var days = parseInt(input.getAttribute('data-days') || '0', 10) || 0;
60	var hours = parseInt(input.getAttribute('data-hours') || '0', 10) || 0;
61	var minutes = parseInt(input.getAttribute('data-minutes') || '0', 10) || 0;
62	var seconds = parseInt(input.getAttribute('data-seconds') || '0', 10) || 0;
63	var targetDate = new Date();
64	targetDate.setSeconds(targetDate.getSeconds() + seconds);
65	targetDate.setMinutes(targetDate.getMinutes() + minutes);
66	targetDate.setHours(targetDate.getHours() + hours);
67	targetDate.setDate(targetDate.getDate() + days);
68	return targetDate;
69}
70
71function legiitStartOrderCountdown(targetDate) {
72	if (!targetDate || isNaN(targetDate.getTime()) || typeof LsCountdown === 'undefined') {
73		return null;
74	}
75	if (targetDate <= new Date()) {
76		return null;
77	}
78
79	var onStart = function () {
80		document.querySelectorAll('.countdown-item').forEach(function (item) {
81			item.classList.add('show');
82		});
83	};
84	var onTick = function (tick) {
85		var daysEl = document.querySelector('.countdown-item.days');
86		var hoursEl = document.querySelector('.countdown-item.hours');
87		var minutesEl = document.querySelector('.countdown-item.minutes');
88		var secondsEl = document.querySelector('.countdown-item.seconds');
89		if (daysEl) daysEl.innerHTML = (tick.days || '').replace('d', '');
90		if (hoursEl) hoursEl.innerHTML = (tick.hours || '').replace('h', '');
91		if (minutesEl) minutesEl.innerHTML = (tick.minutes || '').replace('m', '');
92		if (secondsEl) secondsEl.innerHTML = (tick.seconds || '').replace('s', '');
93		if (targetDate <= new Date()) {
94			legiitShowOrderLateBadge();
95		}
96	};
97
98	if (window.mycountdown && typeof window.mycountdown.changeTargetDate === 'function') {
99		try {
100			window.mycountdown.changeTargetDate(targetDate);
101			return window.mycountdown;
102		} catch (e) {
103			window.mycountdown = null;
104		}
105	}
106
107	try {
108		var options = new LsCountdownOptions({ targetDate: targetDate, onStart: onStart, onTick: onTick });
109		var countdown = new LsCountdown(options);
110		countdown.start();
111		window.mycountdown = countdown;
112		return countdown;
113	} catch (e) {
114		return null;
115	}
116}
117
118/** Call from order_details after countdown.js (not from DOMContentLoaded here — fixes script load order). */
119function legiitInitOrderCountdown() {
120	var input = document.getElementById('seller_countdown');
121	if (!input || !document.querySelector('.countdown-item')) {
122		return null;
123	}
124	return legiitStartOrderCountdown(legiitParseOrderCountdownTarget(input));
125}
126
127function legiitApplyOrderDeadline(orderNo, endDateRaw, endTsRaw) {
128	var input = document.getElementById('seller_countdown');
129	if (!input || !orderNo) {
130		return;
131	}
132	if (String(input.getAttribute('data-order-no') || '') !== String(orderNo)) {
133		return;
134	}
135	if (endDateRaw) {
136		input.setAttribute('data-end-date', endDateRaw);
137	}
138	var resolvedTs = endTsRaw ? parseInt(endTsRaw, 10) : null;
139	if ((!resolvedTs || isNaN(resolvedTs)) && endDateRaw) {
140		resolvedTs = legiitEndDateToTimestampMs(endDateRaw);
141	}
142	if (resolvedTs && !isNaN(resolvedTs)) {
143		input.setAttribute('data-end-ts', String(resolvedTs));
144	}
145	input.removeAttribute('data-days');
146	input.removeAttribute('data-hours');
147	input.removeAttribute('data-minutes');
148	input.removeAttribute('data-seconds');
149	if (window.mycountdown && typeof window.mycountdown.stop === 'function') {
150		try {
151			window.mycountdown.stop();
152		} catch (e) {
153			/* ignore */
154		}
155	}
156	window.mycountdown = null;
157	legiitStartOrderCountdown(legiitParseOrderCountdownTarget(input));
158}
159
160window.legiitInitOrderCountdown = legiitInitOrderCountdown;
161window.legiitApplyOrderDeadline = legiitApplyOrderDeadline;
162
163window.addEventListener('legiit:realtime', function (event) {
164	var detail = event && event.detail ? event.detail : {};
165	if (detail.type !== 'order.deadline_updated') {
166		return;
167	}
168	legiitApplyOrderDeadline(detail.order_no, detail.end_date, detail.end_ts);
169});
170
171//countdown timer
172/*if ( $( ".countdown-item" ).length ) {
173	document.addEventListener("DOMContentLoaded", function () {
174		let currentYear = new Date().getFullYear();
175		let targetDate = new Date(currentYear + 1, 0, 1);
176		let onStart = () => {
177			document.querySelectorAll('.countdown-item').forEach(item => item.classList.add('show'))
178		}
179		let onTick = ({ days, hours, minutes, seconds }) => {
180			document.querySelector('.countdown-item.days').innerHTML = days;
181			document.querySelector('.countdown-item.hours').innerHTML = hours;
182			document.querySelector('.countdown-item.minutes').innerHTML = minutes;
183			document.querySelector('.countdown-item.seconds').innerHTML = seconds;
184		};
185		let options = new LsCountdownOptions({ targetDate, onStart, onTick });
186		let countdown = new LsCountdown(options);
187
188		countdown.start();
189		window.mycountdown = countdown;
190	});
191}*/
192//emoji in textarea order detail
193if ( $( "[data-emojiable=true]" ).length ) {
194	$(function () {
195	  // Initializes and creates emoji set from sprite sheet
196	  window.emojiPicker = new EmojiPicker({
197	  	emojiable_selector: '[data-emojiable=true]',
198	  	assetsPath: imoji_url,
199	  	popupButtonClasses: 'fa fa-smile-o'
200	  });
201	  window.emojiPicker.discover();
202	});
203}
204//popup close remove div order detail page
205
206$( ".order-detail-section-box" ).on( "click", " .close", function(e) {
207	e.preventDefault();
208	$('.order-detail-section-box .profile-detail').remove();
209});
210
211
212$(document).ready(function(){
213	$('.dropdown-submenu a.cus-drop').on("click", function(e){
214		$(this).next('ul').toggle();
215		e.stopPropagation();
216		e.preventDefault();
217	});
218    //order detail page tabbing 
219    $('.order-detail-section .vertical-tab .nav-tabs li').on("click", function(e){
220    	e.preventDefault();
221    	$('.order-detail-section .vertical-tab .nav-tabs li').removeClass("active"); 
222    	$(this).addClass("active");
223
224    });
225
226
227});
228
229$(".popular-grid-one").slick({
230	dots: false,
231	speed: 300,
232	slidesToShow: 3,
233	infinite:false,
234	centerPadding: 30,
235	prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
236	nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
237	responsive: [{
238		breakpoint: 1200,
239		settings: {
240			slidesToShow: 2,
241			slidesToScroll: 1,
242        // centerMode: true,
243
244    }
245},{
246	breakpoint: 992,
247	settings: {
248		slidesToShow: 2,
249		slidesToScroll: 1,
250	// centerMode: true,
251	}
252},
253{
254	breakpoint: 767,
255	settings: {
256		slidesToShow: 1,
257		slidesToScroll: 1
258	}
259}]
260});
261
262$(".popular-services li a").click(function(){
263    // alert("Hii");
264    // $('.skills_section').slick('reinit');
265    //$( ".popular-grid-one" ).refresh();
266    //var $slider = ".popular-grid-one";
267    $('.popular-grid-one .cus-arrow-left').click();
268    //$slider.slick('refresh');
269    // $(".popular-grid-one").slick({
270    //   dots: false,
271    // speed: 300,
272    // slidesToShow: 3,
273    // infinite:false,
274    // centerPadding: 30,
275    // prevArrow: '<span class="cus-arrow-left"><i class="fa fa-chevron-left"></i></span>',
276    // nextArrow: '<span class="cus-arrow-right"><i class="fa fa-chevron-right"></i></span>',
277    // });
278
279
280    //  if (jQuery('.popular-grid-one').hasClass('slick-initialized')) {
281    //    jQuery('.popular-grid-one').slick('destroy');
282    //  }      
283});
284
285
286$(".popular-grid-two").slick({
287  // dots: false,
288  speed: 300,
289  slidesToShow: 4,
290  arrows: true,
291  infinite:false,
292  centerPadding: 30,
293  // prevArrow: '<span class="cus-arrow-left new"><i class="fa fa-chevron-left"></i></span>',
294  // nextArrow: '<span class="cus-arrow-right new"><i class="fa fa-chevron-right"></i></span>',
295  prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
296  nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
297  responsive: [{
298  	breakpoint: 1024,
299  	settings: {
300  		slidesToShow: 3,
301  		slidesToScroll: 1,
302        // centerMode: true,
303
304    }
305},
306{
307	breakpoint: 767,
308	settings: {
309		slidesToShow: 1,
310		slidesToScroll: 1
311	}
312}]
313});
314
315$(".popular-grid-three").slick({
316    // dots: true,
317    speed: 300,
318    slidesToShow: 4,
319    infinite:false,
320    centerPadding: 30,
321    prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
322    nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
323    responsive: [{
324    	breakpoint: 1200,
325    	settings: {
326    		slidesToShow: 3,
327    		slidesToScroll: 1,
328        // centerMode: true,
329		}
330	},{
331    	breakpoint: 992,
332    	settings: {
333    		slidesToShow: 2,
334    		slidesToScroll: 1,
335        // centerMode: true,
336		}
337	},
338	{
339	breakpoint: 600,
340	settings: {
341		slidesToShow: 1,
342		slidesToScroll: 1
343	}
344}]
345});
346
347$(".other-course-likes").slick({
348    // dots: true,
349    speed: 300,
350    slidesToShow: 3,
351    infinite:false,
352    centerPadding: 30,
353    prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
354    nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
355    responsive: [
356		{
357			breakpoint: 1024,
358			settings: {
359				slidesToShow: 3,
360				slidesToScroll: 1,
361				centerMode: true,
362			}
363		},
364		{
365			breakpoint: 767,
366			settings: {
367				slidesToShow: 1,
368				slidesToScroll: 1
369			}
370		}
371	]
372});
373$(".popular-grid-marketing").slick({
374    // dots: true,
375    speed: 300,
376    slidesToShow: 3,
377    infinite:false,
378    centerPadding: 30,
379    prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
380    nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
381    responsive: [{
382    	breakpoint: 1024,
383    	settings: {
384    		slidesToShow: 3,
385    		slidesToScroll: 1,
386        // centerMode: true,
387
388    }
389},
390{
391	breakpoint: 767,
392	settings: {
393		slidesToShow: 1,
394		slidesToScroll: 1
395	}
396}]
397});
398
399
400$(".popular-grid-cart").slick({
401    // dots: true,
402    speed: 300,
403    slidesToShow: 5,
404    infinite:false,
405    centerPadding: 30,
406    prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
407    nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
408    responsive: [{
409    	breakpoint: 1024,
410    	settings: {
411    		slidesToShow: 3,
412    		slidesToScroll: 1,
413	    }
414	},
415	{
416		breakpoint: 767,
417		settings: {
418			slidesToShow: 1,
419			slidesToScroll: 1
420		}
421	}]
422});
423
424$(".popular-grid-cart-new").slick({
425    // dots: true,
426    speed: 300,
427    slidesToShow: 3,
428    infinite:false,
429    centerPadding: 30,
430    prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
431    nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
432    responsive: [{
433    	breakpoint: 1024,
434    	settings: {
435    		slidesToShow: 3,
436    		slidesToScroll: 1,
437	    }
438	},
439	{
440		breakpoint: 767,
441		settings: {
442			slidesToShow: 1,
443			slidesToScroll: 1
444		}
445	}]
446});
447
448$(".experts-grid").slick({
449    // dots: true,
450    speed: 300,
451    slidesToShow: 3,
452    infinite:false,
453    centerPadding: '40',
454  // prevArrow: '<span class="cus-arrow-left exicon"><i class="fa fa-chevron-left"></i></span>',
455  // nextArrow: '<span class="cus-arrow-right exicon"><i class="fa fa-chevron-right"></i></span>',
456  prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
457  nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
458  responsive: [{
459  	breakpoint: 1024,
460  	settings: {
461  		slidesToShow: 2,
462  		slidesToScroll: 1,
463        // centerMode: true,
464
465    }
466},
467{
468	breakpoint: 767,
469	settings: {
470		slidesToShow: 1,
471		slidesToScroll: 1
472	}
473}]
474});
475
476$(".testimonial-grid").slick({
477    speed: 300,
478    //slidesToShow: 3,
479    infinite:false,
480    centerPadding: '40',
481  	prevArrow: '<span class="cus-arrow-left"><img src="'+left_arrow+'"></span>',
482  	nextArrow: '<span class="cus-arrow-right"><img src="'+left_arrow+'"></span>',
483  	responsive: [{
484		breakpoint: 1024,
485		settings: {
486			slidesToShow: 2,
487			slidesToScroll: 1,
488		}
489	},
490	{
491		breakpoint: 767,
492		settings: {
493			slidesToShow: 1,
494			slidesToScroll: 1
495		}
496	}]
497});
498
499
500$(".popular-grid-category").slick({
501    // dots: true,
502    speed: 300,
503    slidesToShow: 4,
504    infinite:false,
505    centerPadding: 30,
506  // prevArrow: '<span class="cus-arrow-left exicon"><i class="fa fa-chevron-left"></i></span>',
507  // nextArrow: '<span class="cus-arrow-right exicon"><i class="fa fa-chevron-right"></i></span>',
508  prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
509  nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
510  responsive: [{
511  	breakpoint: 1024,
512  	settings: {
513  		slidesToShow: 3,
514  		slidesToScroll: 1,
515        // centerMode: true,
516
517    }
518},
519{
520	breakpoint: 767,
521	settings: {
522		slidesToShow: 1,
523		slidesToScroll: 1
524	}
525}]
526});
527
528
529$('.product-slider .slider-for').slick({
530	slidesToShow: 1,
531	slidesToScroll: 1,
532	arrows: false,
533	fade: true,
534	asNavFor: '.product-slider .slider-nav'
535});
536$('.product-slider .slider-nav').slick({
537	slidesToShow: 5,
538	slidesToScroll: 1,
539	asNavFor: '.product-slider .slider-for',
540	dots: true,
541    // centerMode: true,
542    focusOnSelect: true
543});
544
545$('.home-slick-slider').slick({
546  	dots: true,
547	autoplay: true,
548  	autoplaySpeed: 5000,
549  	speed: 500,
550  	fade: true,
551  	cssEase: 'linear'
552});
553
554$(".show-more").click(function () {
555	if($(".text").hasClass("show-more-height")) {
556		$(this).text("- Less");
557	} else {
558		$(this).text("+ More");
559	}
560
561	$(".text").toggleClass("show-more-height");
562});
563
564
565
566//mobile device chat screen 
567$(document).ready(function () {
568	$(window).on("resize", function (e) {
569		checkScreenSize();
570	});
571
572	checkScreenSize();
573
574	function checkScreenSize(){
575		var newWindowWidth = $(window).width();
576		if (newWindowWidth < 767) {
577			$('.chat_list').click(function(event) {
578				$('#chatmobile').modal();
579			});
580
581		}
582
583	}
584});
585
586     // $('#dp1').datepicker();
587
588     if ( $( "#dpd1" ).length ) {
589        //$('#dpd1').datepicker();
590		  	//$('#dpd2').datepicker();
591		  	var nowTemp = new Date();
592		  	var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);
593
594		  	var checkin = $('#dpd1').datepicker({
595		  		/*onRender: function(date) {
596		  			return date.valueOf() < now.valueOf() ? 'disabled' : '';
597		  		}*/
598		  	}).on('changeDate', function(ev) {
599		  		if (ev.date.valueOf() > checkout.date.valueOf()) {
600		  			var newDate = new Date(ev.date)
601		  			newDate.setDate(newDate.getDate() + 1);
602		  			checkout.setValue(newDate);
603		  		}
604		  		checkin.hide();
605		  		$('#dpd2')[0].focus();
606		  	}).data('datepicker');
607		  	var checkout = $('#dpd2').datepicker({
608		  		/*onRender: function(date) {
609		  			return date.valueOf() <= checkin.date.valueOf() ? 'disabled' : '';
610		  		}*/
611		  	}).on('changeDate', function(ev) {
612		  		checkout.hide();
613		  	}).data('datepicker');      
614
615		  }
616
617
618
619//search box select value in search page
620$(document).ready(function(){
621
622	$(".cus-sort-by li a").click(function(){
623		var selectval = $(this).text();
624		$('.selectvalue').text(selectval);
625	});
626
627	/*
628	if ( $( ".tags" ).length ) {
629		$('.tags').tagsinput({
630			tagClass: 'big label label-primary',
631			preventPost: true
632		});
633	}
634	if ( $( "#meta_keywords" ).length ) {
635		$('#meta_keywords').tagsinput({
636			tagClass: 'big label label-primary',
637			preventPost: true,
638			maxTags: 10
639		});
640	}  
641
642	if ( $( "#descriptions" ).length ) {
643		CKEDITOR.replace( 'descriptions', {
644			height: 300,
645		});
646	}
647	*/
648	// if ( $( "#tem_descriptions" ).length ) {
649	// 	CKEDITOR.replace( 'tem_descriptions', {
650	// 		height: 300,
651	// 	});
652	// }
653});
654
655
656
657
658//chat screen append
659$(document).ready(function(){
660	$(".chat_list").click(function(){
661		$(".chat_list.active_chat").removeClass('active_chat'); 
662		$(this).addClass('active_chat');
663	});
664});
665
666
667// $(document).ready(function(){
668//   $(".chat_send_btn").click(function(){
669//      var chat_val = $(".write_msg").val();
670//      $(".msg_history").append('<div class="outgoing_msg"><div class="sent_msg"><p>'+chat_val+' <span class="time_date"> 11:01 AM    |    June 9</span></p></div></div>'); 
671//      $(".write_msg").val('');
672//     });
673//     if(e.which == 13) {
674//       alert("Hi");
675//       var chat_val = $(".write_msg").val();
676//       $(".msg_history").append('<div class="outgoing_msg"><div class="sent_msg"><p>'+chat_val+' <span class="time_date"> 11:01 AM    |    June 9</span></p></div></div>'); 
677//       $(".write_msg").val('');
678//   }
679// });
680
681
682///////////////////file upload design//////////////////////
683function readURL(input) {
684	if (input.files && input.files[0]) {
685		var reader = new FileReader();
686		reader.onload = function(e) {
687			$('#imagePreview').css('background-image', 'url('+e.target.result +')');
688			$('#imagePreview').hide();
689			$('#imagePreview').fadeIn(650);
690		}
691		reader.readAsDataURL(input.files[0]);
692	}
693}
694$("#imageUpload").change(function() {
695	readURL(this);
696});
697
698/////////////////////add new field///////////////////////////
699$(document).ready(function() {
700	var max_fields      = 10; //maximum input boxes allowed
701	var wrapper   		= $(".append-row .append-before"); //Fields wrapper
702	var add_button      = $(".add_field_button"); //Add button ID
703	var language_index  = $(".language_index_length").val();//get index value of language
704	var x = 1; //initlal text box count
705	$(add_button).click(function(e){ //on add input button click
706		e.preventDefault();
707		var row = $('.append-row .newrow:last');
708		var itemvalue = row.find('.languages_name').val();
709
710		if(itemvalue == ''){
711			return false;
712		}
713		if(x < max_fields){ //max input box allowed
714			x++; //text box increment
715			console.log("x: " + x);
716			$(wrapper).before('<div class="row align-items-center justify-content-between newrow mx-4 mt-3 m-0"><div class="col-sm-auto"><div class="language"><h6 class="register-text-dark-black font-14 font-weight-bold mb-sm-1">Language</h6> <input type="text" name="language[' + x + '][language]" id="languages_name" class="form-control languages_name" value=""></div></div><div class="col-sm-auto mt-3 mt-md-0"><div class="level"><h6 class="register-text-dark-black font-14 font-weight-bold mb-sm-1">Level</h6><select name="language[' + x + '][level]" id="languages_level" class="form-control"><option value="basic">Basic</option><option value="conversational">Conversational</option><option value="fluent">Fluent</option><option value="native_or_bilingual">Native or Bilingual</option></select></div></div><div class="col-sm-auto mt-3 mt-md-0"><div class=""><button class="btn remove_field register-bg-light-primary text-white font-14">Remove</button></div></div></div>'); //add input box
717		}
718	});
719	
720	$('.append-row').on("click",".remove_field", function(e){ //user click on remove text
721		e.preventDefault();
722		$(this).closest(".newrow").remove(); 
723		x--;
724	})
725});
726
727
728
729$(".checkpackage").click(function(){
730	var isChecked = $('input[name=threeplan]').prop('checked');
731
732	if(isChecked == true){
733		$('.threeplans').prop("disabled", false);
734	}else{
735		$('.threeplans').prop("disabled", true);
736	}
737
738});
739
740
741/////////////////////add extra field payment///////////////////////////
742$(document).ready(function() {
743	
744	$('.add-new-extra').click(function(e){ //on add input button click
745		e.preventDefault();
746		var row = $('.append-row .newrow:last');
747		var itemvalue = row.find('.languages_name').val();
748		var extra_index = (parseInt($('#extra_index').val()));
749		if(itemvalue == ''){
750			return false;
751		}
752		$('#extra-body').append('<tr><td class="form-group"><input type="text" name="extra[' + extra_index + '][title]" id="" placeholder="Title" class="form-control"></td><td class="form-group"><input type="text" name="extra[' + extra_index + '][description]" id="" placeholder="Description" class="form-control"></td><td class="form-group"><input type="text" name="extra[' + extra_index + '][price]" maxlength="2" id="" class="form-control numeric" placeholder="Delivery Days"></td><td class="form-group"><input type="text" name="extra[' + extra_index + '][delivery_days]" class="desimal form-control" id="" placeholder="Price"></td><td class="form-group gradient"><button class="btn remove_extra_field">Remove</button></td></tr>'); //add input box
753		extra_index = (parseInt($('#extra_index').val()) + 1);
754		$('#extra_index').val(extra_index);
755		
756	});
757	
758	$('#extra-body').on("click",".remove_extra_field", function(e){ //user click on remove text
759		e.preventDefault();
760		$(this).closest("tr").remove(); 
761
762	})
763});
764
765
766
767////////////////////add-new-question requirenment page////////////////////////
768
769$(document).ready(function() {
770	
771	$('.add-new-question').click(function(e){ //on add input button click
772		$(".add-new-que-item").show();
773		$(".add-new-que-item").addClass('addform');
774
775		$(".extra-body").append('<tr class="form-group multiple-answer hide"><td class="text-center" colspan="5"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer" id="opt_answer_1"></td></tr><tr class="form-group multiple-answer hide"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer" id="opt_answer_2"></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn add-opt-ans">Add More</button></td></tr><tr class="multiple-answer multiple-answer-clone" id="multiple-answer-clone" style="display: none;"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer required" id="opt_answer_3" value=""></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn remove-opt-ans">Remove</button></td></tr>');
776
777	});
778  $('.cancel-question').click(function(e){ //on add input button click
779  	$(".add-new-que-item").hide();
780  	$(".afterdelete").remove();
781  });
782
783  $(document).on( "change", ".addform #answer_type", function() {
784  	var answer = this.value;
785  	if(answer == "Multiple Answer"){
786  		$('.multiple-answer').removeClass('hide');
787  	}else{
788  		$('.multiple-answer').addClass('hide'); 
789  	}
790  });
791  
792  $('#extra-body').on( "click", ".add-opt-ans", function() { //on add input button click
793
794  	var clone = $('#multiple-answer-clone').clone();
795  	var removeid = $(clone).removeAttr("id");
796  	var cloneclass = $(removeid).addClass('newclone');
797  	var addoption = $(cloneclass).show();
798  	$('#multiple-answer-clone').before(addoption);
799  });
800  $( "#extra-body" ).on( "click", ".remove-opt-ans", function() {
801  	$(this).closest("tr").remove(); 
802  });
803
804  //append questtion answer
805  
806  $( "#extra-body" ).on( "click", ".add-question", function() {
807  	var ques = $('#question_to_ask') .val();
808  	var ques_ans_type = $('#answer_type') .val();
809
810
811  	if(ques_ans_type == "Multiple Answer"){
812  		var arrNumber = new Array();
813  		$('.opt_answer').each(function(){
814  			if($(this).val() != ''){
815  				arrNumber.push($(this).val());
816  			}
817
818  		})
819  		var multipleans = arrNumber;
820  	}else{
821  		var multipleans = '';
822  	}
823
824  	if($('#is_required_question').prop("checked") == true){
825  		var is_required = "true";
826  	}
827  	else if($('#is_required_question').prop("checked") == false){
828  		var is_required = "false";
829  	}
830
831  	var question_index = (parseInt($('#question_index').val()));
832
833    $('.new-question').append('<tr><td class="quest_item1">'+ques+'</td><td class="quest_item2">'+ques_ans_type+'</td><td class="quest_item3">'+multipleans+'</td><td class="quest_item4">'+is_required+'</td><td class="text-center"><input type="hidden" name="extra['+question_index+'][question_info]" value="'+ques+'"><input type="hidden" name="extra['+question_index+'][answer_info]" value="'+ques_ans_type+'"><input type="hidden" name="extra['+question_index+'][expacted_answer]" value="'+multipleans+'"><input type="hidden" name="extra['+question_index+'][is_required_question]" value="'+is_required+'"><a href="javascript:void(0);" class="update-que" data-question=""  data-answer_type="" data-expacted_answer="" data-is_required_question="'+is_required+'"><i class="icon-pencil"></i></a><a href="javascript:void(0);" class="delete-que"><i class="icon-trash"></i></a></td></tr>');
833 //add input box
834    $(".add-new-que-item").hide(); 
835    $('#question_to_ask') .val('');
836    $('.opt_answer') .val('');
837    $('#answer_type') .val('');
838    $( "#is_required_question" ).prop( "checked", false );
839    $('.multiple-answer').addClass('hide');
840    $('.multiple-answer-clone.newclone').remove(); 
841    $(".add-new-que-item").removeClass('addform');
842    $(".multiple-answer").remove();
843
844    question_index = (parseInt($('#question_index').val()) + 1);
845    $('#question_index').val(question_index);
846
847
848});
849  
850});
851$( ".new-question" ).on( "click", ".delete-que", function(e) {
852	e.preventDefault();
853	$(this).closest("tr").remove();
854});
855
856$( ".new-question" ).on( "click", ".update-que", function(e) {
857	e.preventDefault();
858	$('.new-question tr').removeClass('editable-row');
859	$(this).closest('tr').addClass('editable-row');
860	$('.answer_type').addClass('upadteselect');
861
862
863
864
865
866	var quest_item1 = $(this).closest('tr').find('.quest_item1').html();
867	var quest_item2 = $(this).closest('tr').find('.quest_item2').html();
868	var quest_item3 = $(this).closest('tr').find('.quest_item3').html();
869	var quest_item4 = $(this).closest('tr').find('.quest_item4').html();
870
871	if(quest_item3 == ''){
872		$(".add-new-que-item").addClass('addform');
873		$(".extra-body").append('<tr class="form-group multiple-answer hide"><td class="text-center" colspan="5"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer" id="opt_answer_1"></td></tr><tr class="form-group multiple-answer hide"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer" id="opt_answer_2"></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn add-opt-ans">Add More</button></td></tr><tr class="multiple-answer multiple-answer-clone" id="multiple-answer-clone" style="display: none;"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer required" id="opt_answer_3" value=""></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn remove-opt-ans">Remove</button></td></tr>');
874	}  
875	$('.add-question').text('Update');
876	$('.add-question').addClass("update-question"); 
877	$('.add-question').removeClass("add-question"); 
878	$(".add-new-que-item").show();
879	$("#question_to_ask").val(quest_item1);
880	$("#answer_type").val(quest_item2);
881	if(quest_item4 == 'Yes'){
882		$( "#is_required_question" ).prop( "checked", true );
883	}
884
885    //alert(quest_item3);
886    if(quest_item3 != ''){
887    	var strarray = quest_item3.split(',');
888    	if(strarray){
889    		for (var i = 0; i < strarray.length; i++) {
890    			if(i==0){
891    				$('.add-new-que-item #extra-body').append('<tr class="form-group multiple-answer afterdelete"><td class="text-center" colspan="5"><input type="text" name="opt_answer[]" value="'+strarray[i]+'" placeholder="Optional Answer" class="form-control opt_answer" id="opt_answer_1"></td></tr>');
892
893    			}
894    			if(i==1){
895    				$('.add-new-que-item #extra-body').append('<tr class="form-group multiple-answer afterdelete"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" value="'+strarray[i]+'" class="form-control opt_answer" id="opt_answer_2"></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn add-opt-ans">Add More</button></td></tr>');
896    				$('.add-new-que-item #extra-body').append('<tr class="multiple-answer multiple-answer-clone" id="multiple-answer-clone" style="display: none;"><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" class="form-control opt_answer required" id="opt_answer_3" value=""></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn remove-opt-ans">Remove</button></td></tr>');
897
898    			}
899    			if(i>1){
900    				$('.add-new-que-item #extra-body').append('<tr class="multiple-answer multiple-answer-clone afterdelete" style=""><td class="text-center" colspan="4"><input type="text" name="opt_answer[]" placeholder="Optional Answer" value="'+strarray[i]+'" class="form-control opt_answer required" id="opt_answer_3" value=""></td><td class="text-center"><button type="button" class="btn mid-short primary small-btn remove-opt-ans">Remove</button></td></tr>');
901    			}
902          //alert(strarray[i])
903      }
904  }
905
906
907}
908
909
910    //$("#answer_type").val(quest_item2);
911
912});
913$(document).ready(function() {
914	$(document).on( "change", ".upadteselect", function() {
915		var answer = this.value;
916		if(answer == "Multiple Answer"){
917			$('.afterdelete').removeClass('hide');
918		}else{
919			$('.afterdelete').addClass('hide'); 
920		}
921	});
922});
923$( "#extra-body" ).on( "click", ".update-question", function(e) {
924	e.preventDefault();
925	var ques = $('#question_to_ask') .val();
926	var ques_ans_type = $('#answer_type') .val();
927
928
929	if(ques_ans_type == "Multiple Answer"){
930		var arrNumber = new Array();
931		$('.opt_answer').each(function(){
932			if($(this).val() != ''){
933				arrNumber.push($(this).val());
934			}
935
936		})
937		var multipleans = arrNumber;
938	}else{
939		var multipleans = '';
940	}
941
942	if($('#is_required_question').prop("checked") == true){
943		var is_required = "Yes";
944	}
945	else if($('#is_required_question').prop("checked") == false){
946		var is_required = "No";
947	}
948	var question_index = (parseInt($('#question_index').val()));
949
950
951    $('.editable-row').replaceWith('<tr><td class="quest_item1">'+ques+'</td><td class="quest_item2">'+ques_ans_type+'</td><td class="quest_item3">'+multipleans+'</td><td class="quest_item4">'+is_required+'</td><td class="text-center"><input type="hidden" name="extra['+question_index+'][question_info]" value="'+ques+'"><input type="hidden" name="extra['+question_index+'][answer_info]" value="'+ques_ans_type+'"><input type="hidden" name="extra['+question_index+'][expacted_answer]" value="'+multipleans+'"><input type="hidden" name="extra['+question_index+'][is_required_question]" value=a'+is_required+'><a href="javascript:void(0);" class="update-que" data-question=""  data-answer_type="" data-expacted_answer="" data-is_required_question="'+is_required+'"><i class="icon-pencil"></i></a><a href="javascript:void(0);" class="delete-que"><i class="icon-trash"></i></a></td></tr>');
951 //add input box
952    
953  // $('.editable-row').replaceWith('<tr><td class="quest_item1">'+ques+'</td><td class="quest_item2">'+ques_ans_type+'</td><td class="quest_item3">'+multipleans+'</td><td class="quest_item4">'+is_required+'</td><td class="text-center"><a href="" class="update-que"><i class="icon-pencil"></i></a><a href="" class="delete-que"><i class="icon-trash"></i></a></td></tr>'); //add input box
954  $(".add-new-que-item").hide(); 
955  $('#question_to_ask') .val('');
956  $('.opt_answer') .val('');
957  $('#answer_type') .val('');
958  $('.multiple-answer').addClass('hide');
959  $('.update-question').addClass("add-question"); 
960  $('.update-question').removeClass("update-question");
961  $('.add-question').text('Add');
962  $('.multiple-answer.afterdelete').remove();
963  $(".add-new-que-item").removeClass('addform');
964  $(".multiple-answer.hide").remove();
965  
966  question_index = (parseInt($('#question_index').val()) + 1);
967  $('#question_index').val(question_index);
968});
969
970/*deliver now - preset template*/
971$('#save_template').click(function(){
972	if($(this).prop("checked") == true){
973		if(order_note_editor.getData()){
974			$('#template_Data').val(order_note_editor.getData());
975			$("#template_for").val(1);
976			$('#saveasteplate').modal('show');
977		}else{
978			alert_error('Please add template content');
979			$(this).prop("checked",false);
980		}
981	}
982});
983
984$('.save_template_button').click(function(e){
985	e.preventDefault();
986	var template_for = $("#template_for").val();
987	var title = $('#title').val();
988	var template_Data = $('#template_Data').val();
989
990	$.ajax({
991		url: $("#update_template_url").val(),
992		method: "POST",
993		data: {'_token':_token , 'is_edit' : 0 ,'template_for':template_for, 'title' :  title , 'template_Data' : template_Data},
994		success : function(data){
995			if(data.status == 200){
996				alert_success(data.message);
997				if(template_for == 1){
998					$('#select_title').append('<option value="'+data.id+'">'+title+'</option>');
999				}else if(template_for == 2){
1000					$('#select_title_chat').append('<option value="'+data.id+'">'+title+'</option>');
1001				}
1002				$('#saveasteplate').modal('hide');
1003				$('#addTemplate').trigger('reset');
1004				$('#save_template_chat').prop("checked",false);
1005			}else{
1006				alert_error(data.message);
1007			}
1008		}
1009	});
1010});
1011
1012$('#select_title').change(function(e){
1013	e.preventDefault();
1014	var id = $(this).val();
1015	if(id != ''){ 
1016		$.ajax({
1017			url: $('#select_template_url').val(),
1018			method: "POST",
1019			data: {'_token':_token , 'id' : id},
1020			dataType: "json",
1021			success: function(data){
1022				// console.log(data.message);
1023				$('#deliverorderpopup').modal('hide');
1024				$('#tempalte_pop').modal('show');
1025				$('#template_id').val(data.id);
1026				$('#edit_title').val(data.title);
1027				$('#template_for').val(data.template_for);
1028
1029				if(data.template_for == 1){
1030					$('.imoji_data').hide();
1031					$('.ckeditor_data').show();
1032					var tem_descriptions = data.message;
1033					temp_description.setData(tem_descriptions);	
1034				}else if(data.template_for == 2){
1035					$('.ckeditor_data').hide();
1036					$('.imoji_data').show();
1037					$('#tem_chat_message').val(data.message);
1038					//$('#tem_chat_message').focus();
1039				}
1040			}
1041		});
1042	}
1043});
1044
1045$(document).on('click','.apply_template',function()
1046{
1047	var template_for = $("#template_for").val();
1048	if(template_for == 1){
1049		var tem_descriptions = temp_description.getData();
1050		order_note_editor.setData(tem_descriptions);	
1051	}else{
1052		var tem_descriptions = applyCannedReplyCustomerPlaceholdersParent($("#tem_chat_message").val());
1053		$(".emoji-wysiwyg-editor").html(nl2br (tem_descriptions, is_xhtml=false));
1054		$('.emoji-wysiwyg-editor').focus();
1055	}
1056	
1057	$('#tempalte_pop').modal('hide');
1058	$('#deliverorderpopup').modal('show');
1059
1060});
1061
1062function nl2br (str, is_xhtml) {   
1063    var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';    
1064    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
1065}
1066
1067function getChatCustomerUsernameForCannedReply() {
1068	var iframe = document.getElementById('chat-iframe');
1069	if (iframe) {
1070		try {
1071			var doc = iframe.contentDocument || iframe.contentWindow.document;
1072			var $el = $(doc).find('.m-header-messaging .user-name').first();
1073			var fromTitle = $el.attr('title');
1074			if (fromTitle && String(fromTitle).trim()) {
1075				return String(fromTitle).trim();
1076			}
1077			var t = ($el.text() || '').trim();
1078			if (t) {
1079				return t;
1080			}
1081		} catch (e) {}
1082	}
1083	var $legacy = $('.comment-wrap p.text-header a[href*="viewuserservices"]').first();
1084	if ($legacy.length) {
1085		return $legacy.text().trim();
1086	}
1087	return '';
1088}
1089
1090/** Replace {{customer_username}} / {{username}} in chat template text only (no auto greeting). */
1091function applyCannedReplyCustomerPlaceholdersParent(message) {
1092	if (message == null || message === '') {
1093		return message;
1094	}
1095	var name = getChatCustomerUsernameForCannedReply();
1096	if (!name) {
1097		return String(message);
1098	}
1099	var str = String(message);
1100	return str
1101		.replace(/\{\{customer_username\}\}/gi, name)
1102		.replace(/\{\{username\}\}/gi, name)
1103		.replace(/\{customer_username\}/gi, name);
1104}
1105
1106$("#update_template").submit(function(e){
1107	e.preventDefault();
1108	var template_for = $("#template_for").val();
1109	var template_id = $('#template_id').val();
1110	var edit_title = $('#edit_title').val();
1111
1112	var messageUpdate = $('#messageUpdate').val();
1113
1114	if(messageUpdate != 1)
1115	{
1116		messageUpdate = 0;
1117	}
1118	if(template_for == 1){
1119		var tem_descriptions = temp_description.getData();
1120	}else if(template_for == 2){
1121		var tem_descriptions = $('#tem_chat_message').val();
1122	}
1123
1124	$.ajax({
1125		url: $("#update_template_url").val(),
1126		method: "POST",
1127		data: {'_token':_token  , 'is_edit' : 1 , 'template_for':template_for , 'template_id' : template_id , 'edit_title' : edit_title , 'edit_message' : tem_descriptions,'messageUpdate' : messageUpdate },
1128		dataType : "html",
1129		success: function(data){
1130
1131			if(template_for == 1){
1132				order_note_editor.setData(tem_descriptions);
1133			}else if(template_for == 2){
1134				//$('#chat_message').val(tem_descriptions);
1135				var filledUpd = applyCannedReplyCustomerPlaceholdersParent(tem_descriptions);
1136				$(".emoji-wysiwyg-editor").html(nl2br (filledUpd, is_xhtml=false));
1137				$('.emoji-wysiwyg-editor').focus();
1138			}
1139			$('#tempalte_pop').modal('hide');
1140			$('#deliverorderpopup').modal('show');
1141
1142			alert_success ('Template Updated successfully.');
1143				
1144			var obj=JSON.parse(data);
1145
1146			if(obj.status == 201)
1147			{
1148				
1149				 setTimeout(function(){			
1150	           		 	location.reload();
1151	           		 },3000);
1152			}
1153
1154			
1155		}
1156	});
1157});
1158
1159/*Check modal open */
1160$('.modal').on("hidden.bs.modal", function (e) { 
1161    if ($('.modal:visible').length) { 
1162        $('body').addClass('modal-open');
1163    }
1164});
1165/*Check modal open */
1166
1167/* Review edit history: keep modal above page overlays (seller profile z-index trap) */
1168$(document).on('show.bs.modal', '.seller-review-history-modal', function () {
1169	$(this).appendTo(document.body);
1170});
1171$(document).on('hidden.bs.modal', '.seller-review-history-modal', function () {
1172	setTimeout(function () {
1173		if ($('.modal.show:visible').length) {
1174			return;
1175		}
1176		$('.modal-backdrop').remove();
1177		$('body').removeClass('modal-open').css('padding-right', '');
1178	}, 350);
1179});
1180
1181$("#update_template_canned").submit(function(e){
1182	e.preventDefault();
1183	var template_for = $("#template_for").val();
1184	var template_id = $('#template_id').val();
1185	var edit_title = $('#edit_title').val();
1186
1187	var messageUpdate = $('#messageUpdate').val();
1188
1189	if(messageUpdate != 1)
1190	{
1191		messageUpdate = 0;
1192	}
1193	if(template_for == 1){
1194		var tem_descriptions = temp_description.getData();
1195	}else if(template_for == 2){
1196		var tem_descriptions = $('#tem_chat_message').val();
1197	}
1198
1199	$.ajax({
1200		url: $("#update_template_url").val(),
1201		method: "POST",
1202		data: {'_token':_token  , 'is_edit' : 1 , 'template_for':template_for , 'template_id' : template_id , 'edit_title' : edit_title , 'edit_message' : tem_descriptions,'messageUpdate' : messageUpdate },
1203		dataType : "html",
1204		success: function(data){
1205
1206			if(template_for == 1){
1207				//CKEDITOR.instances['delivered_note'].setData(tem_descriptions);
1208			}else if(template_for == 2){
1209				//$('#chat_message').val(tem_descriptions);
1210				var filledCan = applyCannedReplyCustomerPlaceholdersParent(tem_descriptions);
1211				$(".emoji-wysiwyg-editor").html(nl2br (filledCan, is_xhtml=false));
1212				$('.emoji-wysiwyg-editor').focus();
1213			}
1214			$('#tempalte_pop').modal('hide');
1215				
1216				alert_success ('Template Updated successfully.');
1217				
1218			var obj=JSON.parse(data);
1219
1220			if(obj.status == 201)
1221			{
1222				
1223				 setTimeout(function(){			
1224	           		 	location.reload();
1225	           		 },2000);
1226			}
1227
1228			
1229		}
1230	});
1231});
1232$("#update_template_seller").submit(function(e){
1233	e.preventDefault();
1234
1235	var template_for = $("#template_for").val();
1236	var template_id = $('#template_id').val();
1237	var edit_title = $('#edit_title').val();
1238	if(template_for == 1){
1239		var tem_descriptions = temp_description.getData();
1240	}else if(template_for == 2){
1241		var tem_descriptions = $('#tem_chat_message').val();
1242	}
1243	$.ajax({
1244		url: $("#update_template_url").val(),
1245		method: "POST",
1246		data: {'_token':_token  , 'is_edit' : 1 , 'template_for':template_for , 'template_id' : template_id , 'edit_title' : edit_title , 'edit_message' : tem_descriptions },
1247		dataType : "html",
1248		success: function(data){
1249			console.log(data);
1250			if(template_for == 1){
1251				order_note_editor.setData(tem_descriptions);
1252
1253			}else if(template_for == 2){
1254
1255				var filledMsg = applyCannedReplyCustomerPlaceholdersParent(tem_descriptions);
1256				$('#chat_message').val(filledMsg);
1257				var lengthNew=filledMsg.length;	
1258				 $('#chars').text(lengthNew);
1259				// $(".emoji-wysiwyg-editor").html(nl2br (tem_descriptions, is_xhtml=false));
1260				// $('.emoji-wysiwyg-editor').focus();
1261			}
1262			$('#tempalte_pop').modal('hide');
1263			//location.reload();
1264		}
1265	});
1266});
1267$("#update_template_seller_service").submit(function(e){
1268	e.preventDefault();
1269
1270	var template_for = $("#template_for").val();
1271	var template_id = $('#template_id').val();
1272	var edit_title = $('#edit_title').val();
1273	if(template_for == 1){
1274		//var tem_descriptions = CKEDITOR.instances['tem_chat_message'].getData();
1275	}else if(template_for == 2){
1276		var tem_descriptions = $('#tem_chat_message').val();
1277	}
1278	$.ajax({
1279		url: $("#update_template_url").val(),
1280		method: "POST",
1281		data: {'_token':_token  , 'is_edit' : 1 , 'template_for':template_for , 'template_id' : template_id , 'edit_title' : edit_title , 'edit_message' : tem_descriptions },
1282		dataType : "html",
1283		success: function(data){
1284			console.log(data);
1285			if(template_for == 1){
1286				//CKEDITOR.instances['delivered_note'].setData(tem_descriptions);
1287			}else if(template_for == 2){
1288
1289				//$('#chat_message').val(tem_descriptions);
1290				var filledSvc = applyCannedReplyCustomerPlaceholdersParent(tem_descriptions);
1291				$(".emoji-wysiwyg-editor").html(nl2br (filledSvc, is_xhtml=false));
1292				$('.emoji-wysiwyg-editor').focus();
1293			}
1294			$('#tempalte_pop').modal('hide');
1295			//location.reload();
1296		}
1297	});
1298});
1299
1300$(document).on('click','.delete_template',function()
1301{
1302	bootbox.confirm("Are you sure you want to delete this template?", function(result){
1303		if(result == true){
1304			var template_id = $('#template_id').val();
1305			var template_for = $("#template_for").val();
1306			$.ajax({
1307				url: $('#delete_template_url').val(),
1308				method: "POST",
1309				data: {'_token':_token , 'template_id' : template_id},
1310				dataType: "html",
1311				success: function(data){
1312					if(template_for == 1){
1313						$("#select_title option[value='"+template_id+"']").remove();
1314					}else{
1315						$("#select_title_chat option[value='"+template_id+"']").remove();
1316					}
1317					$('#tempalte_pop').modal('hide');
1318					alert_success ('Template deleted successfully.');
1319				}
1320			});
1321		}
1322	});
1323});
1324
1325$(document).on('click','.delete_template_custom',function()
1326{	
1327	var template_id = $(this).data('id');
1328
1329	bootbox.confirm("Are you sure you want to delete this template?", function(result){
1330		if(result == true){
1331			
1332			$.ajax({
1333				url: $('#delete_template_url').val(),
1334				method: "POST",
1335				data: {'_token':_token , 'template_id' : template_id},
1336				dataType: "html",
1337				success: function(data){
1338					$("#"+template_id).hide();
1339					alert_success ('Template deleted successfully.');
1340				}
1341			});
1342		}
1343	});
1344});
1345
1346
1347
1348/*Chat - preset template*/
1349
1350$('#save_template_chat').click(function(){
1351
1352	if($(this).prop("checked") == true){
1353
1354		if($('#chat_message').val()){
1355			$('#template_Data').val($('#chat_message').val());
1356			$("#template_for").val(2);
1357			$('#saveasteplate').modal('show');
1358		}else{
1359			alert_error('Please add template content');
1360			$(this).prop("checked",false);
1361		}
1362	}
1363});
1364
1365
1366$('#select_title_chat').change(function(e){
1367	var iframe = document.getElementById('chat-iframe');
1368	var iframeDocument = iframe.contentDocument || iframe.contentWindow.document;
1369	var is_chat = $(iframeDocument).find('.floating-chat').length;
1370	
1371	e.preventDefault();
1372	var id = $(this).val();
1373	if(id != '' && is_chat == 0){ 
1374		$.ajax({
1375			url: $('#select_template_url').val(),
1376			method: "POST",
1377			data: {'_token':_token , 'id' : id},
1378			dataType: "json",
1379			success: function(data){
1380				$('#tempalte_pop').modal('show');
1381				$('#template_id').val(data.id);
1382				$('#edit_title').val(data.title);
1383				$('#template_for').val(data.template_for);
1384				if(data.template_for == 1){
1385					$('.imoji_data').hide();
1386					$('.ckeditor_data').show();
1387					$('#tem_chat_message').html(data.message);
1388				}else if(data.template_for == 2){
1389					$('.ckeditor_data').hide();
1390					$('.imoji_data').show();
1391					$('#tem_chat_message').val(data.message);
1392					//$('#tem_chat_message').focus();
1393				}
1394			}
1395		});
1396	}
1397});
1398
1399
1400$(document).on('click','.edit_template',function(e){
1401	e.preventDefault();
1402	var id = $(this).data('id');
1403
1404	
1405	if(id != ''){ 
1406		$.ajax({
1407			url: $('#select_template_url').val(),
1408			method: "POST",
1409			data: {'_token':_token , 'id' : id},
1410			dataType: "json",
1411			success: function(data){
1412				$('#tempalte_pop').modal('show');
1413				$('#template_id').val(data.id);
1414				$('#edit_title').val(data.title);
1415				$('#template_for').val(data.template_for);
1416				if(data.template_for == 1){
1417					$('.imoji_data').hide();
1418					$('.ckeditor_data').show();
1419					temp_description.setData(data.message);
1420					//$("#submit_template").data('type',1);
1421					$("#submit_template").attr('data-type', 1);
1422				}else if(data.template_for == 2){
1423					$('.ckeditor_data').hide();
1424					$('.imoji_data').show();
1425					$('#tem_chat_message').html(data.message);
1426					$("#submit_template").attr('data-type', 2);
1427
1428					//$('#tem_chat_message').focus();
1429				}
1430			}
1431		});
1432	}
1433});
1434
1435
1436
1437
1438
1439
1440$("#is_reorder_promo").click(function(e){
1441	if ($(this).is(':checked')) {
1442		$('.promo_amount-div').show();
1443	}else{
1444		$('.promo_amount-div').hide();
1445	}
1446});  
1447
1448//function to prevent menu open on mouse right click
1449function stop_to_open_context_menu() {
1450	$(".get_review_by_count_link").on("contextmenu",function(e){
1451		return false;
1452	});
1453}
1454
1455function review_hover_fn() {
1456	$(".get_review_by_count_link").hover(function(){
1457		var append = $(this).data('ratting_count');
1458		$(".rating_hover_"+append).addClass("rating_hover_effect");
1459		$(".rating_middle_hover_"+append).addClass("rating_middle_hover_effect");
1460	}, function(){
1461		var append = $(this).data('ratting_count');
1462		$(".rating_hover_"+append).removeClass("rating_hover_effect");
1463		$(".rating_middle_hover_"+append).removeClass("rating_middle_hover_effect");
1464	});
1465}
1466$('document').ready(function(){
1467	review_hover_fn();
1468	stop_to_open_context_menu();
1469	stop_to_open_context_menu_common(".share_influencer_link_class");
1470	$(document).on('change','#review_rating',function(){
1471		$('#ratting_count_id').val(0);
1472		var url = $('#review_rating option:selected').data('url');
1473		//window.location.href=url;
1474		get_review_by_ajax(url);
1475	});
1476
1477	$(document).on('click','.get_review_by_count_link',function(){
1478		var ratting_count = $(this).data('ratting_count');
1479		$('#ratting_count_id').val(ratting_count);
1480		var url = $(this).data('url');
1481		var rating = $('#review_rating').val();
1482		url = url + '&rating=' + rating;
1483		get_review_by_ajax(url);
1484	});
1485});
1486
1487function get_review_by_ajax(url) {
1488	$.ajax({
1489		url : url,
1490		type : "get",
1491		success : function(data){
1492			$('.ajax-pagination-div').html(data);
1493			var $vtModals = $('.seller-vt-all-modal');
1494			if ($vtModals.length) {
1495				var $bodyVt = $('body > .seller-vt-all-modal');
1496				if ($bodyVt.length) {
1497					$vtModals.not('body > .seller-vt-all-modal').remove();
1498					$bodyVt.slice(1).remove();
1499				} else {
1500					$vtModals.slice(1).remove();
1501					$vtModals.first().appendTo(document.body);
1502				}
1503			}
1504			var $list = $('.ajax-pagination-div .all_review_section, .ajax-pagination-div .review_detail_data, .ajax-pagination-div .empty_review_div').first();
1505			if ($list.length) {
1506				scrollToElement($list);
1507			} else {
1508				scrollToElement('.all_review_section');
1509			}
1510			review_hover_fn();
1511			stop_to_open_context_menu();
1512			$('#review-pagination').removeClass('d-none');
1513		}
1514	});
1515}
1516
1517function scrollToElement(element) {
1518	var $el = element && element.jquery ? element : $(element);
1519	if($el.length){
1520		var top = $el.offset().top - 140;
1521		if (top < 0) {
1522			top = 0;
1523		}
1524		window.scrollTo({ top: top, behavior: 'smooth' });
1525	}
1526}
1527
1528$(document).on('click', '.ajax-helpful', function (e) {
1529    var orderid = $(this).attr('data-orderid');
1530	var type = $(this).attr('data-type');
1531	var feedback = $(this).closest( ".review-feedback" ).find('.cureview-feedback').attr('data-feedback');
1532	var report = $(this).closest( ".review-feedback" ).find('.cureview-report').attr('data-report');
1533	// alert(feedback);
1534	// return
1535	var type = $(this).attr('data-type');
1536	$this = $(this);
1537    if (orderid != '' ) {
1538       
1539        $.ajax({
1540            type: "POST",
1541            url: reviewFeedback,
1542            data: {"_token": _token, 'order_id':orderid,'type':type}, // serializes the form's elements.
1543            success: function (data)
1544            {
1545				// console.log(data);
1546                if (data.status == 200) {
1547					$this.removeClass('ajax-helpful');
1548					if(type == 'helpful'){
1549						
1550						$this.closest( ".col-md-9" ).find('.help-count-in').html(data.count +' People');
1551						$this.addClass('cureview-feedback');
1552						$this.attr('data-feedback', '0');
1553						$this.html('<i class="fa fa-check" aria-hidden="true"></i> This review was helpful');
1554						if(report == 0){
1555							$this.closest( ".review-feedback" ).find('.cureview-report').hide('200');
1556						}
1557					}else{
1558						if(feedback == 0){
1559							$this.closest( ".review-feedback" ).find('.cureview-feedback').hide('200');
1560						}
1561						$this.attr('data-report', '0');
1562						$this.addClass('cureview-report');
1563						$this.text('Thank you for Reporting');
1564					}
1565				} else if(data.status == 401) {
1566					window.location.href = loginRoute;
1567				}
1568				alert_success(data.message);
1569			},
1570			error: function(data) {
1571				if(data.status == 401) {
1572					window.location.href = loginRoute;
1573				}
1574			} 
1575        });
1576	}
1577});
1578
1579function isNumberKey(evt, element) {
1580	var charCode = (evt.which) ? evt.which : event.keyCode
1581	if (charCode > 31 && (charCode < 48 || charCode > 57) && !(charCode == 46 || charCode == 8)){
1582	  return false;
1583	}else {
1584	  var len = $(element).val().length;
1585	  var index = $(element).val().indexOf('.');
1586	  
1587	  if (index > 0 && charCode == 46) {
1588		return false;
1589	  }
1590	  if (index >= 0) {
1591		var CharAfterdot = (len + 1) - index;
1592		
1593		if (CharAfterdot > 3 ) {
1594		  return false;
1595		}
1596	  }
1597	}
1598	return true;
1599}
1600
1601$('.withdraw_amount_num').keypress(function(event) {
1602    var $this = $(this);
1603    if ((event.which != 46 || $this.val().indexOf('.') != -1) &&
1604       ((event.which < 48 || event.which > 57) &&
1605       (event.which != 0 && event.which != 8))) {
1606           event.preventDefault();
1607    }
1608
1609    var text = $(this).val();
1610    if ((event.which == 46) && (text.indexOf('.') == -1)) {
1611        setTimeout(function() {
1612            if ($this.val().substring($this.val().indexOf('.')).length > 3) {
1613                $this.val($this.val().substring(0, $this.val().indexOf('.') + 3));
1614            }
1615        }, 1);
1616    }
1617
1618    if ((text.indexOf('.') != -1) &&
1619        (text.substring(text.indexOf('.')).length > 2) &&
1620        (event.which != 0 && event.which != 8) &&
1621        ($(this)[0].selectionStart >= text.length - 2)) {
1622            event.preventDefault();
1623    }      
1624});
1625
1626$('.withdraw_amount_num').bind("paste", function(e) {
1627	var text = e.originalEvent.clipboardData.getData('Text');
1628	if ($.isNumeric(text)) {
1629		if ((text.substring(text.indexOf('.')).length > 3) && (text.indexOf('.') > -1)) {
1630			e.preventDefault();
1631			$(this).val(text.substring(0, text.indexOf('.') + 3));
1632		}
1633	}else {
1634        e.preventDefault();
1635    }
1636});
1637
1638//function to prevent menu open on mouse right click
1639function stop_to_open_context_menu_common(element='') {
1640	if(element != '') {
1641		$(element).on("contextmenu",function(e){
1642			return false;
1643		});
1644	}
1645}
1646
1647$('document').ready(function () {
1648	// getAllElementsAndCheckColor();
1649
1650	$(document).on('show.bs.modal', '.modal', function (e) {
1651		// getAllElementsAndCheckColor();
1652	});
1653});
1654
1655function getAllElementsAndCheckColor() {
1656	all_elements = document.querySelectorAll('p span,li span');
1657    all_elements.forEach(element => {
1658        textColor = window.getComputedStyle(element, null).getPropertyValue('color');
1659        //brightness = lightOrDark(textColor);
1660		brightness = isTooLightYIQ(textColor) ? 'light' : 'dark';
1661        if (brightness == 'dark' && dark_mode_theme == 1) {
1662            element.classList.add('global-light-text');
1663        }
1664        if (brightness == 'light' && dark_mode_theme == 0) {
1665            element.classList.add('global-dark-text');
1666        }
1667    });
1668}
1669
1670function lightOrDark(color) {
1671
1672	// Check the format of the color, HEX or RGB?
1673	if (color.match(/^rgb/)) {
1674
1675		// If HEX --> store the red, green, blue values in separate variables
1676		color = color.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/);
1677
1678		r = color[1];
1679		g = color[2];
1680		b = color[3];
1681	}
1682	else {
1683
1684		// If RGB --> Convert it to HEX: http://gist.github.com/983661
1685		color = +("0x" + color.slice(1).replace(
1686			color.length < 5 && /./g, '$&$&'
1687		)
1688		);
1689
1690		r = color >> 16;
1691		g = color >> 8 & 255;
1692		b = color & 255;
1693	}
1694
1695	// HSP (Highly Sensitive Poo) equation from http://alienryderflex.com/hsp.html
1696	hsp = Math.sqrt(
1697		0.299 * (r * r) +
1698		0.587 * (g * g) +
1699		0.114 * (b * b)
1700	);
1701
1702	// Using the HSP value, determine whether the color is light or dark
1703	if (hsp > 127.5) {
1704
1705		return 'light';
1706	}
1707	else {
1708
1709		return 'dark';
1710	}
1711}
1712
1713function isTooLightYIQ(hexcolor) {
1714	if (hexcolor.match(/^rgb/)) {
1715
1716		// If HEX --> store the red, green, blue values in separate variables
1717		hexcolor = hexcolor.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+(?:\.\d+)?))?\)$/);
1718		var r = parseInt(hexcolor[1]);
1719		var g = parseInt(hexcolor[2]);
1720		var b = parseInt(hexcolor[3]);
1721	}
1722	else {
1723		var r = parseInt(hexcolor.substr(0, 2), 16);
1724		var g = parseInt(hexcolor.substr(2, 2), 16);
1725		var b = parseInt(hexcolor.substr(4, 2), 16);
1726	}
1727	var yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000;
1728	if(dark_mode_theme == 1) {
1729		return yiq >= 90;
1730	} else {
1731		return yiq >= 130;
1732	}
1733}
1734
1735
1736/*****************************new homw page ************************888 */
1737
1738
1739
1740$(".popular-grid-four").slick({
1741    // dots: true,
1742    speed: 300,
1743    slidesToShow: 1,
1744    infinite:false,
1745    centerPadding: 30,
1746    prevArrow: '<span class="cus-arrow-left"><img src="frontend/images/homepage log out/Vector.png"></span>',
1747    nextArrow: '<span class="cus-arrow-right"><img src="frontend/images/homepage log out/Vector.png"></span>',
1748    responsive: [{
1749    	breakpoint: 1024,
1750    	settings: {
1751    		slidesToShow: 1,
1752    		slidesToScroll: 1,
1753        // centerMode: true,
1754
1755    }
1756},
1757{
1758	breakpoint: 767,
1759	settings: {
1760		slidesToShow: 1,
1761		slidesToScroll: 1
1762	}
1763}]
1764});
1765
1766$(".popular-grid-five").slick({
1767    // dots: true,
1768    speed: 300,
1769    slidesToShow: 1,
1770    infinite:false,
1771    centerPadding: 30,
1772    prevArrow: '<span class="cus-arrow-left"><img src="frontend/images/homepage log out/Vector.png"></span>',
1773    nextArrow: '<span class="cus-arrow-right"><img src="frontend/images/homepage log out/Vector.png"></span>',
1774    responsive: [{
1775    	breakpoint: 1024,
1776    	settings: {
1777    		slidesToShow: 1,
1778    		slidesToScroll: 1,
1779        // centerMode: true,
1780
1781    }
1782},
1783{
1784	breakpoint: 767,
1785	settings: {
1786		slidesToShow: 1,
1787		slidesToScroll: 1
1788	}
1789}]
1790});
1791
1792$(".popular-grid-six").slick({
1793    dots: true,
1794    speed: 300,
1795    slidesToShow: 1,
1796    infinite:false,
1797    centerPadding: 30,
1798	arrows:false,
1799    responsive: [{
1800    	breakpoint: 1024,
1801    	settings: {
1802    		slidesToShow: 1,
1803    		slidesToScroll: 1,
1804        // centerMode: true,
1805
1806    }
1807},
1808{
1809	breakpoint: 767,
1810	settings: {
1811		slidesToShow: 1,
1812		slidesToScroll: 1
1813	}
1814}]
1815});
1816
1817$(".popular-grid-seven").slick({
1818    // dots: true,
1819    speed: 300,
1820    slidesToShow: 5,
1821    infinite:false,
1822    centerPadding: 30,
1823	prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
1824	nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
1825    responsive: [{
1826    	breakpoint: 1024,
1827    	settings: {
1828    		slidesToShow: 3,
1829    		slidesToScroll: 1,
1830        // centerMode: true,
1831
1832    }
1833},
1834{
1835	breakpoint: 767,
1836	settings: {
1837		slidesToShow: 1,
1838		slidesToScroll: 1
1839	}
1840}]
1841});
1842
1843$(".popular-grid-eight").slick({
1844    // dots: true,
1845    speed: 300,
1846    slidesToShow: 3,
1847    infinite:false,
1848    centerPadding: 30,
1849	prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
1850	nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
1851    responsive: [{
1852    	breakpoint: 1024,
1853    	settings: {
1854    		slidesToShow: 3,
1855    		slidesToScroll: 1,
1856        // centerMode: true,
1857
1858    }
1859},
1860{
1861	breakpoint: 767,
1862	settings: {
1863		slidesToShow: 1,
1864		slidesToScroll: 1
1865	}
1866}]
1867});
1868
1869$(".service-slider-for-2-slide").slick({
1870	dots: false,
1871	speed: 300,
1872	slidesToShow: 2,
1873	infinite:false,
1874	centerPadding: 30,
1875	prevArrow: '<span class="cus-arrow-left"><img src="'+back_slider_arrow+'"></span>',
1876	nextArrow: '<span class="cus-arrow-right"><img src="'+back_slider_arrow+'"></span>',
1877	responsive: [
1878	{
1879		breakpoint: 576,
1880		settings: {
1881			slidesToShow: 1,
1882			slidesToScroll: 1
1883		}
1884	}]
1885});
1886
1887 $(document).ready(function(){
1888	if($('.popular-grid-one').length > 0){
1889		$(".popular-grid-one").not('.slick-initialized').slick();
1890	}
1891  });
1892  
1893  $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
1894	$('.popular-grid-one').slick('setPosition');
1895  });
1896  
1897
1898
1899$( ".change_service_order" ).sortable({
1900    update: function(event, ui) {
1901        $.ajax({
1902			url: change_service_ordering,
1903			method: "POST",
1904			data: {'_token':_token , 'id' : $(this).sortable("toArray")},
1905			dataType: "json",
1906			success: function(data){
1907				if(data.success == true){
1908					alert_success(data.message);
1909				}
1910			}
1911		});
1912    }
1913}).disableSelection();
1914
1915
1916$(document).click(function (event) {
1917	$('.cus-navbar-collapse').collapse('hide');
1918});
1919
1920$('.cust-close-nav-btn').click(function () {
1921	$('.cus-navbar-collapse').collapse('hide');
1922});
1923
1924$('.purple-close-nav-btn').click(function () {
1925	$('.purple-navbar-collapse').collapse('hide');
1926});
1927
1928$(".cus-navbar-collapse").click(function(event){
1929	event.stopPropagation();
1930});
1931
1932
1933$('.cus-navigation-arrow').click(function() {
1934	$(this).toggleClass('cus-navigation-arrow-rotate');
1935	$(this).parent().next('.cus-mobile-dropdown').toggleClass('cus-mobile-dropdown-content');
1936});
1937
1938/***********************************Drag & Drop*************************************/
1939
1940function DragNSort (config) {
1941	this.$activeItem = null;
1942	this.$container = config.container;
1943	this.$items = this.$container.querySelectorAll('.' + config.itemClass);
1944	this.dragStartClass = config.dragStartClass;
1945	this.dragEnterClass = config.dragEnterClass;
1946  }
1947  
1948  DragNSort.prototype.removeClasses = function () {
1949	  [].forEach.call(this.$items, function ($item) {
1950		  $item.classList.remove(this.dragStartClass, this.dragEnterClass);
1951	}.bind(this));
1952  };
1953  
1954  DragNSort.prototype.on = function (elements, eventType, handler) {
1955	  [].forEach.call(elements, function (element) {
1956	  element.addEventListener(eventType, handler.bind(element, this), false);
1957	}.bind(this));
1958  };
1959  
1960  DragNSort.prototype.onDragStart = function (_this, event) {
1961	_this.$activeItem = this;
1962  
1963	this.classList.add(_this.dragStartClass);
1964	event.dataTransfer.effectAllowed = 'move';
1965	event.dataTransfer.setData('text/html', this.innerHTML);
1966  };
1967  
1968  DragNSort.prototype.onDragEnd = function (_this) {
1969	  this.classList.remove(_this.dragStartClass);
1970  };
1971  
1972  DragNSort.prototype.onDragEnter = function (_this) {
1973	  this.classList.add(_this.dragEnterClass);
1974  };
1975  
1976  DragNSort.prototype.onDragLeave = function (_this) {
1977	  this.classList.remove(_this.dragEnterClass);
1978  };
1979  
1980  DragNSort.prototype.onDragOver = function (_this, event) {
1981	if (event.preventDefault) {
1982	event.preventDefault();
1983	}
1984  
1985	event.dataTransfer.dropEffect = 'move';
1986  
1987	return false;
1988  };
1989  
1990  DragNSort.prototype.onDrop = function (_this, event) {
1991	  if (event.stopPropagation) {
1992	  event.stopPropagation();
1993	}
1994  
1995	if (_this.$activeItem !== this) {
1996	  _this.$activeItem.innerHTML = this.innerHTML;
1997	  this.innerHTML = event.dataTransfer.getData('text/html');
1998	}
1999  
2000	_this.removeClasses();
2001  
2002	return false;
2003  };
2004  
2005  DragNSort.prototype.bind = function () {
2006	  this.on(this.$items, 'dragstart', this.onDragStart);
2007	  this.on(this.$items, 'dragend', this.onDragEnd);
2008	  this.on(this.$items, 'dragover', this.onDragOver);
2009	  this.on(this.$items, 'dragenter', this.onDragEnter);
2010	  this.on(this.$items, 'dragleave', this.onDragLeave);
2011	  this.on(this.$items, 'drop', this.onDrop);
2012  };
2013  
2014  DragNSort.prototype.init = function () {
2015	  this.bind();
2016  };
2017  
2018  if($('.drag-list').length > 0){
2019	var draggable = new DragNSort({
2020	  container: document.querySelector('.drag-list'),
2021	  itemClass: 'drag-item',
2022	  dragStartClass: 'drag-start',
2023	  dragEnterClass: 'drag-enter'
2024	});
2025	draggable.init();
2026	$(".drag-list").draggable (  
2027		{ disabled: true }  
2028	); 
2029  }
2030
2031/***********************************Drag & Drop*************************************/
2032$( ".drag-list" ).sortable({
2033    update: function(event, ui) {
2034        // console.log($(this).sortable("toArray"));
2035        $.ajax({
2036			url: portfolio_change_ordering_url,
2037			method: "POST",
2038			data: {'_token':_token , 'id' : $(this).sortable("toArray")},
2039			dataType: "json",
2040			success: function(data){
2041				if(data.success == true){
2042					alert_success(data.message);
2043				}
2044			}
2045		});
2046    }
2047}).disableSelection();
2048
2049// We need to keep track of faded in elements so we can apply fade out later in CSS
2050document.addEventListener('animationstart', function (e) {
2051	if (e.animationName === 'fade-in') {
2052		e.target.classList.add('did-fade-in');
2053	}
2054});
2055
2056document.addEventListener('animationend', function (e) {
2057	if (e.animationName === 'fade-out') {
2058		e.target.classList.remove('did-fade-in');
2059	}
2060});
2061
2062
2063$('video.fullimage_video').bind('webkitfullscreenchange mozfullscreenchange fullscreenchange', function(e) {
2064    var state = document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen;
2065    // var event = state ? 'FullscreenOn' : 'FullscreenOff';
2066	if(state == false){
2067		setTimeout(function(){
2068			$('.product-slider .slick-track').css('transform','unset');
2069		},500);
2070	}
2071});
2072
2073
2074/**********************************Accordion js********************************************/
2075$(document).ready(function(){
2076	$("#activate-toggle").click(function(){
2077		$(".activate-btn").toggle();
2078		$(".cus-close-btn").toggle().toggleClass('d-block cus-close');
2079		$(".cus-filter-icon").toggleClass('cus-filter-icon-close');
2080	  	$(".cus-deactive").toggle(300);
2081	});
2082  });
2083  
2084
2085$(".course-slide-menu").slick({
2086	infinite: false,
2087	speed: 300,
2088	slidesToShow: 1,
2089	arrows: true,
2090	variableWidth: true
2091});
2092
2093/********************************account setting js*******************************************/
2094
2095$('.cus_account').each(function () {
2096	var $dropdown = $(this);
2097	var $activeItem = $dropdown.find('.dropdown-menu a.dropdown-item.active').first();
2098
2099	if (!$activeItem.length) {
2100		return;
2101	}
2102
2103	var label = $.trim($activeItem.clone().children('.ps-nav-score').remove().end().text());
2104	if (label) {
2105		$dropdown.find('.dropdown-toggle').first().text(label);
2106	}
2107});
2108
2109$(document).on('click', '.show_rejection_reason',function(event){
2110		$('#rejection_reason_div').html($(this).attr("data-reason"));
2111			$('#rejection-reason-modal').modal('show');
2112	});
2113
2114
2115/*************************blog table script******************************/
2116var screenWidth = $(window).width();
2117
2118if (screenWidth < 992 && !$('.blog-content.cus-blog-table-style table').parent('div').hasClass('blog-table-responsive')) {
2119	$('.blog-content.cus-blog-table-style table').wrap('<div class="blog-table-responsive"></div>');
2120}
2121
2122
2123$('.da').on('shown.bs.tab', function (e) {
2124	$('.popular-grid-one').slick('setPosition');
2125  });
2126
2127
2128// new homepage sliders & features
2129$(".hire_top_talent_mobile_slider").slick({
2130	// dots: false,
2131	speed: 300,
2132	slidesToShow: 1,
2133	arrows: true,
2134	infinite:false,
2135	centerPadding: 10,
2136	// prevArrow: '<span class="cus-arrow-left new"><i class="fa fa-chevron-left"></i></span>',
2137	// nextArrow: '<span class="cus-arrow-right new"><i class="fa fa-chevron-right"></i></span>',
2138	prevArrow: '<span class="cus-arrow-left"><img src="'+home_slider_left+'"></span>',
2139	nextArrow: '<span class="cus-arrow-right"><img src="'+home_slider_left+'"></span>',
2140	responsive: [{
2141			breakpoint: 1024,
2142			settings: {
2143				slidesToShow: 3,
2144				slidesToScroll: 1,
2145				// centerMode: true,
2146
2147			}
2148		},
2149		{
2150			breakpoint: 767,
2151			settings: {
2152				slidesToShow: 1,
2153				slidesToScroll: 1
2154			}
2155		}]
2156});
2157
2158
2159
2160$(".popular-services-slider").slick({
2161	// dots: false,
2162	speed: 300,
2163	slidesToShow: 5,
2164	arrows: true,
2165	infinite:false,
2166	centerPadding: 10,
2167	// prevArrow: '<span class="cus-arrow-left new"><i class="fa fa-chevron-left"></i></span>',
2168	// nextArrow: '<span class="cus-arrow-right new"><i class="fa fa-chevron-right"></i></span>',
2169	prevArrow: '<span class="cus-arrow-left"><img src="'+home_slider_left+'"></span>',
2170	nextArrow: '<span class="cus-arrow-right"><img src="'+home_slider_left+'"></span>',
2171	responsive: [{
2172		breakpoint: 1024,
2173		settings: {
2174			slidesToShow: 3,
2175			slidesToScroll: 1,
2176			// centerMode: true,
2177
2178		}
2179	},
2180		{
2181			breakpoint: 767,
2182			settings: {
2183				slidesToShow: 1,
2184				slidesToScroll: 1
2185			}
2186		}]
2187});
2188
2189$(".hire_top_talent").slick({
2190	// dots: false,
2191	speed: 300,
2192	slidesToShow: 3,
2193	arrows: true,
2194	infinite:false,
2195	centerPadding: 10,
2196	// prevArrow: '<span class="cus-arrow-left new"><i class="fa fa-chevron-left"></i></span>',
2197	// nextArrow: '<span class="cus-arrow-right new"><i class="fa fa-chevron-right"></i></span>',
2198	prevArrow: '<span class="cus-arrow-left"><img src="'+home_slider_left+'"></span>',
2199	nextArrow: '<span class="cus-arrow-right"><img src="'+home_slider_left+'"></span>',
2200	responsive: [{
2201		breakpoint: 1024,
2202		settings: {
2203			slidesToShow: 3,
2204			slidesToScroll: 1,
2205			// centerMode: true,
2206
2207		}
2208	},
2209		{
2210			breakpoint: 767,
2211			settings: {
2212				slidesToShow: 1,
2213				slidesToScroll: 1
2214			}
2215		}]
2216});
2217
2218$(function() {
2219	$('.hero-section').animatedHeadline({
2220		animationType: 'rotate-1'
2221	});
2222});
2223
2224
2225/***********************************Chat scroll issue fixed********************************************/
2226function getElementHeight(selector) {
2227	const element = document.querySelector(selector);
2228	if (element) {
2229		return element.clientHeight;
2230	}
2231	return 0;
2232}
2233
2234// Function to handle resize events
2235function handleResize() {
2236	const elementHeight = getElementHeight('.react_header');
2237
2238	const chatSection = document.querySelector('.wide_chat_open #chat-iframe');
2239	if (chatSection) {
2240		chatSection.style.height = "calc(100vh - " + (elementHeight + 10) + "px)";
2241	}
2242}
2243
2244// Initial load
2245document.addEventListener('DOMContentLoaded', function () {
2246 
2247    setTimeout(() => {
2248        handleResize();
2249 
2250 
2251        window.addEventListener('resize', handleResize);
2252 
2253        
2254        const header = document.querySelector('.react_header');
2255        if (header) {
2256            const resizeObserver = new ResizeObserver(handleResize);
2257            resizeObserver.observe(header);
2258        }
2259    }, 100); 
2260});
2261/***********************************Chat scroll issue fixed********************************************/

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.