PageSourceSearch

https://www.letsengage.com/ai-search

html letsengage.com collected 2026-09-25 04:30:29 UTC 184,533 bytes, 4,216 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4    <meta charset="utf-8">
5    <meta http-equiv="X-UA-Compatible" content="IE=edge">
6    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
7	
8		
9	
10    <!-- CSRF Token -->
11	
12		
13		
14		    <meta name="csrf-token" content="uu2FR2m8LqjudU1vIbusWK10jODH8U5W3UFVQENL">
15
16	    <title>ENGAGE - AI Search</title>
17	
18			<meta name="description" content="Discover AI speaker solutions through Engage. Explore innovative tools that simplify talent discovery and event planning." />
19		<!-- landingPageIndex -->
20	<link rel="icon" type="image/png" href="https://www.letsengage.com/images/fab-icon-new.png" />
21	
22    <!-- Styles -->
23	
23<script src="https://www.letsengage.com/js/app.js"></script>
23
24	<link href="https://www.letsengage.com/css/price-ranger.css" type="text/css" rel="stylesheet">
25    <link href="https://www.letsengage.com/css/app.css" rel="stylesheet">
26    <link href="https://www.letsengage.com/fonts/OpenSans.css" type="text/css" rel="stylesheet">
27    <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/css/bootstrap-multiselect.css" type="text/css" rel="stylesheet">
28	<!-- CSS only -->
29	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/css/bootstrap.min.css"/>
30    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
31    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css"/>   
32    <link href="https://www.letsengage.com/css/imgareaselect-default.css" type="text/css" rel="stylesheet">
33    <link rel="stylesheet" href="https://www.letsengage.com/css/jquery.fancybox.min.css" type="text/css" media="screen" />
34    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-timepicker/1.10.0/jquery.timepicker.css" type="text/css" media="screen" />
35    <link href="https://www.letsengage.com/css/sweetalert2.min.css" type="text/css" rel="stylesheet">
36     <link rel="stylesheet" href="https://www.letsengage.com/css/mediaelementplayer.min.css" type="text/css" media="screen" />
37	<link rel="preconnect" href="https://fonts.googleapis.com">
38	<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
39	<link href="https://fonts.googleapis.com/css2?family=Poppins:wght@100;200;300;400;500;600;700&display=swap" rel="stylesheet">
40	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.carousel.min.css"/>
41	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/assets/owl.theme.default.min.css"/>
42    <link href="https://www.letsengage.com/css/jquery-ui.min.css" type="text/css" rel="stylesheet">
43    <link href="https://www.letsengage.com/css/imgareaselect-default.css" type="text/css" rel="stylesheet">
44	 <link href="https://www.letsengage.com/css/animate.css" type="text/css" rel="stylesheet">
45    <link href="https://www.letsengage.com/css/consumer_style.css" type="text/css" rel="stylesheet">
46    <link href="https://www.letsengage.com/css/frontend-third.css" type="text/css" rel="stylesheet">
47	<link href="https://www.letsengage.com/css/consumer_responsive.css" type="text/css" rel="stylesheet">
48	<link href="https://www.letsengage.com/css/responsive-third.css" type="text/css" rel="stylesheet">
49	<link href="https://www.letsengage.com/css/consumer_welcome.css" type="text/css" rel="stylesheet">
50		<link rel="stylesheet" type="text/css" href="//cdn.jsdelivr.net/npm/[email protected]/slick/slick.css"/>
51	
52			<link href="https://www.letsengage.com/css/agent_welcome.css" type="text/css" rel="stylesheet">
53		<link href="https://www.letsengage.com/css/ai-search.css" type="text/css" rel="stylesheet">
54		<link href="https://www.letsengage.com/css/recommended-form-list.css" type="text/css" rel="stylesheet">
vendor: 64 bytes, lines 54-56
54
55	
56	<script src="https://www.google.com/recaptcha/api.js?render=
566LeTE4QUAAAAAIDO4OX7g1DJx83q2reKev6IfHR8
vendor: 13 bytes, lines 56-57
56"></script>
57	
57<!-- Global site tag (gtag.js) - Google Ads: 768122982 -->
vendor: 64 bytes, lines 57-58
57
58<script async src="https://www.googletagmanager.com/gtag/js?id=
58AW-768122982
vendor: 12 bytes, line 58
58"></script>
59<script>
60  
vendor: 134 bytes, lines 60-64
60window.dataLayer = window.dataLayer || [];
61  function gtag(){dataLayer.push(arguments);}
62  gtag('js', new Date());
63
64  gtag('config', '
64AW-768122982
vendor: 4 bytes, line 64
64');
65</script>
vendor: 1 bytes, line 65
65
66<script>(function(w,d,t,r,u){var f,n,i;w[u]=w[u]||[],f=function(){var o={ti:"52004730"};o.q=w[u],w[u]=new UET(o),w[u].push("pageLoad")},n=d.createElement(t),n.src=r,n.async=1,n.onload=n.onreadystatechange=function(){var s=this.readyState;s&&s!=="loaded"&&s!=="complete"||(f(),n.onload=n.onreadystatechange=null)},i=d.getElementsByTagName(t)[0],i.parentNode.insertBefore(n,i)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script>
66 
67		
68<style>
69
70	.kbw-signature { width: 400px; height: 200px;}
71	#talent_sign_block canvas{
72		width: 100% !important;
73		height: auto;
74		border: 1px solid;
75	}
76
77</style>
78<script>
79	if(localStorage.getItem("loaderdata") === null){
80         $('#loader-engage').show(); 
81     }
82</script>
82
83
84
85		
86<style>
87      #components{
88        min-height: 600px;
89        margin-top: 5px;
90      }
91      #target{
92        min-height: 200px;
93        border: 1px solid #ccc;
94        padding: 5px;
95      }
96      #target .component{
97        border: 1px solid #fff;
98      }
99      #temp{
100        width: 500px;
101        background: white;
102        border: 1px dotted #ccc;
103        border-radius: 10px;
104      }
105
106      .popover-content form {
107        margin: 0 auto;
108        width: 213px;
109      }
110      .popover-content form .btn{
111        margin-right: 10px
112      }
113      #source{
114        min-height: 500px;
115      }
116      .single-box-category-ns img {
117      	width: 64%;
118      }
119
120      .single-box-category-ns.active span {
121	background-color: #00b26b;
122	/* color: white; */
123
124
125}
126.single-box-category-ns.active .select-category-box > div img {
127  filter: brightness(0) invert(1);
128}
129.search-box-ns input[type="submit"] {
130	background-color: #00b26b;
131	border: hidden;
132	color: #fff;
133	width: 128px;
134	padding: 0 0 0 20px;
135	background-image: url(../images/icon-sns.png);
136	background-repeat: no-repeat;
137	background-position: left 27px center;
138	position: absolute;
139	right: 5px;
140	height: 40px;
141}
142.box-outer-search-ns ul li a{
143	color: black !important;
144}
145
146#home_header_button {
147	position: absolute;
148	right: 0;
149	top: 0;
150	height: 58px;
151	width: auto;
152	background-color: var(--primary-color);
153	font-size: 19px;
154	line-height: 23px;
155	color: #ffffff;
156	font-weight: 500;
157	font-family: "Poppins";
158	text-transform: uppercase;
159	padding: 0 39px;
160}
161.Engage-AI a:hover h2 {
162    color: #fff !important;
163}
164.Engage-AI a:hover svg path{
165    fill: #fff !important;
166}
167.signbutton.sign-btn.consumer-signout-button {
168	margin-left: 6px;
169    padding: 19px;
170  }
171  .signup-button-gap{
172	gap: 5px;
173  }
174  #agent-signout-button{
175	margin-left: 10px;
176    padding: 14px;
177  }
178    </style>
179</head>
180<body class=" e3n">
181	<div class="search_overlay"></div>
182	<header>
183		<div class="container">
184			<nav class="navbar navbar-expand-lg">
185				<a class="navbar-brand" href="https://www.letsengage.com"><img src="https://www.letsengage.com/images/footer-logo3.png" alt="Engage"></a>
186				
187				<div class="talent-new-search s-desktop-only">
188					<div class="maine-box-talent-new-search"> 
189													<form id ="search-form" method="get" action = "https://www.letsengage.com/talent">
190													<div class="box-outer-search-ns">
191												<div class="search-box-ns">
192							<input type="hidden" class="searchprice" name="searchprice" value="">
193							<input type="hidden" class="price_type" name="price_type" value="">
194																					                            <span class="select-category-ns top-cate-menu-wrapper"><span class="inner-select-category-ns"> Select Category </span></span>
195							<span class="price-ns top-cate-menu-wrapper"><span class="inner-price-ns"> Price </span></span>
196							<input type="submit" class ="btn-search" value="">
197						</div>
198																															<div class="select-category-box bottom-menu-wrapper mega-new-menu" style="display:none;">
199								<div class="bottom-new-mega">
200									<ul>
201																														<li id="top_herder_cat200" class="single-category-selection   hasvary  " data-name= "Athletics" data-id ="200"><a href="javascript:void(0)"><span class="new-icon-mega" data-id ="200"><img src="https://www.letsengage.com/storage/black_icons/athlete_speakers.png" alt="" /></span><h6>Athletics </h6></a></li>
202                                        																				<li id="top_herder_cat201" class="single-category-selection   hasvary  " data-name= "Business Speakers" data-id ="201"><a href="javascript:void(0)"><span class="new-icon-mega" data-id ="201"><img src="https://www.letsengage.com/storage/black_icons/Corporate.png" alt="" /></span><h6>Business Speakers </h6></a></li>
203                                        																				<li id="top_herder_cat202" class="single-category-selection   hasvary  " data-name= "Culture &amp; Inclusivity Speakers" data-id ="202"><a href="javascript:void(0)"><span class="new-icon-mega" data-id ="202"><img src="https://www.letsengage.com/storage/black_icons/SPEAKER.png" alt="" /></span><h6>Culture &amp; Inclusivity Speakers </h6></a></li>
204                                        																				<li id="top_herder_cat203" class="single-category-selection   hasvary  " data-name= "Health and Wellness Speakers" data-id ="203"><a href="javascript:void(0)"><span class="new-icon-mega" data-id ="203"><img src="https://www.letsengage.com/storage/black_icons/health-wellness-speakers.png" alt="" /></span><h6>Health and Wellness Speakers </h6></a></li>
205                                        																				<li id="top_herder_cat204" class="single-category-selection   hasvary  " data-name= "Influencers" data-id ="204"><a href="javascript:void(0)"><span class="new-icon-mega" data-id ="204">
205<img src="https://www.letsengage.com/storage/black_icons/Influencer.png" alt="" /></span><h6>Influencers </h6></a></li>
206                                        																				<li id="top_herder_cat207" class="single-category-selection   " data-name= "Leadership Speakers" data-id ="207"><a href="javascript:void(0)"><span class="new-icon-mega" data-id ="207"><img src="https://www.letsengage.com/storage/black_icons/Authors.png" alt="" /></span><h6>Leadership Speakers </h6></a></li>
207                                        																				<li id="top_herder_cat205" class="single-category-selection   hasvary  " data-name= "Motivational Speakers" data-id ="205"><a href="javascript:void(0)"><span class="new-icon-mega" data-id ="205"><img src="https://www.letsengage.com/storage/black_icons/SPEAKER.png" alt="" /></span><h6>Motivational Speakers </h6></a></li>
208                                        																				<li id="top_herder_cat206" class="single-category-selection   hasvary  " data-name= "Other" data-id ="206"><a href="javascript:void(0)"><span class="new-icon-mega" data-id ="206"><img src="https://www.letsengage.com/storage/black_icons/Other.png" alt="" /></span><h6>Other </h6></a></li>
209                                        									</ul>
210								</div>
211
212						 <div class="sub-category-mega-menu main-filter"></div>
213						 <div class="bottom-selected-value budget_section_top" style="display:none">
214							 <ul>
215								 							 </ul>
216							<a href="javascript:void(0)" class="mega-menu-btn bugt_btn"  style="display:none">Select Budget</a>
217						 </div>
218						</div>
219						<div class="select-price-box bottom-menu-wrapper" style="display:none;">
220							<div class="form-group-ns">
221								<label>Estimated Price</label>
222								<div class="select-box-price-ns-boxes">
223									<ul  class="top_virtual"  style="display:none" >
224										<li id="inner_upper1"  class="pricing-box " data-id="1"><a href="javascript:void(0)">$3k-$7.5k</a></li>
225										<li id="inner_upper2" class="pricing-box " data-id="2"><a href="javascript:void(0)">$7.5k-$15k</a></li>
226										<li id="inner_upper3" class="pricing-box " data-id="3"><a href="javascript:void(0)">$15k-$25k</a></li>
227										<li id="inner_upper4" class="pricing-box " data-id="4"><a href="javascript:void(0)">$25k-$50K</a></li>
228										<li  id="inner_upper5" class="pricing-box " data-id="5"><a href="javascript:void(0)">$50k+</a></li>
229									</ul>
230
231									<ul class="top_inperson" >
232										<li id="inner_upper1"  class="pricing-box " data-id="1"><a href="javascript:void(0)">$5k - $10k</a></li>
233										<li id="inner_upper2" class="pricing-box " data-id="2"><a href="javascript:void(0)">$10k - $20k</a></li>
234										<li id="inner_upper3" class="pricing-box " data-id="3"><a href="javascript:void(0)">$20k - $35k</a></li>
235										<li id="inner_upper4" class="pricing-box " data-id="4"><a href="javascript:void(0)">$35k -$50k</a></li>
236										<li  id="inner_upper5" class="pricing-box " data-id="5"><a href="javascript:void(0)">$50k+</a></li>
237										
238									</ul>
239
240
241								</div>
242							</div>
243							<div class="switch-price-ranger">
244								<div class="switch_talent_mails">
245									<span class="virtual-event">Virtual</span>
246									<label class="switch_mail">
247										<input type="checkbox" class="switch_mail_talent"  checked="checked"  style="width: 20px; height: 20px;  -webkit-appearance: checkbox;">
248										<span class="slider round"></span>
249									</label>
250									<span class="personal-event">In-Person</span>
251								</div>
252							</div>
253
254							
255							<div class="bottom-selected-value price_section_top">
256							<ul>
257
258							         							</ul>
259							<a href="javascript:void(0)" class="mega-menu-btn top_bottom_search_btn" style="display:none;">Search</a>
260						 </div>
261						</div>
262						</div>
263						</form>
264					</div>
265				</div>
266				<button class="navbar-toggler" type="button">
267					<span></span>
268					<span></span>
269					<span></span>
270				</button>
271				<div class="collapse navbar-collapse talent-navi-new" id="navbarSupportedContent">
272				<i class="fas fa-times"></i>
273					<ul class="navbar-nav mr-auto">
274						<li class="nav-item"><a href="https://www.letsengage.com/talent">Talent & Experience</a></li>
275						<li class="nav-item">
276							<a class="nav-link" href="https://www.letsengage.com/booking-questionnaire"> Engage AI Talent Search</a>
277						</li>
278																		<li class="nav-item sub-menu-resources">
279							<a class="nav-link" href="https://www.letsengage.com/about-us">Resources</a> <i class="fas fa-sort-down"></i>
280							<ul class="sub-menu-ul about-ul">
281								
282								<li><a href="https://www.letsengage.com/customer-case-study">Customer Stories & Reviews</a></li>
283								
284								<li><a href="https://www.letsengage.com/in-the-press">In The News</a></li>
285								
286								<li><a href="https://www.letsengage.com/blog">Blog</a></li>
287								<li><a href="https://www.letsengage.com/about-us">About Engage</a></li>
288								<li><a href="https://www.letsengage.com/about-us#ourteam">Engage Team</a></li>
289							</ul>
290						</li>
291						<li class="nav-item">
292							<a class="nav-link" href="https://www.letsengage.com/contact-us">Contact Us</a>
293						</li>
294					</ul>
295				</div>
296				
297				<div class="search-div-new-header">
298									<button class="search-header-icon-img"><img src="https://www.letsengage.com/images/s-img.png" alt="">Advanced Search</button>
299									<div class="search-box-new-header" style="display: none">
300						<div class="form-ai-button-container">
301												<form id="home-search" action="https://www.letsengage.com/talent">
302                         										
303										
304							 							<div class="search-group-box searchdropdownheader">
305								<input type="text" class="all_search-home" name="search"    placeholder="Search by Talent name, Category, or Hashtags">
306								
307								    <div class="dropdown">
308									<button class="btn btn-default dropdown-toggle" type="button" 
309											id="dropdownMenu3" data-toggle="dropdown" 
310											aria-haspopup="true" aria-expanded="true">
311									  <span class="caret"></span>Search By:
312									</button>
313							<ul class="dropdown-menu checkbox-menu allow-focus" aria-labelledby="dropdownMenu3">
314
315							  <li >
316								<label>
317								  <input type="radio" name="searchdropdownoption" value="all"  checked > Search all
318								</label>
319								</li>
320
321								 <li >
322									<label>
323									  <input type="radio" name="searchdropdownoption" value="name" > Name
324									</label>
325							  </li>
326							  <li >
327								<label>
328									<input type="radio" name="searchdropdownoption" value="category" > Category
329								</label>
330							</li>
331							  <li >
332									<label>
333									  <input type="radio" name="searchdropdownoption" value="hashtag" > Hashtag
334									</label>
335							  </li>
336
337							  <li >
338									<label>
339									  <input type="radio" name="searchdropdownoption" value="location" > Location
340									</label>
341							  </li>
342							  
343
344								</ul>
345					  </div>
346					  			<input type="hidden" value="1" name="homePageAdvancedSearch" >
347								<input type="hidden" value="2" name="advanced_search" >
348								<input id="home_header_button" type="submit" value="search now">
349							</div>
350						</form>
351						
352						<span class="close-box-search"><i class="fa fa-times" aria-hidden="true"></i></span>
353						</div>
354					</div>
355				</div>
356												<div class="dropdown-profile ai-search-box-dropdown Engage-AI">
357
358					<a href="https://www.letsengage.com/ai-search" class="signbutton aiLink"><h2>Engage AI <sup> Beta </sup></h2>
359						<svg width="37" height="40" viewBox="0 0 37 40" fill="none" xmlns="http://www.w3.org/2000/svg">
360							<path d="M11.3501 18.7769C11.3501 18.7769 11.9308 24.197 14.1928 26.4589C16.4547 28.7209 21.8748 29.3016 21.8748 29.3016C21.8748 29.3016 16.4547 29.8823 14.1928 32.1442C11.9308 34.4061 11.3501 39.8263 11.3501 39.8263C11.3501 39.8263 10.7694 34.4061 8.50752 32.1442C6.24559 29.8823 0.825439 29.3016 0.825439 29.3016C0.825439 29.3016 6.24559 28.7209 8.50752 26.4589C10.7694 24.197 11.3501 18.7769 11.3501 18.7769Z" fill="#00B26B"/>
361							<path d="M26.3854 8.18384C26.3854 8.18384 26.9661 13.604 29.228 15.8659C31.49 18.1278 36.9101 18.7085 36.9101 18.7085C36.9101 18.7085 31.49 19.2892 29.228 21.5512C26.9661 23.8131 26.3854 29.2332 26.3854 29.2332C26.3854 29.2332 25.8047 23.8131 23.5428 21.5512C21.2809 19.2892 15.8607 18.7085 15.8607 18.7085C15.8607 18.7085 21.2809 18.1278 23.5428 15.8659C25.8047 13.604 26.3854 8.18384 26.3854 8.18384Z" fill="#00B26B"/>
362							<path d="M11.3501 0.251221C11.3501 0.251221 11.9308 5.67138 14.1928 7.9333C16.4547 10.1952 21.8748 10.7759 21.8748 10.7759C21.8748 10.7759 16.4547 11.3566 14.1928 13.6185C11.9308 15.8805 11.3501 21.3006 11.3501 21.3006C11.3501 21.3006 10.7694 15.8805 8.50752 13.6185C6.24559 11.3566 0.825439 10.7759 0.825439 10.7759C0.825439 10.7759 6.24559 10.1952 8.50752 7.9333C10.7694 5.67138 11.3501 0.251221 11.3501 0.251221Z" fill="#00B26B"/>
363						</svg>
364					</a>
365					<a href="https://www.letsengage.com/login" class="signbutton"><i class="fas fa-user-circle user-sigin-icon"></i></a>
366					
367				</div>
368								<div class="talent-menu-box">
369					<button id="bar-menu-engage">
370						<span></span>
371						<span></span>
372						<span></span>
373					</button>	
374					<div class="talent-menu-boxul">
375						<div class="talent-menu-boxul-btn">
376															<a href="https://www.letsengage.com/login">Login / Signup</ul></a>
377													</div>
378												<span id="close-menu-talent"><i class="fa fa-times" aria-hidden="true"></i></span>
379						
380						<ul class="talent-menu-ul">
381							<li class="nav-item sub-menu-resources">
382								<a class="nav-link" href="javascript:void(0)">Quick Links</a>
383								<i class="fas fa-sort-down" id="services-toggle"></i>
384								<ul class="sub-menu-ul about-ul services-ul">
385									<li class="nav-item"><a href="https://www.letsengage.com/talent">Talent & Experience</a></li>
386									<li class="nav-item"><a class="nav-link" href="https://www.letsengage.com/booking-questionnaire"> Engage AI Talent Search</a></li>
387									<li class="nav-item"><a class="nav-link" href="https://www.letsengage.com/contact-us">Contact Us</a></li>
388									<li class="nav-item"><a class="nav-link" href="https://www.letsengage.com/receive-recommended-list">Request Custom Talent Recommendations</a></li>
389								</ul>
390							</li>
391
392													
393														
394							<li class="nav-item sub-menu-resources services">
395								<a class="nav-link" href="javascript:void(0)">What We Do</a>
396								<i class="fas fa-sort-down" id="services-toggle"></i>
397								<ul class="sub-menu-ul about-ul services-ul">
398									<li><a href="https://www.letsengage.com/servicesforbookers">Talent Booking Services</a></li>
399									<li><a href="https://www.letsengage.com/servicesfortalents">Services For Talent</a></li>
400									<li><a href="https://www.letsengage.com/ncaa-nil">NCAA Name, Image, & Likeness</a></li>
401								</ul>
402							</li>
403							<li class="nav-item sub-menu-resources categories">
404								<a class="nav-link" href="javascript:void(0)">Categories</a>
405								<i class="fas fa-sort-down" id="services-toggle"></i>
406								<ul class="sub-menu-ul about-ul services-ul">
407									<li><a href="https://www.letsengage.com/Business-Speakers">Business Speakers</a></li>
408									<li><a href="https://www.letsengage.com/Athletics">Sports Speakers</a></li>
409									<li><a href="https://www.letsengage.com/Motivational-Speakers">Motivational Speakers</a></li>
410									<li><a href="https://www.letsengage.com/Leadership">Leadership Speakers</a></li>
411									<li class="view-mr"><a href="https://www.letsengage.com/categories/all">View all</a></li>
412								</ul>
413							</li>
414							<li class="nav-item sub-menu-resources resources">
415								<a class="nav-link" href="https://www.letsengage.com/about-us">Resources</a> <i class="fas fa-sort-down"></i>
416								<ul class="sub-menu-ul about-ul">
417									<!-- <li><a href="https://www.letsengage.com/faq">FAQ's</a></li> -->
418									<li><a href="https://www.letsengage.com/customer-case-study">Customer Stories & Reviews</a></li>
419									<!-- <li><a href="https://www.letsengage.com/concierge">Engage Concierge</a></li> -->
420									<!-- <li><a href="https://www.letsengage.com/in-the-press">In The News</a></li> -->
421									<!-- <li><a href="https://www.letsengage.com/mission">Mission</a></li> -->
422									<li><a href="https://www.letsengage.com/blog">Blog</a></li>
423									<li><a href="https://www.letsengage.com/about-us">About Engage</a></li>
424									<li><a href="https://www.letsengage.com/about-us#ourteam">Engage Team</a></li>
425
426									</ul>
427							</li>
428						</ul>
429					</div>
430				</div>
431			</nav>
432						<div class="talent-search-box">
433				<div class="search-box-mt">
434					<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" style="display:block;height:16px;width:16px;fill:currentColor" aria-hidden="true" role="presentation" focusable="false"><path d="M13 0a13 13 0 0 1 10.5 20.67l7.91 7.92-2.82 2.82-7.92-7.91A12.94 12.94 0 0 1 13 26a13 13 0 1 1 0-26zm0 4a9 9 0 1 0 0 18 9 9 0 0 0 0-18z" opacity=".8"></path></svg>
435					<span class="category-name-mt">Search Category and Price</span>
436				</div>
437			</div>
438			<div class="search-box-talent-box-mobile" style="display: none;">
439				<div class="top-heading-search">
440					<h4>Talent Search</h4>
441					<span class="talent-ms-close"><i class="fa fa-times" aria-hidden="true"></i></span>
442				</div>
443				<div class="category-talent-search-mobile">
444					<div class="box-ts-mobile category-search-talent">
445						<div class="shadow-box-ms-content">
446							<h6>Select Category</h6>
447						</div>
448						<div class="dropdown-mobile-search">
449							<!--<div class="featured-talent-admin">
450								<h6>Trending Categories</h6>	
451								<div class="list-featured-category">
452								
453																		<div class="single-fea-cate" data-id ="108">
454										<span><img src="https://www.letsengage.com/storage/black_icons/Olympic.png" alt=""></span>
455										<p>Olympians</p>
456									</div>
457								
458
459																			<div class="single-fea-cate" data-id ="119">
460										<span><img src="https://www.letsengage.com/storage/black_icons/Future_work.png" alt=""></span>
461										<p>Future of Work</p>
462									</div>
463								
464
465																			<div class="single-fea-cate" data-id ="136">
466										<span><img src="https://www.letsengage.com/storage/black_icons/Mental_Health.png" alt=""></span>
467										<p>Mental Health</p>
468									</div>
469								
470
471																			<div class="single-fea-cate" data-id ="153">
472										<span><img src="https://www.letsengage.com/storage/black_icons/Peak_Performance.png" alt=""></span>
473										<p>Peak Performance</p>
474									</div>
475															</div>
476							</div> -->
477							<div class="category-sub-category-drop">
478								<div class="single-category-drop">
479									<label>Category</label>
480									<select id="mobile-tabletcate-subcat" class="mobile-tabletcate">
481										<option>Select Category</option>
482																				<option value="200" class="">Athletics</option>
483																				<option value="201" class="">Business Speakers</option>
484																				<option value="202" class="">Culture &amp; Inclusivity Speakers</option>
485																				<option value="203" class="">Health and Wellness Speakers</option>
486																				<option value="204" class="">Influencers</option>
487																				<option value="207" class="">Leadership Speakers</option>
488																				<option value="205" class="">Motivational Speakers</option>
489																				<option value="206" class="">Other</option>
490																			</select>
491								</div>
492															</div>
493							<div class="categ-select">
494								
495							</div>
496						</div>
497					</div>
498
499					<div class="box-ts-mobile price-search-talent">
500						<div class="shadow-box-ms-content">
501						<h6>Price</h6>
502						</div>
503						<div class="dropdown-mobile-search">
504							<div class="form-group-ns">
505								<label>Estimated Price</label>
506								<div class="select-box-price-ns-boxes">
507									<ul>
508										<li class="pricing-box" data-id="1"><a href="javascript:void(0)">$3k-$7.5k</a></li>
509										<li class="pricing-box" data-id="2"><a href="javascript:void(0)">$7.5k-$15k</a></li>
510										<li class="pricing-box" data-id="3"><a href="javascript:void(0)">$15k - $25k</a></li>
511										<li class="pricing-box" data-id="4"><a href="javascript:void(0)">$25k +</a></li>
512									</ul>
513								</div>
514							</div>
515							<div class="switch-price-ranger">
516								<div class="switch_talent_mails">
517									<span class="virtual-event">Virtual</span>
518									<label class="switch_mail">
519										<input type="checkbox" class="switch_mail_talent" name="mail_to_agent" style="width: 20p
519x; height: 20px;  -webkit-appearance: checkbox;">
520										<span class="slider round"></span>
521									</label>
522									<span class="personal-event">In-Person</span>
523								</div>
524							</div>
525							<div class="pric-select"></div>
526						</div>
527					</div>
528				</div>
529				<div class="box-clear-and-search">
530					<a href="javascript:void(0)" class="clearsrch">Clear</a>
531					<input id="mob-search-btn" type="button" value="Search">
532				</div>
533			</div>
534		</div>
535	</header>
536			    <style>
537        .ai-response-text span {
538            white-space: pre-wrap;
539            display: block;
540            /* or inline-block if you must */
541        }
542
543        #bold-speaking-topic-ai p {
544            /* font-weight: bold; */
545            padding-left: 10px;
546        }
547
548        #bold-speaking-topic-ai {
549            min-height: 83px;
550            display: flex;
551            padding: 10px 15px;
552            background-color: #d5d5d5;
553            cursor: pointer;
554            align-items: center;
555        }
556
557        .finding-box {
558            justify-content: center;
559        }
560
561        .msg-icon {
562            margin-top: 30px;
563            cursor: pointer;
564            display: none;
565        }
566
567        .msg-bubble:hover .copy-btn {
568            display: block;
569        }
570
571        .msg-bubble:hover .edit-btn {
572            display: block;
573        }
574
575
576        .speaking-topic-link {
577            text-decoration: none;
578            display: block;
579        }
580
581        /* Hover effect */
582        .speaking-topic-link:hover #bold-speaking-topic-ai {
583            background-color: black;
584        }
585
586        .speaking-topic-link:hover #bold-speaking-topic-ai p {
587            color: white;
588        }
589
590        .display-response .finding-setup .finding-box {
591            transition: all 0.4s ease;
592        }
593
594        .display-response .finding-setup .finding-box:hover {
595            background: #000;
596        }
597    </style>
598    <div class="ai-chat-box ai-search" id="ai-dev-search">
599        <div class="container">
600            <div class="row">
601                <div class="form-search-ai">
602                    <div class="ai-title">
603                        <h1>Ask Engage AI <sup> Beta </sup></h1>
604                        <svg width="37" height="40" viewBox="0 0 37 40" fill="none"
605                            xmlns="http://www.w3.org/2000/svg">
606                            <path
607                                d="M11.3501 18.7769C11.3501 18.7769 11.9308 24.197 14.1928 26.4589C16.4547 28.7209 21.8748 29.3016 21.8748 29.3016C21.8748 29.3016 16.4547 29.8823 14.1928 32.1442C11.9308 34.4061 11.3501 39.8263 11.3501 39.8263C11.3501 39.8263 10.7694 34.4061 8.50752 32.1442C6.24559 29.8823 0.825439 29.3016 0.825439 29.3016C0.825439 29.3016 6.24559 28.7209 8.50752 26.4589C10.7694 24.197 11.3501 18.7769 11.3501 18.7769Z"
608                                fill="#00B26B" />
609                            <path
610                                d="M26.3854 8.18384C26.3854 8.18384 26.9661 13.604 29.228 15.8659C31.49 18.1278 36.9101 18.7085 36.9101 18.7085C36.9101 18.7085 31.49 19.2892 29.228 21.5512C26.9661 23.8131 26.3854 29.2332 26.3854 29.2332C26.3854 29.2332 25.8047 23.8131 23.5428 21.5512C21.2809 19.2892 15.8607 18.7085 15.8607 18.7085C15.8607 18.7085 21.2809 18.1278 23.5428 15.8659C25.8047 13.604 26.3854 8.18384 26.3854 8.18384Z"
611                                fill="#00B26B" />
612                            <path
613                                d="M11.3501 0.251221C11.3501 0.251221 11.9308 5.67138 14.1928 7.9333C16.4547 10.1952 21.8748 10.7759 21.8748 10.7759C21.8748 10.7759 16.4547 11.3566 14.1928 13.6185C11.9308 15.8805 11.3501 21.3006 11.3501 21.3006C11.3501 21.3006 10.7694 15.8805 8.50752 13.6185C6.24559 11.3566 0.825439 10.7759 0.825439 10.7759C0.825439 10.7759 6.24559 10.1952 8.50752 7.9333C10.7694 5.67138 11.3501 0.251221 11.3501 0.251221Z"
614                                fill="#00B26B" />
615                        </svg>
616                    </div>
617                    <div class="ai-subtitle">
618                        <p>Engage AI is here to help you find the perfect speaker for your event. Explicitly trained on
619                            Engage’s public-facing and proprietary data, it is the industry’s first and best AI speaker
620                            search tool. For top performance, give Engage AI as many specific prompts as you can, such as
621                            desired topics, desired background experience, your budget range, and other pertinent
622                            information.</p>
623                        <br>
624                    </div>
625
626
627                    
628                    <div class="ai-chat-box-container" style="display: none;">
629                        <div id="chat-messages" class="chat-messages">
630                            
631                        </div>
632
633                        
634                        <div class="chat-loader bot" id="chat-loading">
635                            <div class="loader-circle">
636                                <img src="https://www.letsengage.com/images/fab-icon-new.png" alt="Logo" class="loader-logo">
637                                <div class="loader-ring"></div>
638                            </div>
639                            <div class="msg-text typing">
640                                <span id="typing-message"></span>
641                            </div>
642                        </div>
643                    </div>
644                    
645                    <div class="my-target-div"></div>
646                    
647                    <form>
648                        <div class="find-me">
649                            <textarea name="" id="search-field" class="form-control" placeholder="Type your question here..."
650                                style="margin-top: 50px;"></textarea>
651                            <div class="form-arrow">
652                                <svg width="16" height="17" viewBox="0 0 16 17" fill="none"
653                                    xmlns="http://www.w3.org/2000/svg">
654                                    <path
655                                        d="M8.65681 1.03804C8.26629 0.647517 7.63313 0.647517 7.2426 1.03804L0.87864 7.402C0.488115 7.79253 0.488115 8.42569 0.87864 8.81622C1.26916 9.20674 1.90233 9.20674 2.29285 8.81622L7.94971 3.15936L13.6066 8.81622C13.9971 9.20674 14.6303 9.20674 15.0208 8.81622C15.4113 8.42569 15.4113 7.79253 15.0208 7.402L8.65681 1.03804ZM8.94971 16.2549L8.94971 1.74515L6.94971 1.74515L6.94971 16.2549L8.94971 16.2549Z"
656                                        fill="white" />
657                                </svg>
658                            </div>
659                        </div>
660                    </form>
661                    <div class="disclaimer">
662                        <p>Engage AI can make mistakes. Check important info with the Engage Team prior to booking.</p>
663                    </div>
664                    
665                </div>
666            </div>
667
668            <div class="summrize"></div>
669
670            <div class="talent-container talent-list-main-wapper talent-grid-outer">
671                <div class="main-wrapper-no-event" style="display: none">
672                    <div class="no-found-first">Thanks for using Engage AI! This particular query returned no results.
673                        Please try searching again with a more generalized query.
674                    </div>
675                    <div class="no-found-first">
676                        Engage works with over 4,500 talents. An Engage booking specialist would be happy to assist you in
677                        curating a custom list of talent to fit your needs. To contact an Engage team member, click <a
678                            href="https://www.letsengage.com/categories/all">HERE!</a>
679                    </div>
680                </div>
681            </div>
682
683            
684
685        </div>
686
687        <div class="line-btns-talent" style="display: none">
688            <div class="container">
689                <div class="line-btn-grid">
690                    <div class="btn-line-green"></div>
691                    <a href="javascript:void(0)" class="load-more-talent-searchData">
692                        <div class="btn-icon-box "><img src="https://www.letsengage.com/images/load-more.png"></div><span>Load
693                            More Talent</span>
694                    </a>
695                    
696                </div>
697            </div>
698        </div>
699    </div>
700
701	
702	<div class="logos-section-footer">
703                    <section class="as-also-seen-on booking-engine-as">
704                <div class="container">
705                    <div class="as-also-inner">
706                        <h2>Engage Is The Booking Engine For</h2>
707                        
708
709                        <ul class="slick_footer_comp">
710
711                            <li>
712                                <img src="https://letsengage.com/images/companies/abbvie.png">
713                            </li>
714                            <li>
715                                <img src="https://letsengage.com/images/companies/Activition.png">
716                            </li>
717                            <li>
718                                <img src="https://letsengage.com/images/companies/adidas.png">
719                            </li>
720                            <li>
721                                <img src="https://letsengage.com/images/companies/AIG.png">
722                            </li>
723                            <li>
724                                <img src="https://letsengage.com/images/companies/Alpha.png">
725                            </li>
726                            <li>
727                                <img src="https://letsengage.com/images/companies/American_Cancer.png">
728                            </li>
729                            <li>
730                                <img src="https://letsengage.com/images/companies/Astra.png">
731                            </li>
732                            <li>
733                                <img src="https://letsengage.com/images/companies/Bank.png">
734                            </li>
735                            <li>
736                                <img src="https://letsengage.com/images/companies/Capital.png">
737                            </li>
738                            <li>
739                                <img src="https://letsengage.com/images/companies/Coldwell.png">
740                            </li>
741                            <li>
742                                <img src="https://letsengage.com/images/companies/Continental.png">
743                            </li>
744                            <li>
745                                <img src="https://letsengage.com/images/companies/Crocks.png">
746                            </li>
747                            <li>
748                                <img src="https://letsengage.com/images/companies/Dexcom.png">
749                            </li>
750                            <li>
751                                <img src="https://letsengage.com/images/companies/Dicks.png">
752                            </li>
753                            <li>
754                                <img src="https://letsengage.com/images/companies/Essilor.png">
755                            </li>
756                            <li>
757                                <img src="https://letsengage.com/images/companies/Hermes.png">
758                            </li>
759                            <li>
760                                <img src="https://letsengage.com/images/companies/Intel.png">
761                            </li>
762                            <li>
763                                <img src="https://letsengage.com/images/companies/John_deere.png">
764                            </li>
765                            <li>
766                                <img src="https://letsengage.com/images/companies/Kaiser.png">
767                            </li>
768                            <li>
769                                <img src="https://letsengage.com/images/companies/Loreal.png">
770                            </li>
771                            <li>
772                                <img src="https://letsengage.com/images/companies/meta.png">
773                            </li>
774                            <li>
775                                <img src="https://letsengage.com/images/companies/Microsoft.png">
776                            </li>
777                            <li>
778                                <img src="https://letsengage.com/images/companies/Molson.png">
779                            </li>
780                            <li>
781                                <img src="https://letsengage.com/images/companies/nasa.png">
782                            </li>
783                            <li>
784                                <img src="https://letsengage.com/images/companies/Nationwide.png">
785                            </li>
786                            <li>
787                                <img src="https://letsengage.com/images/companies/pepsi.png">
788                            </li>
789                            <li>
790                                <img src="https://letsengage.com/images/companies/Salesforce.png">
791                            </li>
792                            <li>
793                                <img src="https://letsengage.com/images/companies/Spacex.png">
794                            </li>
795                            <li>
796                                <img src="https://letsengage.com/images/companies/Teach.png">
797                            </li>
798                            <li>
799                                <img src="https://letsengage.com/images/companies/T-mobile.png">
800                            </li>
801                            <li>
802                                <img src="https://letsengage.com/images/companies/US_Cellular.png">
803                            </li>
804                            <li>
805                                <img src="https://letsengage.com/images/companies/Wendy's.png">
806                            </li>
807                            <li>
808                                <img src="https://letsengage.com/images/companies/WPP.png">
809                            </li>
810                            <li>
811                                <img src="https://letsengage.com/images/companies/Ypo.png">
812                            </li>
813                        </ul>
814                        <a href="https://www.letsengage.com/customer-case-study" class="view-all-partner-btn">View Client Case Studies</a>
815                    </div>
816                </div>
817            </section>
818            
819            </div>
820    	    		<!-- Modal -->
821		<div class="outer-modal">
822			<div class="modal fade curated-form-popup currated_recommendation" id="exampleModalCenter" data-backdrop="static" data-keyboard="false" tabindex="-1" role="dialog"
823				aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
824				<div class="modal-dialog modal-dialog-centered" role="document">
825					<div class="modal-content">
826						<div class="modal-header">
827							<button type="button" class="close close_more_information" data-bs-dismiss="modal" aria-label="Close">
828								<span aria-hidden="true">&times;</span>
829							</button>
830						</div>
831						<div class="modal-body">		
832							<div class="team-right-form">
833								<div class="team-expert-sec">
834									<div class="col-lg-3">
835										<div class="team-left-content">
836												<h2>Start With Curated Recommendations From Our Expert Team</h2>
837                                                                                                <p>We book thousands of speakers each year for clients ranging from Fortune 10 companies to local associations. Every event is unique. That's why the best place to start your search is with a list of recommendations tailored to your thematic goals, audience profile, and budget. Fill out the form below to get started!</p>
838                                            										</div>
839									</div>
840									<div class="col-lg-9">
841										<div class="team-right-form curent-pop-left">
842											<form id="RecommendationForm-popup" action="https://www.letsengage.com/receive-recommended-submit" class="team-form" method="POST"> 
843												<input type="hidden" name="_token" value="uu2FR2m8LqjudU1vIbusWK10jODH8U5W3UFVQENL">												<input type="hidden" id="session_time" value="2026-09-25 00:30:29">
844												<input type="hidden" name="currated_popup_form" value="1">
845												<div class="form-group">
846													<div class="form-field">
847															<label>
847First Name <span>*</span></label>
848															<input type="text" name="firstname">
849													</div>
850													<div class="form-field">
851															<label>Last Name <span>*</span></label>
852															<input type="text" name="lastname">
853													</div>
854													<div class="form-field">
855															<label>Email Address <span>*</span></label>
856															<input type="text" name="email">
857													</div>
858													<div class="form-field">
859														<label class="phone-filed">Phone Number (Optional)  
860															<i class="fa fa-question-circle tooltip-icon-box" aria-hidden="true" tabindex="0">
861																<span class="tooltip-text-wrap">Enter your phone number if you'd like a booking expert to call within an hour.</span>
862																</i>
863														</label>
864														<input type="number" name="phone">
865													</div>
866												</div>
867												<div class="form-group second">
868													<div class="form-field">
869															<label>When is your event? <span>*</span></label>
870															<input type="date" name="event_date" class="event-start-date-recommendation-popup" >
871													</div>
872													<div class="form-field">
873															<label>Virtual or In-Person? <span>*</span></label>
874															
875															<select class="select" name="event_virtual">
876																<option value="person">In-Person</option>
877																<option value="virtual">Virtual</option>
878															</select>
879													</div>
880													<div class="field-range">
881														<label for="budget-range">
882															What budget range would you like to see recommendations within? <span>*</span>
883														</label>
884														
885														<div class="range recommendation-range" id="ranges">
886																<input type="hidden" name="minimunm_budget" id="popup_minimum_price" value="5000">
887																<input type="hidden" name="maximum_budget" id="popup_maximium_price" value="21000">
888																<div class="range-container range-slider-main">
889																		<div class="progress-bar" id="popup-progress-bar">
890																		<span id="popup-min-box" class="box min-price" style="left: 0;" onmousedown="popupStartDraging(event)">0</span>
891																		<span id="popup-max-box" class="box max-price" style="left: 25%;" onmousedown="popupStartDragingSecond(event)">0</span>
892																		</div>
893																		<div class="bottom_div">
894																			<span id="popup-min-value" class="min-price" style="left: 0;">$5000</span>
895																			<span id="popup-max-value" class="max-price" style="left: 10%;">$21000</span>
896																		</div>
897																</div>
898															</div>
899													</div>
900												</div>
901												<div class="form-group full">
902													<label>What topics/themes would you like the speaker to
903														address?<span>*</span></label>
904													<input type="text" name="topic">
905												</div>
906												<div class="form-group full">
907													<label>Who will be in the audience, and how would the ideal speaker impact
908														them?<span>*</span></label>
909													<input type="text" name="speaker_info" >
910												</div>
911												<div class="recive-btn">
912													<button type="submit">SUBMIT</button>
913												</div>
914											</form>
915										</div>
916									</div>
917								</div>
918							</div>
919						</div> 
920					</div>
921				</div>
922			</div>
923		</div>
924		<!-- End Modal -->	
925        <div class="team-expert-sec" id="form">
926            <div class="container">
927                <div class="row">
928                    <div class="col-lg-4">
929                        <div class="team-left-content">
930                            <h2>Start With Curated Recommendations From Our Expert Team</h2>
931                                                            <p>We book thousands of speakers each year for clients ranging from Fortune 10 companies to local associations. Every event is unique. That's why the best place to start your search is with a list of recommendations tailored to your thematic goals, audience profile, and budget. Fill out the form below to get started!</p>
932                                                    </div>
933                    </div>
934                    <div class="col-lg-8">
935                        <div class="team-right-form">
936                            <form id="RecommendationForm" action="https://www.letsengage.com/receive-recommended-submit"
937                                class="team-form" method="POST">
938                                <input type="hidden" name="_token" value="uu2FR2m8LqjudU1vIbusWK10jODH8U5W3UFVQENL">                                <div class="form-group">
939                                    <div class="form-field">
940                                        <label>
940First Name <span>*</span></label>
941                                        <input type="text" name="firstname">
942                                    </div>
943                                    <div class="form-field">
944                                        <label>Last Name <span>*</span></label>
945                                        <input type="text" name="lastname">
946                                    </div>
947                                    <div class="form-field">
948                                        <label>Email Address <span>*</span></label>
949                                        <input type="text" name="email">
950                                    </div>
951                                    <div class="form-field">
952                                        <label class="phone-filed">Phone Number (Optional)
953                                            <i class="fa fa-question-circle tooltip-icon-box" aria-hidden="true"
954                                                tabindex="0">
955                                                <span class="tooltip-text-wrap">Enter your phone number if you'd like a
956                                                    booking expert to call within an hour.</span>
957                                            </i>
958                                        </label>
959                                        <input type="number" name="phone">
960                                    </div>
961                                </div>
962                                <div class="form-group second">
963                                    <div class="form-field">
964                                        <label>When is your event? <span>*</span></label>
965                                        <input type="text" name="event_date" class="event-start-date">
966                                    </div>
967                                    <div class="form-field">
968                                        <label>Virtual or In-Person? <span>*</span></label>
969                                        
970                                        <select class="select" name="event_virtual">
971                                            <option value="person">In-Person</option>
972                                            <option value="virtual">Virtual</option>
973                                        </select>
974                                    </div>
975                                    <div class="field-range">
976                                        <label for="budget-range">
977                                            What budget range would you like to see recommendations within?
978                                            <span>*</span>
979                                        </label>
980                                        <div class="range recommendation-range" id="ranges">
981                                            <input type="hidden" name="minimunm_budget" id="minimum_price"
982                                                value="5000">
983                                            <input type="hidden" name="maximum_budget" id="maximium_price"
984                                                value="21000">
985                                            <div class="range-container range-slider-main">
986                                                <div class="progress-bar" id="progress-bar">
987                                                    <span id="min-box" class="box min-price" style="left: 0;"
988                                                        onmousedown="startDraging(event)">0</span>
989                                                    <span id="max-box" class="box max-price" style="left: 25%;"
990                                                        onmousedown="startDragingSecond(event)">0</span>
991                                                </div>
992                                                <div class="bottom_div">
993                                                    <span id="min-value" class="min-price"
994                                                        style="left: 0;">$5000</span>
995                                                    <span id="max-value" class="max-price"
996                                                        style="left: 10%;">$21000</span>
997                                                </div>
998                                            </div>
999                                        </div>
1000                                    </div>
1001                                </div>
1002                                <div class="form-group full">
1003                                    <label>What topics/themes would you like the speaker to
1004                                        address?<span>*</span></label>
1005                                    <input type="text" name="topic">
1006                                </div>
1007                                <div class="form-group full">
1008                                    <label>Who will be in the audience, and how would the ideal speaker impact
1009                                        them?<span>*</span></label>
1010                                    <input type="text" name="speaker_info">
1011                                </div>
1012                                <div class="recive-btn">
1013                                    <button type="submit">SUBMIT</button>
1014                                </div>
1015                            </form>
1016                        </div>
1017                    </div>
1018                </div>
1019            </div>
1020        </div>
1021    <footer class="">
1022    <div class="container">
1023        <div class="newsletter-section">
1024            
1025
1026                <div class="newsletter-content">
1027                    <div class="row">
1028                        <div class="col-md-6">
1029                            <h6>Subscribe to our newsletter and get connected:</h6>
1030                        </div>
1031                        <div class="col-md-6">
1032                            <div class="newletter-form">
1033                                <div id="mc_embed_shell">
1034                                    <link href="//cdn-images.mailchimp.com/embedcode/classic-061523.css"
1035                                        rel="stylesheet" type="text/css">
1036
1037                                    <div id="mc_embed_signup">
1038                                        <form
1039                                            action="https://letsengage.us18.list-manage.com/subscribe/post?u=fee6dace13468525a3c27cf33&amp;id=27b4e71113&amp;f_id=00e29be6f0"
1040                                            method="post" id="mc-embedded-subscribe-form"
1041                                            name="mc-embedded-subscribe-form" class="validate" target="_blank">
1042                                            
1043                                            
1044                                            <div class="mc-field-group"><label for="mce-EMAIL">Email Address <span
1045                                                        class="asterisk">*</span></label><input type="email"
1046                                                    name="EMAIL" placeholder="Enter Your Email" class=" email"
1047                                                    id="mce-EMAIL" value=""><i
1048                                                    class="fas fa-envelope"></i><span id="mce-EMAIL-HELPERTEXT"
1049                                                    class="helper_text"></span></div>
1050                                            <div aria-hidden="true" style="position: absolute; left: -5000px;"><input
1051                                                    type="text" name="b_fee6dace13468525a3c27cf33_27b4e71113"
1052                                                    tabindex="-1" value=""></div>
1053                                            <div class="clear"><input type="submit" name="subscribe"
1054                                                    id="mc-embedded-subscribe" class="button" value="Subscribe">
1055                                            </div>
1056                                    </div>
1057                                    </form>
1058                                </div>
1059                                
1059<script type="text/javascript" src="//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js"></script>
1059
1060                                
1060<script type="text/javascript">
1061                                    (function($) {
1062                                        window.fnames = new Array();
1063                                        window.ftypes = new Array();
1064                                        fnames[0] = 'EMAIL';
1065                                        ftypes[0] = 'email';
1066                                        fnames[1] = 'FNAME';
1067                                        ftypes[1] = 'text';
1068                                        fnames[2] = 'LNAME';
1069                                        ftypes[2] = 'text';
1070                                        fnames[3] = 'ADDRESS';
1071                                        ftypes[3] = 'address';
1072                                        fnames[4] = 'PHONE';
1073                                        ftypes[4] = 'phone';
1074                                    }(jQuery));
1075                                    var $mcj = jQuery.noConflict(true);
1076                                </script>
1076
1077
1078
1079                            </div>
1080                            <div id="mce-responses" class="clear">
1081                                <div class="response" id="mce-error-response" style="display: none;color:Red"></div>
1082                                <div class="response" id="mce-success-response" style="display: none; color:#00b56f">
1083                                </div>
1084                            </div>
1085                        </div>
1086                    </div>
1087                </div>
1088				        </div>
1089
1090                        <div class="main-footer">
1091                    <div class="footer-logo-sec footer-sec">
1092                        <div class="footer-img">
1093                            <img src="https://www.letsengage.com/images/footer-logo3.png" alt="">
1094                        </div>
1095                        <ul>
1096                            <li class="emil"><a href="mailto:[email protected]">[email protected]</a><i
1097                                    class="fas fa-envelope"></i></li>
1098                            <li class="ph-no"><a href="tel:8335387364">833-LETS-ENGAGE<sup>TM</sup></a><i
1099                                    class="fas fa-phone"></i></li>
1100                        </ul>
1101                    </div>
1102
1103        
1104
1105                                    <div class="quick-link-sec footer-sec">
1106                    <h6 class="small">Quick Links</h6>
1107                    <ul>
1108                        <li><a href="https://www.letsengage.com/talent">Talent & Experiences</a></li>
1109                        
1110                        
1111                        
1112                        
1113                        
1114                        
1115                        <li><a href="https://www.letsengage.com/booking-questionnaire">Engage AI Speaker Search</a></li>
1116                        <li><a href="https://www.letsengage.com/contact-us">Contact Us</a></li>
1117                        <li><a href="https://www.letsengage.com/receive-recommended-list">Request Custom Talent
1118                                Recommendations</a></li>
1119                        <li><a href="https://www.letsengage.com/booking-questionnaire">Booking Questionnaire</a></li>
1120                    </ul>
1121                </div>
1122                <div class="quick-link-sec footer-sec services-section">
1123                    <h6 class="small">What We Do</h6>
1124                    <ul>
1125                        <li><a href="https://www.letsengage.com/servicesforbookers">Talent Booking Services</a></li>
1126                        <li><a href="https://www.letsengage.com/servicesfortalents">Services For Talent</a></li>
1127                        <li><a href="https://www.letsengage.com/ncaa-nil">NCAA Name, Image, & Likeness</a></li>
1128
1129                    </ul>
1130                </div>
1131                <div class="categorieso-sec footer-sec">
1132                    <h6 class="small">Categories</h6>
1133                    <ul>
1134                        <li><a href="https://www.letsengage.com/Business-Speakers">Business Speakers</a></li>
1135                        <li><a href="https://www.letsengage.com/Athletics">Sports Speakers</a></li>
1136                        <li><a href="https://www.letsengage.com/Motivational-Speakers">Motivational Speakers</a></li>
1137                        <li><a href="https://www.letsengage.com/Leadership">Leadership Speakers</a></li>
1138                        
1139                        <li class="view-mr"><a href="https://www.letsengage.com/categories/all">View all</a></li>
1140                    </ul>
1141                </div>
1142                <div class="features-sec footer-sec">
1143                    <h6 class="small">Resources</h6>
1144                    <ul>
1145                        
1146                        
1147
1148                        <li><a href="https://www.letsengage.com/customer-case-study">Customer Stories & Reviews</a></li>
1149                        
1150                        <li><a href="https://www.letsengage.com/in-the-press">In The News</a></li>
1151                        
1152                        <li><a href="https://www.letsengage.com/blog">Blog</a></li>
1153                        <li><a href="https://www.letsengage.com/about-us">About Engage</a></li>
1154                        <li><a href="https://www.letsengage.com/about-us">Engage Team</a></li>
1155                    </ul>
1156                </div>
1157                        </div>
1158
1159    </div>
1160</footer>
1161
1162<!-- audio-player -->
1163<div id="player-bar" data-episode-id="" data-status="">
1164    <div class="mejs-player-bar">
1165        <audio id="player" controls="controls">
1166            <source src="" type="audio/mpeg">
1167            Your browser does not support the HTML5 audio element.
1168        </audio>
1169    </div>
1170
1171    <div class="episode-details">
1172        <div class="episode-cover">
1173            <a href="#">
1174                <img src="" alt="" />
1175            </a>
1176        </div>
1177
1178        <div class="episode-title">
1179            <a href="#"></a>
1180        </div>
1181
1182        <span class="episode-id"></span>
1183    </div>
1184
1185    <div class="play-pause paused">
1186        <span class="current-time"></span>
1187        <button></button>
1188        <span class="total-time"></span>
1189    </div>
1190
1191    <div class="episode-controls">
1192
1193
1194        <div class="volume-controls">
1195            <button class="volume-down"></button>
1196
1197            <div id="volume-range">
1198                <div class="control">
1199                    <span class="knob"></span>
1200                </div>
1201            </div>
1202
1203            <button class="volume-up"></button>
1204        </div>
1205        <div class="close-player">X</div>
1206    </div>
1207</div>
1208<!-- /audio-player -->
1209<div class="footer-line">
1210    <div class="container">
1211
1212        <div class="footer-line-content">
1213            <div class="row">
1214                <div class="col-md-4">
1215                    <span class="footer-line-copy">Copyright &copy; 2026 Engage<sup>TM</sup>. All
1216                        rights reserved.</span><br>
1217                    <ul class="privcary-ul">
1218                        <li><a href="https://www.letsengage.com/policy">Privacy Policy</a></li>
1219                        <li><a href="https://www.letsengage.com/terms">Terms & Conditions</a></li>
1220                    </ul>
1221                </div>
1222                <div class="col-md-4">
1223                    <div class="image-for-marketing">
1224                        <span>POWERED BY:</span>
1225                        <div class="img-from-market">
1226                            <a href="http://www.themarketingmasters.com/" target="_blank"><img
1227                                    src="https://www.letsengage.com/images/marketing-logo.png" alt=""></a>
1228                        </div>
1229                    </div>
1230                </div>
1231                <div class="col-md-4">
1232                    <div class="social-icons">
1233                        <ul>
1234                            <li><a href="https://www.linkedin.com/company/engage-llc-1/" target="_blank"><i
1235                                        class="fab fa-linkedin-in"></i></a></li>
1236                            <li><a href="https://www.instagram.com/bookwithEngage/" target="_blank"><i
1237                                        class="fab fa-instagram"></i></a></li>
1238                            <li><a href="https://twitter.com/bookwithEngage?lang=en" target="_blank"><img
1239                                        src="https://www.letsengage.com/images/twitter_x_x.png" /></a></li>
1240                            <li><a href="https://www.facebook.com/BookWithEngage/" target="_blank"><i
1241                                        class="fab fa-facebook-f"></i></a></li>
1242                            <li><a href=" https://www.youtube.com/@bookwithengage" target="_blank"><img
1243                                        src="https://www.letsengage.com/images/youtube.png" alt=""
1244                                        srcset="" style="max-width:74%"></li>
1245                        </ul>
1246                    </div>
1247                </div>
1248            </div>
1249        </div>
1250    </div>
1251</div>
1252
1253<!-- mail chimp subscription  -->
1254<div id="mailchimp_newsletter" class="modal fade" role="dialog">
1255    <div class="modal-dialog">
1256
1257        <!-- Modal content-->
1258        <div class="modal-content">
1259            <div class="modal-header">
1260                <button type="button" class="close" data-dismiss="modal">&times;</button>
1261
1262            </div>
1263            <div class="modal-body">
1264                <p>you have successfully subscribed to our newsletter</p>
1265            </div>
1266            <div class="modal-footer">
1267
1268            </div>
1269        </div>
1270
1271    </div>
1272</div>
1273<div style="display:none" class="news_loader"><img src="https://www.letsengage.com/images/loading_spinner.gif" alt="">
1274</div>
1275<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 64 bytes, lines 1275-1276
1275
1276<script async src="https://www.googletagmanager.com/gtag/js?id=
1276UA-125330996-1
vendor: 12 bytes, line 1276
1276"></script>
1277<script>
1278    
vendor: 156 bytes, lines 1278-1285
1278window.dataLayer = window.dataLayer || [];
1279
1280    function gtag() {
1281        dataLayer.push(arguments);
1282    }
1283    gtag('js', new Date());
1284
1285    gtag('config', '
1285UA-125330996-1
vendor: 4 bytes, line 1285
1285');
1286</script>
1286
1287
1288
1289<script defer src='https://data.processwebsitedata.com/cscripts/WVfDDJHxmD-0b3bd69b.js'></script>
1289
1290<!-- // cookies create google -->
1291<script>
1292    var _gaq = _gaq || [];
1293    var pluginUrl = '//www.google-analytics.com/plugins/ga/inpage_linkid.js';
1294    _gaq.push(['_require', 'inpage_linkid', pluginUrl]);
1295    _gaq.push(['_setAccount', 'UA-125330996-1']);
1296    _gaq.push(['_trackPageview']);
1297
1298
1299    (function() {
1300        var ga = document.createElement('script');
1301        ga.type = 'text/javascript';
1302        ga.async = true;
1303        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') +
1304            '.google-analytics.com/ga.js';
1305        var s = document.getElementsByTagName('script')[0];
1306        s.parentNode.insertBefore(ga, s);
1307    })();
1308</script>
1308
1309
1310
1311
1312<script>
1313            var user_id = '';
1314    </script>
vendor: 1 bytes, line 1314
1314
1315<script type="text/javascript">
1316    _linkedin_partner_id = "3485674";
1317    window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
1318    window._linkedin_data_partner_ids.push(_linkedin_partner_id);
1319</script>
vendor: 1 bytes, line 1319
1319
1320<script type="text/javascript">
1321    (function(l) {
1322        if (!l) {
1323            window.lintrk = function(a, b) {
1324                window.lintrk.q.push([a, b])
1325            };
1326            window.lintrk.q = []
1327        }
1328        var s = document.getElementsByTagName("script")[0];
1329        var b = document.createElement("script");
1330        b.type = "text/javascript";
1331        b.async = true;
1332        b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
1333        s.parentNode.insertBefore(b, s);
1334    })(window.lintrk);
1335</script>
1335
1336
1337<script>
1338    $(document).ready(function() {
1339        $(".mega-menu-li i").click(function() {
1340            $(".mega-menu-main").slideToggle();
1341        });
1342        $(".mobile-only-menu > i").click(function() {
1343            $(".talent-drop").slideToggle();
1344        });
1345        $(".mobile-only-menu > ul > li i").click(function() {
1346            $(this).parent("li").children("ul").slideToggle();
1347        });
1348        $(".sub-menu-resources i").click(function() {
1349            // $(".sub-menu-resources ul").slideToggle();
1350            $(this).next('ul').slideToggle();
1351        });
1352        $(".dropdown-profile a.signbutton").click(function() {
1353            $(".dropdown-profile ul").slideToggle();
1354        });
1355        $(".dropdown-profile .aiLink").hover(function() {
1356            $(".dropdown-profile ul").css('display','none');
1357        });
1358        $(".dropdown-profile .my_account").hover(function() {
1359            $(".dropdown-profile ul").css('display','block');
1360        });
1361        $(".navbar-toggler").click(function() {
1362            $("#navbarSupportedContent").addClass("open-menu");
1363            $("body").addClass("fixed-body");
1364        });
1365        $("#navbarSupportedContent i.fas.fa-times").click(function() {
1366            $("body").removeClass("fixed-body");
1367            $("#navbarSupportedContent").removeClass("open-menu");
1368        });
1369
1370        $('.slick_footer_comp').slick({
1371            slidesToShow: 5,
1372            arrows: false,
1373            autoplay: true,
1374            autoplaySpeed: 0,
1375            pauseOnHover: false,
1376            speed: 4500,
1377            cssEase: 'linear',
1378            infinite: true,
1379            focusOnSelect: false,
1380            responsive: [{
1381                breakpoint: 768,
1382                settings: {
1383                    arrows: false,
1384                    slidesToShow: 3
1385                }
1386            }, {
1387                breakpoint: 480,
1388                settings: {
1389                    arrows: true,
1390                    slidesToShow: 1
1391                }
1392            }]
1393        });
1394
1395    });
1396
1397        let dragging = null;
1398
1399    function startDraging(e) {
1400        dragging = 'min';
1401        e.preventDefault(); // Prevent text selection
1402
1403        // Add mousemove and mouseup listeners
1404        document.addEventListener('mousemove', moveBox);
1405        document.addEventListener('mouseup', stopDrag);
1406    }
1407
1408    function startDragingSecond(e) {
1409        dragging = 'max';
1410        e.preventDefault(); // Prevent text selection
1411
1412        // Add mousemove and mouseup listeners
1413        document.addEventListener('mousemove', moveBox);
1414        document.addEventListener('mouseup', stopDrag);
1415    }
1416
1417    function moveBox(e) {
1418        if (!dragging) return;
1419
1420        var progressBar = document.getElementById('progress-bar');
1421        var rect = progressBar.getBoundingClientRect();
1422        var pos = e.clientX - rect.left; // Mouse position relative to the progress bar
1423        var newPosition = Math.min(Math.max(pos, 0), rect.width); // Keep it within bounds
1424
1425        var minBox = document.getElementById('min-box');
1426        var maxBox = document.getElementById('max-box');
1427
1428        var minValue = document.getElementById('min-value');
1429        var maxValue = document.getElementById('max-value');
1430        const minimum_price = document.getElementById("minimum_price").value;
1431        const maximum_price = document.getElementById("maximium_price").value;
1432        if (!minimum_price || !maximum_price) {
1433            console.error("One or both input elements not found.");
1434        } else {
1435            var difference = Number(maximum_price) - Number(minimum_price);
1436            console.log(difference)
1437            if (difference < 5000) {
1438                // return;
1439            }
1440        }
1441        // }
1442
1443        if (dragging === 'min') {
1444            if (newPosition < parseInt(maxBox.style.left)) {
1445                minBox.style.left = newPosition + 'px';
1446                minValue.style.left = newPosition + 'px'; // Move the min price label along with the min box
1447                updateRange(true);
1448            }
1449        } else if (dragging === 'max') {
1450            if (newPosition > parseInt(minBox.style.left)) {
1451                maxBox.style.left = newPosition + 'px';
1452                maxValue.style.left = Number(newPosition - 60) +
1453                'px'; // Move the max price label along with the max box
1454                updateRange();
1455            }
1456        }
1457    }
1458
1459    function stopDrag() {
1460        dragging = null;
1461        // Remove event listeners after drag ends
1462        document.removeEventListener('mousemove', moveBox);
1463        document.removeEventListener('mouseup', stopDrag);
1464    }
1465
1466    function updateRange(movingLeft = null) {
1467        var minBox = document.getElementById('min-box');
1468        var maxBox = document.getElementById('max-box');
1469        var minValue = document.getElementById('min-value');
1470        var maxValue = document.getElementById('max-value');
1471
1472        var progressBar = document.getElementById('progress-bar');
1473
1474        // Calculate the values based on the position of the boxes
1475        function roundToThousand(value) {
1476            return Math.round(value / 1000) * 1000;
1477        }
1478        var minVal = roundToThousand((parseInt(minBox.style.left) / progressBar.offsetWidth) * 70000 +
1479        5000); // $5,000 to $75,000 range
1480        var maxVal = roundToThousand((parseInt(maxBox.style.left) / progressBar.offsetWidth) * 70000 +
1481        5000); // $5,000 to $75,000 range
1482        if (maxVal > 50000 && !movingLeft) {
1483            var currentLeft = parseInt(maxValue.style.left, 10) || 0;
1484
1485            // Move the element 60px to the left
1486            maxValue.style.left = (currentLeft - 50) + 'px';
1487        }
1488        if (minVal > 50000) {
1489            var currentLeft = parseInt(minValue.style.left, 10) || 0;
1490
1491            // Move the element 60px to the left
1492            minValue.style.left = (currentLeft - 50) + 'px';
1493        }
1494
1495        if (maxVal < 30000) {
1496            minValue.style.top = '-38px';
1497        } else {
1498            // minValue.style.top = '0px';
1499        }
1500
1501        if (movingLeft) {
1502            if (minVal > 5000) {
1503                minValue.style.top = '-38px';
1504            } else {
1505                minValue.style.top = '0px';
1506            }
1507        }
1508        //update in form
1509        $("#minimum_price").val(minVal);
1510        $("#maximium_price").val(maxVal);
1511
1512        // console.log(minVal,maxVal)
1513
1514        // Update the displayed values
1515        minValue.textContent = '$' + minVal.toLocaleString();
1516        if (!movingLeft) {
1517            maxValue.textContent = '$' + maxVal.toLocaleString();
1518        }
1519    }
1520
1521    // This ensures the script runs once the DOM is fully loaded
1522    window.onload = function() {
1523        // updateRange(); // Initialize the range values
1524    };
1525
1526    // Recommendation form js
1527    $(document).ready(function() {
1528
1529
1530        $("#RecommendationForm").validate({
1531            rules: {
1532                firstname: {
1533                    required: true
1534                },
1535                lastname: {
1536                    required: true
1537                },
1538                email: {
1539                    required: true,
1540                    email: true
1541                },
1542                phone: {
1543                    required: false
1544                },
1545                event_date: {
1546                    required: true,
1547                },
1548                event_virtual: {
1549                    required: true,
1550                },
1551                topic: {
1552                    required: true,
1553                },
1554                speaker_info: {
1555                    required: true,
1556                },
1557
1558            },
1559            errorPlacement: function(error, element) {
1560                // Suppress default error messages
1561            },
1562            highlight: function(element) {
1563                $(element).addClass("error");
1564            },
1565            unhighlight: function(element) {
1566                $(element).removeClass("error");
1567            },
1568            submitHandler: function(form) {
1569                $.LoadingOverlay('show');
1570                form.submit();
1571            }
1572        });
1573    });
1574</script>
vendor: 1 bytes, line 1574
1574
1575<script>
1576	$(document).ready(function() {
1577		$("#RecommendationForm-popup").validate({
1578		rules: {
1579			firstname: {
1580				required: true
1581			},
1582			lastname: {
1583				required: true
1584			},
1585			email: {
1586				required: true,
1587				email: true
1588			},
1589			phone: {
1590				required: false
1591			},
1592			event_date: {
1593				required: true,
1594			},
1595			event_virtual: {
1596				required: true,
1597			},
1598			topic: {
1599				required: true,
1600			},
1601			speaker_info: {
1602				required: true,
1603			},
1604
1605			},
1606			errorPlacement: function(error, element) {
1607				// Suppress default error messages
1608			},
1609			highlight: function(element) {
1610				$(element).addClass("error"); 
1611			},
1612			unhighlight: function(element) {
1613				$(element).removeClass("error"); 
1614			},
1615			submitHandler: function(form) {
1616				$.LoadingOverlay('show');
1617				form.submit(); 
1618			}
1619		});
1620
1621		// $(".event-start-date-recommendation-popup")
1622		// .datepicker({
1623		// 	dateFormat: "mm/dd/yy",
1624		// 	onSelect: function (dateText, inst) {
1625		// 	$(".event-start-date-recommendation-popup").attr("value", dateText);
1626		// 	var date2 = $(".event-start-date-recommendation-popup").datepicker("getDate");
1627
1628		// 	date2.setDate(date2.getDate() + 90);
1629
1630		// 	},
1631		// })
1632		// .on("change", function () {
1633		// 	$(this).valid();
1634		// });
1635
1636	});
1637
1638	jQuery( document ).ready( function () {
1639		// open currated form
1640		var user_session_time = $("#session_time").val();
1641	    function getUSTime(timeZone) {
1642			const now = new Date();
1643
1644			// Convert to given timezone using Intl API
1645			const options = { timeZone, hour12: false };
1646			const localTime = new Date(now.toLocaleString('en-US', options));
1647
1648			// Format to "YYYY-MM-DD HH:mm:ss"
1649			const year = localTime.getFullYear();
1650			const month = String(localTime.getMonth() + 1).padStart(2, '0');
1651			const day = String(localTime.getDate()).padStart(2, '0');
1652			const hours = String(localTime.getHours()).padStart(2, '0');
1653			const minutes = String(localTime.getMinutes()).padStart(2, '0');
1654			const seconds = String(localTime.getSeconds()).padStart(2, '0');
1655
1656			return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
1657		}
1658        if(user_session_time){
1659
1660            // Examples for different US time zones:
1661            const easternTime = getUSTime('America/New_York');
1662
1663            // Parse both to Date objects
1664            const parseDate = (str) => new Date(str.replace(" ", "T")); // turn into ISO-like string
1665            const sessionDate = parseDate(user_session_time);
1666            const currentDate = parseDate(easternTime);
1667            const diffInSeconds = Math.floor((currentDate - sessionDate) / 1000);
1668            let timeLeftToOpen = 1000;
1669            let currated_recommendation_open = localStorage.getItem('currated_recommendation_open');
1670            if(diffInSeconds < 60){
1671                timeLeftToOpen = 60-Number(diffInSeconds);
1672                timeLeftToOpen = timeLeftToOpen*1000;
1673                if(currated_recommendation_open){
1674                    const diffInSec = Math.floor((Date.parse(currentDate) - Date.parse(currated_recommendation_open)) / 1000);
1675                    if(diffInSec> 86400){
1676                        localStorage.removeItem('currated_recommendation_open',currentDate);
1677                    }
1678                }
1679
1680            }
1681            if (!currated_recommendation_open) {
1682                let currated_recommendation = $(".currated_recommendation");
1683                setTimeout(() => {
1684                    localStorage.setItem('currated_recommendation_open',currentDate);
1685                    currated_recommendation.css({
1686                        "display": "block",
1687                        "position": "fixed",
1688                        "top": "50%",
1689                        "left": "50%",
1690                        "transform": "translate(-50%, -50%)",
1691                        "z-index": "9999999",
1692                        "padding": "20px",
1693                        "border-radius": "8px",
1694                        "box-shadow": "0 4px 12px rgba(0,0,0,0.3)",
1695                        "opacity" : '1'
1696                    });
1697                    $("body").append('<div class="modal-backdrop fade in"></div>');
1698                }, timeLeftToOpen);
1699            }
1700        }
1701		$(".close_more_information").click(function(){
1702			$(".currated_recommendation").css({
1703					"display": "none",
1704					"opacity" : '0'
1705            });
1706			$(".modal-backdrop").remove();
1707		});
1708	});
1709
1710let popupDragging = null;
1711function popupStartDraging(e) {
1712    popupDragging = 'min';
1713    e.preventDefault(); // Prevent text selection
1714
1715    // Add mousemove and mouseup listeners
1716    document.addEventListener('mousemove', popupmMoveBox);
1717    document.addEventListener('mouseup', popupStopDrag);
1718}
1719
1720function popupStartDragingSecond(e) {
1721    popupDragging = 'max';
1722    e.preventDefault(); // Prevent text selection
1723
1724    // Add mousemove and mouseup listeners
1725    document.addEventListener('mousemove', popupmMoveBox);
1726    document.addEventListener('mouseup', popupStopDrag);
1727}
1728
1729function popupmMoveBox(e) {
1730    if (!popupDragging) return;
1731
1732    var progressBar = document.getElementById('popup-progress-bar');
1733    var rect = progressBar.getBoundingClientRect();
1734    var pos = e.clientX - rect.left; // Mouse position relative to the progress bar
1735    var newPosition = Math.min(Math.max(pos, 0), rect.width); // Keep it within bounds
1736
1737    var minBox = document.getElementById('popup-min-box');
1738    var maxBox = document.getElementById('popup-max-box');
1739
1740    var minValue = document.getElementById('popup-min-value');
1741    var maxValue = document.getElementById('popup-max-value');
1742	const minimum_price = document.getElementById("popup_minimum_price").value;
1743	const maximum_price = document.getElementById("popup_maximium_price").value;
1744	if (!minimum_price || !maximum_price) {
1745		console.error("One or both input elements not found.");
1746	}else{
1747		var difference = Number(maximum_price) - Number(minimum_price);
1748		console.log(difference)
1749		if(difference < 5000){
1750			// return;
1751		}
1752	}
1753	// }
1754
1755    if (popupDragging === 'min') {
1756        if (newPosition < parseInt(maxBox.style.left)) {
1757            minBox.style.left = newPosition + 'px';
1758            minValue.style.left = newPosition + 'px'; // Move the min price label along with the min box
1759            popupUpdateRange(true);
1760        }
1761    } else if (popupDragging === 'max') {
1762        if (newPosition > parseInt(minBox.style.left)) {
1763            maxBox.style.left = newPosition + 'px';
1764            maxValue.style.left = Number(newPosition-60) + 'px'; // Move the max price label along with the max box
1765            popupUpdateRange();
1766        }
1767    }
1768}
1769
1770function popupStopDrag() {
1771    popupDragging = null;
1772    // Remove event listeners after drag ends
1773    document.removeEventListener('mousemove', popupmMoveBox);
1774    document.removeEventListener('mouseup', popupStopDrag);
1775}
1776
1777function popupUpdateRange(movingLeft = null) {
1778    var minBox = document.getElementById('popup-min-box');
1779    var maxBox = document.getElementById('popup-max-box');
1780    var minValue = document.getElementById('popup-min-value');
1781    var maxValue = document.getElementById('popup-max-value');
1782
1783    var progressBar = document.getElementById('popup-progress-bar');
1784    
1785    // Calculate the values based on the position of the boxes
1786    function roundToThousand(value) {
1787        return Math.round(value / 1000) * 1000;
1788    }
1789    var minVal = roundToThousand((parseInt(minBox.style.left) / progressBar.offsetWidth) * 70000 + 5000); // $5,000 to $75,000 range
1790    var maxVal = roundToThousand((parseInt(maxBox.style.left) / progressBar.offsetWidth) * 70000 + 5000); // $5,000 to $75,000 range
1791	if(maxVal>50000 && !movingLeft){
1792		var currentLeft = parseInt(maxValue.style.left, 10) || 0;
1793    
1794		// Move the element 60px to the left
1795		maxValue.style.left = (currentLeft - 50) + 'px';
1796	}
1797	if(minVal>50000){
1798		var currentLeft = parseInt(minValue.style.left, 10) || 0;
1799    
1800		// Move the element 60px to the left
1801		minValue.style.left = (currentLeft - 50) + 'px';
1802	}
1803
1804	if(maxVal<30000){
1805		minValue.style.top = '-38px';
1806	}else{
1807		// minValue.style.top = '0px';
1808	}
1809
1810	if(movingLeft){
1811		if(minVal>5000){
1812			minValue.style.top = '-38px';
1813		}else{
1814			minValue.style.top = '0px';
1815		}
1816	}
1817	//update in form
1818	$("#popup_minimum_price").val(minVal);
1819	$("#popup_maximium_price").val(maxVal);
1820
1821	// console.log(minVal,maxVal)
1822
1823    // Update the displayed values
1824    minValue.textContent = '$' + minVal.toLocaleString();
1825	if(!movingLeft){
1826  	  maxValue.textContent = '$' + maxVal.toLocaleString();
1827	}
1828}
1829
1830// This ensures the script runs once the DOM is fully loaded
1831window.onload = function() {
1832    // updateRange(); // Initialize the range values
1833};
1834 </script>
1834 
1835<noscript>
1836    <img height="1" width="1" style="display:none;" alt=""
1837        src="https://px.ads.linkedin.com/collect/?pid=3485674&fmt=gif" />
1838</noscript>
1839	
1840
1841
1842
1843 <!-- Modal -->
1844<div id="sign-up-tc">
1845	<div id="myModal" class="modal fade" role="dialog">
1846		<div class="modal-dialog">
1847
1848	<!-- Modal content-->
1849			<div class="modal-content">
1850				<div class="modal-header">
1851					<button type="button" class="close" data-dismiss="modal">&times;</button>
1852					<h4 class="modal-title">Sign Up For Engage</h4>
1853					<div class="sign-up-under-hood">Are you interested in signing up as a consumer to book events & experiences or as talent to offer your events & experiences?</div>
1854				</div>
1855			<div class="modal-body">
1856				<ul class="sign-up-btns">
1857					<li><a href="https://www.letsengage.com/consumer/register">Consumer Sign-Up</a></li>
1858					<li><a href="https://www.letsengage.com/talent/signup">Talent Sign-Up</a></li>
1859					<li><a href="https://www.letsengage.com/agent/signup">Agent Sign-Up</a></li>
1860				</ul>
1861			</div>
1862		<div class="modal-footer">
1863		</div>
1864	</div>
1865	</div>
1866  </div>
1867</div>			   
1868	
1869	<!-- Scripts -->
1870
1871    
1872    
1873    
1873<script>var baseUrl = "https://www.letsengage.com";</script>
1873
1874    
1874<script src="https://www.letsengage.com/js/jquery.validate.min.js"></script>
1874
1875	
1876	
1876<script src="https://cdnjs.cloudflare.com/ajax/libs/promise-polyfill/8.3.0/polyfill.min.js" integrity="sha512-310GmPyrxvjHYxcTy7HdjCN7EYL9ou4DldEiu1oABpNFUcEbPfcESbQ+4lZBIAsYb2KuKjJpvWaDxQUINj4I8A==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
1876
1877	
1877<script src="https://www.letsengage.com/js/sweetalert2.min.js"></script>
1877
1878	 	
1878<script src="https://www.letsengage.com/js/jquery.are-you-sure.js"></script>
1878 
1879	 
1879<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js" ></script>
1879 
1880	 
1880<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.9.0/slick.min.js"></script>
1880
1881	
1881<script src="https://cdnjs.cloudflare.com/ajax/libs/OwlCarousel2/2.3.4/owl.carousel.min.js"></script>
1881
1882	  
1882<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-timepicker/1.10.0/jquery.timepicker.min.js" ></script>
1882	
1883	  
1883<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/purify.min.js"></script>
1883
1884	
1885		   
1886	 
vendor: 917 bytes, lines 1886-1925
1886<script>
1887	 /*** fancy box browser **/
1888var matched, browser;
1889
1890jQuery.uaMatch = function( ua ) {
1891    ua = ua.toLowerCase();
1892
1893    var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
1894        /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
1895        /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
1896        /(msie) ([\w.]+)/.exec( ua ) ||
1897        ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) ||
1898        [];
1899
1900    return {
1901        browser: match[ 1 ] || "",
1902        version: match[ 2 ] || "0"
1903    };
1904};
1905
1906matched = jQuery.uaMatch( navigator.userAgent );
1907browser = {};
1908
1909if ( matched.browser ) {
1910    browser[ matched.browser ] = true;
1911    browser.version = matched.version;
1912}
1913
1914// Chrome is Webkit, but Webkit is also Safari.
1915if ( browser.chrome ) {
1916    browser.webkit = true;
1917} else if ( browser.webkit ) {
1918    browser.safari = true;
1919}
1920
1921jQuery.browser = browser;
1922
1923/*** fancy box browser end **/
1924	 
1925	 </script>
1925	
1926	 
1926<script type="text/javascript" src="https://www.letsengage.com/js/jquery.fancybox.min.js"></script>
1926
1927	 	 
1927<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCaNuTIHleWV1tsQAJBQ1P-7vLvSRkwTXI&&libraries=places&callback=initMap" async defer></script>
1927
1928		
1928<script src="https://js.pusher.com/4.1/pusher.min.js"></script>
1928
1929	
1929<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/loadingoverlay.min.js"></script>
1929
1930	
1931	
1932	
1932<script src="https://www.letsengage.com/js/jquery.imgareaselect.min.js"></script>
1932
1933	
1933<script src="https://www.letsengage.com/js/mediaelement-and-player.min.js"></script>
1933
1934	
1934<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.min.js"></script>
1934
1935<!--
1936	
1936<script src="https://www.letsengage.com/js/formbuilder.js"></script>
1936
1937-->
1938<script src="https://js.stripe.com/v3/"></script>
1938
1939	
1939<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/js/bootstrap-multiselect.min.js" ></script>
1939
1940	 <!-- 
1940<script src="https://cdn.ckeditor.com/4.11.2/basic/ckeditor.js"></script>
1940	 -->
1941
1942	 
1942<script src="https://cdn.ckeditor.com/ckeditor5/34.0.0/classic/ckeditor.js"></script>
1942	
1943	 	<!-- 
1943<script src="https://www.letsengage.com/js/jscolor.js"></script>
1943 -->
1944		 
1944<script src="https://cdnjs.cloudflare.com/ajax/libs/jscolor/2.5.2/jscolor.js" integrity="sha512-IShZ5NZxEaotdJdpd853DUKXbgYUH7O/PaeGDp2eiS3XxNDnIQ9+GuRX3d5c4joOqs7Ni8ZKQmRFbKImtcwLaA==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
1944
1945	 	
1945<script src="https://www.letsengage.com/js/notify.min.js"></script>
1945
1946	 	
1946<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.3/jquery.ui.touch-punch.min.js"></script>
1946 
1947		
1947<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/5.1.3/js/bootstrap.min.js"></script>
vendor: 1 bytes, line 1947
1947
1948<script src="https://www.letsengage.com/js/wow.min.js"></script>
1948		
1949	
1949<script src="https://www.letsengage.com/js/consumer.js"></script>
1949	
1950	
1950<script src="https://www.letsengage.com/js/talents.js"></script>
1950	
1951	
1951<script src="https://www.letsengage.com/js/screenfull.min.js"></script>
1951
1952	
1952<script src="https://www.letsengage.com/js/easytimer.min.js"></script>
1952
1953	
1953<script src="https://www.letsengage.com/js/main-loader.js"></script>
1953
1954	
1954<script src="https://www.letsengage.com/js/searchPage.js"></script>
1954
1955	
1955<script>
1956	
1957	
1958
1959
1960
1961    //document.body.innerHTML =  "This is " + browser + " browser." + "<br><br>" + str.substring(str.lastIndexOf("edge/") + 4, str.lastIndexOf(""))+ ' '+str;
1962 
1963	</script>
1963
1964	
1964<script src="https://static.opentok.com/v2/js/opentok.min.js"></script>
vendor: 1 bytes, line 1964
1964
1965<script src="https://connect-js.stripe.com/v1.0/connect.js"></script>
1965 
1966	    
1966<script>
1967        // if (localStorage.getItem('ai-dev-user')) {
1968        //     $("#ai-dev-search").css('display', 'block');
1969        // } else {
1970        //     $("#ai-dev-search").css('display', 'block');
1971        //     var user1 = "csDevAi5030";
1972        //     var username = prompt('Username:', '');
1973        //     if (username === user1) {
1974        //         var pass1 = "A9F3K7P2Q8W1Z6M4R0TY";
1975        //         var password = prompt('Password', '');
1976        //         if (password === pass1) {
1977        //             // alert("correct!")
1978        //             $("#ai-dev-search").css('display', 'block');
1979        //             localStorage.setItem('ai-dev-user', true);
1980        //         } else {
1981        //             alert('Please use correct password');
1982        //             window.location = "https://www.letsengage.com";
1983        //         }
1984        //     } else {
1985        //         alert('Please use correct username');
1986        //         window.location = "https://www.letsengage.com";
1987        //     }
1988        // }
1989
1990        let responseTimers = {}; // Timer tracking object
1991        let aiSessionId = '11104cc4-068a-4507-9c3b-fa4558b5801a'; // Store Page session to show in database
1992        let history = "";
1993
1994        let isRequestInProgress = false; // flag
1995        $('.form-arrow').css('pointer-events', 'auto').css('opacity', '1');
1996
1997        // Initial state check for search field
1998        // if ($("#search-field").val().trim() === '') {
1999        //     isRequestInProgress = true; // nothing to search yet, lock it
2000        //     $('.form-arrow').css('pointer-events', 'none').css('opacity', '0.5');
2001        // } else {
2002        //     isRequestInProgress = false; // text exists, allow clicking
2003        //     $('.form-arrow').css('pointer-events', 'auto').css('opacity', '1');
2004        // }
2005
2006        // Handle typing behavior
2007        $("#search-field").on("input", function() {
2008            const hasText = $(this).val().trim() !== "";
2009
2010            // Only enable if there's text AND no request currently in progress
2011            if (hasText && !isRequestInProgress) {
2012                $('.form-arrow').css('pointer-events', 'auto').css('opacity', '1');
2013            } else {
2014                $('.form-arrow').css('pointer-events', 'none').css('opacity', '0.5');
2015            }
2016        });
2017
2018
2019        $(document).ready(function() {
2020            $('#chat-loading').hide();
2021
2022            // Handle button click
2023            $('.form-arrow').click(function(event, extraData) {
2024                if (isRequestInProgress) return; // block click during request
2025
2026                var input_text = $("#search-field").val().trim();
2027                if (input_text === '') {
2028                    $("#search-field").addClass('error');
2029                    return false;
2030                }
2031
2032                const messageId = "msg_" + Date.now();
2033                $(".ai-chat-box-container").show();
2034                $("#search-field").removeClass('error').removeAttr("style");
2035                appendUserMessage(input_text, messageId);
2036
2037                // Safely get fromButton (defaults to false if not passed)
2038                const fromButton = extraData?.fromButton || false;
2039
2040                // Pass it to search
2041                search(input_text, null, messageId, fromButton);
2042
2043                scrollToLastQuery();
2044                $("#search-field").val('');
2045            });
2046
2047            // Handle Enter key press
2048            $('#search-field').keypress(function(e) {
2049                if (e.which === 13) {
2050                    e.preventDefault();
2051
2052                    if (isRequestInProgress) return; // block enter during request
2053
2054                    var input_text = $(this).val().trim();
2055                    if (input_text === '') {
2056                        $("#search-field").addClass('error');
2057                        return false;
2058                    }
2059
2060                    const messageId = "msg_" + Date.now();
2061                    $(".ai-chat-box-container").show();
2062                    $("#search-field").removeClass('error').removeAttr("style");
2063                    appendUserMessage(input_text, messageId);
2064                    // startLiveTimer(messageId);
2065                    search(input_text, null, messageId);
2066                    scrollToLastQuery();
2067                    $("#search-field").val('');
2068                }
2069            });
2070        });
2071
2072        $(document).on("click", ".send-to-ai", function(e) {
2073            e.preventDefault();
2074
2075            // Get the question text from the data attribute
2076            const question = $(this).data("question");
2077
2078            // Put it into the textarea
2079            $("#search-field").val(question);
2080
2081            // Trigger the click event on form-arrow to start the AJAX search
2082            // Pass a special flag indicating this came from the button
2083            $(".form-arrow").trigger("click", {
2084                fromButton: true
2085            });
2086        });
2087
2088        // Dummy Response Logic *****
2089const dummyChunks = [
2090  "{\"type\": \"status\", \"data\": \"Processing query...\"}\n",
2091  "{\"type\": \"status\", \"data\": \"Finding speaker information...\"}\n",
2092
2093  "{\"type\": \"content\", \"data\": \"##Why We Recommend Eva S\"}\n",
2094  "{\"type\": \"content\", \"data\": \"aha:###\\n\\n- \"}\n",
2095  "{\"type\": \"content\", \"data\": \" ##Emmy\"}\n",
2096  "{\"type\": \"content\", \"data\": \" Award-Winning TV Experience:###\"}\n",
2097  "{\"type\": \"content\", \"data\": \" She's a seasoned TV personality from\"}\n",
2098  "{\"type\": \"content\", \"data\": \" Chicago's ABC7's Emmy Award-\"}\n",
2099  "{\"type\": \"content\", \"data\": \"winning show \\\"190 North,\\\" bringing\"}\n",
2100  "{\"type\": \"content\", \"data\": \" professional broadcast-level presentation skills\\n\\n- \"}\n",
2101
2102  "{\"type\": \"content\", \"data\": \" ##Fortune 100 Corporate Trust:\"}\n",
2103  "{\"type\": \"content\", \"data\": \"### Her client roster includes major companies like\"}\n",
2104  "{\"type\": \"content\", \"data\": \" Cardinal Health, Philips Healthcare,\"}\n",
2105  "{\"type\": \"content\", \"data\": \" and Thomson Reuters, demonstrating her ability\"}\n",
2106  "{\"type\": \"content\", \"data\": \" to handle high-stakes corporate events\"}\n",
2107
2108  "{\"type\": \"content\", \"data\": \"\\n\\n-  ##Elite Interview Skills:### She\"}\n",
2109  "{\"type\": \"content\", \"data\": \"'s successfully interviewed high-profile personalities including\"}\n",
2110  "{\"type\": \"content\", \"data\": \" Magic Johnson, Venus Williams, Michael J\"}\n",
2111  "{\"type\": \"content\", \"data\": \". Fox, and political consultants James\"}\n",
2112  "{\"type\": \"content\", \"data\": \" Carville and Mary Mata\"}\n",
2113  "{\"type\": \"content\", \"data\": \"lin\\n\\n-  ##Top-Tier\"}\n",
2114
2115  "{\"type\": \"content\", \"data\": \" Category Rankings:### She's recognized in\"}\n",
2116  "{\"type\": \"content\", \"data\": \" Women in Business (Top 52),\"}\n",
2117  "{\"type\": \"content\", \"data\": \" Business Speakers (Top 175),\"}\n",
2118  "{\"type\": \"content\", \"data\": \" and Moderators (Top 9\"}\n",
2119  "{\"type\": \"content\", \"data\": \"), showcasing her versatility and expertise\"}\n",
2120
2121  "{\"type\": \"content\", \"data\": \"\\n\\n-  ##Cross-Cultural Communication Expert\"}\n",
2122  "{\"type\": \"content\", \"data\": \":### Her ability to relate to all\"}\n",
2123  "{\"type\": \"content\", \"data\": \" personalities and backgrounds enables her to effectively moderate\"}\n",
2124  "{\"type\": \"content\", \"data\": \" discussions among Fortune 100 CEOs\"}\n",
2125  "{\"type\": \"content\", \"data\": \" and diverse audiences alike\\n\\n- \"}\n",
2126
2127  "{\"type\": \"content\", \"data\": \" ##Dual\"}\n",
2128  "{\"type\": \"content\", \"data\": \" Professional\"}\n",
2129  "{\"type\": \"content\", \"data\": \" Backgroun\"}\n",
2130  "{\"type\": \"content\", \"data\": \"d:### Her\"}\n",
2131  "{\"type\": \"content\", \"data\": \" experience\"}\n",
2132  "{\"type\": \"content\", \"data\": \" as both a practicing\"}\n",
2133  "{\"type\": \"content\", \"data\": \" account\"}\n",
2134  "{\"type\": \"content\", \"data\": \"ant and corporate\"}\n",
2135  "{\"type\": \"content\", \"data\": \" attorney\"}\n",
2136  "{\"type\": \"content\", \"data\": \" brings\"}\n",
2137  "{\"type\": \"content\", \"data\": \" unique depth\"}\n",
2138  "{\"type\": \"content\", \"data\": \",\"}\n",
2139  "{\"type\": \"content\", \"data\": \" focus\"}\n",
2140  "{\"type\": \"content\", \"data\": \", and analytical\"}\n",
2141  "{\"type\": \"content\", \"data\": \" skills to her hosting\"}\n",
2142  "{\"type\": \"content\", \"data\": \" and mo\"}\n",
2143  "{\"type\": \"content\", \"data\": \"deration work\"}\n",
2144
2145  "{\"type\": \"content\", \"data\": \"\\n\\nEva\"}\n",
2146  "{\"type\": \"content\", \"data\": \"'s unique combination of legal and accounting backgroun\"}\n",
2147  "{\"type\": \"content\", \"data\": \"d, Emmy-level media experience, an\"}\n",
2148  "{\"type\": \"content\", \"data\": \"d proven corporate event expertise makes her exceptionally\"}\n",
2149  "{\"type\": \"content\", \"data\": \" qualified to create engaging, professional experiences for\"}\n",
2150  "{\"type\": \"content\", \"data\": \" any business audience.\\n\\nWould you like\"}\n",
2151  "{\"type\": \"content\", \"data\": \" to learn more about Eva Saha\"}\n",
2152  "{\"type\": \"content\", \"data\": \" or explore other speakers?\"}\n",
2153
2154  "{\"type\": \"done\"}\n",
2155
2156  "{\"type\": \"metadata\", \"data\": {\"matches\": {\"Eva Saha\": \"https://www.letsengage.com/talent/eva-saha\"}, \"parsed\": {\"is_why_recommend\": true, \"person_name\": \"Eva Saha\"}, \"talent_count\": 1, \"query_type\": \"why_recommend\"}}\n"
2157];
2158function createDummyStream(chunks, delay = 100) {
2159    let index = 0;
2160
2161    return new ReadableStream({
2162        start(controller) {
2163            function push() {
2164                if (index < chunks.length) {
2165                    controller.enqueue(
2166                        new TextEncoder().encode(chunks[index])
2167                    );
2168                    index++;
2169                    setTimeout(push, delay); // simulate streaming delay
2170                } else {
2171                    controller.close();
2172                }
2173            }
2174            push();
2175        }
2176    });
2177}
2178// *****
2179
2180
2181        // Function to send request to backend
2182        function search(text, next_page = null, messageId = null, fromButton = false) {
2183            async function callStream(text) {
2184            const container = $(`<div class="chat-message bot">
2185                    <div class="response-header" style="">
2186                        <img src="https://www.letsengage.com/images/new-ai-fab-icon-new.png" style="height: 40px; width:40px;">
2187                        <strong>Engage AI</strong>
2188                    </div>
2189                    <br style="">
2190                    <div class="display-response" style="">
2191                        <div class="ai-response-text mt-4" data-section="TYPED_INTRO_MESSAGE">
2192                            <span class="header-top-message">
2193                            </span>
2194                        </div>
2195                        <div class="row talent_card_container">
2196
2197                        </div>
2198                        <div class="ai-response-text mt-4" data-section="TYPED_ANSWER">
2199                            <span class="followupMessage"></span>
2200                        </div>
2201                        <div class="ai-response-text mt-4 error-message-container" data-section="TYPED_ANSWER" style="display:none;">
2202                            <span class="error-message"></span>
2203                        </div>
2204                    </div>
2205                </div>`);
2206                container.hide();
2207                $('#chat-messages').append(container);
2208
2209                const baseURL = "https://www.letsengage.com";
2210                const Ai_API = `https://ai.letsengage.com/api/askJsonStream`;
2211                try {
2212
2213                    // console.log('history',history)
2214
2215                    let requestSent = performance.now();
2216
2217                    const response = await fetch(Ai_API, {
2218                        method: "POST",
2219                        headers: {
2220                            "Content-Type": "application/json"
2221                        },
2222                        body: JSON.stringify({
2223                            query: text,
2224                            history: history
2225                        })
2226                    });
2227
2228                // Dummy Response Logic *****
2229                // const response = {
2230                //     body: createDummyStream(dummyChunks, 120)
2231                // };
2232                // *****
2233
2234                    if (!response.body) {
2235                        console.error("Streaming not supported in this browser.");
2236                        return;
2237                    }
2238                    const reader = response.body.getReader();
2239                    const decoder = new TextDecoder("utf-8");
2240
2241                    //For storing LOGS
2242                    let logParsedContent = {
2243                        userQuery : text,
2244                        rawChunks : [],
2245                        fullResponse : '',
2246                        finalContent : '',
2247                        responseTime : null
2248                    };
2249
2250
2251                    let buffer = "";
2252                    let talents = [];
2253                    let macthed_talent = null;
2254                    let followupMessage = null;
2255                    let talent_matches_start = null;
2256                    let streaming = null;
2257                    let boldKeyword = "";
2258
2259                    while (true) {
2260                        const {value,done} = await reader.read();
2261                        if (done) break;
2262                        if(!streaming){  // capture response time
2263                            let streamStart = performance.now();
2264                            logParsedContent.responseTime = ((streamStart - requestSent)/1000).toFixed(2);;
2265                            streaming = true;
2266                        }
2267                        buffer = decoder.decode(value, {
2268                            stream: true
2269                        });
2270
2271                        //store log
2272                        logParsedContent.rawChunks.push(buffer);
2273
2274                        // split on newlines to handle multiple JSON objects in one chunk
2275                        const parts = buffer.split("\n");
2276                        // last element may be incomplete JSON
2277                        parts.pop();
2278
2279                        //start adding content
2280                        for (const part of parts) {
2281                            if (!part.trim()) continue;
2282
2283                            try {
2284                                const json = JSON.parse(part);
2285                                logParsedContent.fullResponse += json.data;
2286
2287                                if (json.type === "status") {
2288                                    startTypingLoader(json.data);
2289                                }
2290                                if (json.type === "content") {
2291
2292                                    if (container.is(':hidden')) {
2293                                        container.show();
2294                                    }
2295                                    logParsedContent.finalContent += json.data;
2296                                    stopTypingLoader();
2297                                    
2298                                    let jsonData = json.data;
2299                                    if (jsonData.includes('matched_talent')) {
2300                                        jsonData = jsonData.split("matched_talent:")[0];
2301                                        macthed_talent = true;
2302                                    }
2303                                    if (jsonData.includes('followupmessage')) {
2304                                        followupMessage = true;
2305                                        continue;
2306                                    }
2307                                    
2308                                    // Convert \n or \n\n into HTML <br> or <p> tags
2309                                    let formatted = jsonData
2310                                        .replace(/\n{2,}/g, "<br><br>")
2311                                        .replace(/\n/g, "<br>")
2312                                        .replace(/\*/g, "");
2313                                        // .replace(/###/g, "</b>")   // close bold
2314                                        // .replace(/##/g, "<b>");    // open bold
2315                                    
2316                                    //add procurement link
2317                                    if (formatted.includes('@@')) {
2318                                        if (formatted.includes('@@@')) {
2319                                                    formatted = formatted
2320                                                                .replace(/@@@/g, "</a>")            // Replace closing tag FIRST
2321                                                                .replace(/@@/g, "<a href='/talent-procurement' target=`_blank`>");  // Then opening tag
2322
2323                                        }
2324                                    }
2325
2326                                    //add pricing link
2327                                    if (formatted.includes('$$$') && formatted.includes('$$')) {
2328                                        formatted = formatted
2329                                            .replace(/\$\$\$/g, "</a>")  // Replace closing tag FIRST
2330                                            .replace(/\$\$/g, "<a href='/receive-recommended-list' target=`_blank`>");
2331                                    }
2332                                            
2333                                    //make text bold    
2334                                    if(boldKeyword !=""){
2335                                        if(formatted.includes('###')){
2336                                            boldKeyword += formatted.replace(/###/g, "</b>");
2337                                            formatted = boldKeyword;
2338                                            boldKeyword = "";
2339                                        }else{
2340                                            boldKeyword += formatted;
2341                                            continue;
2342                                        }
2343                                    }
2344                                    // if(formatted.includes('##')){
2345                                    //     if(formatted.includes('###')){
2346                                    //         formatted = formatted.replace(/##/g, "<b>").replace(/###/g, "</b>");
2347                                    //     }
2348                                    //     boldKeyword += `<b>${formatted.split("##")[1]}`;
2349                                    //     formatted = formatted.split("##")[0];
2350                                    // }
2351                                    if (formatted.includes('##')) {
2352                                        // protect against single '#' or broken stream chunk
2353                                        if (!formatted.includes('###') && formatted.includes('#') && !formatted.includes('##')) {
2354                                            // ignore malformed bold marker
2355                                            formatted = formatted.replace('#', '');
2356                                        } else {
2357
2358                                            if (formatted.includes('###')) {
2359                                                formatted = formatted.replace(/##/g, "<b>").replace(/###/g, "</b>");
2360                                            } else {
2361                                                // start buffering bold safely
2362                                                const split = formatted.split("##");
2363                                                formatted = split[0];
2364                                                boldKeyword += "<b>" + split[1];
2365                                            }
2366
2367                                        }
2368                                    }
2369
2370                                    if(!talent_matches_start && !followupMessage){
2371
2372                                        // Append into container (header message) with preserved formatting
2373                                        container.find('.header-top-message').append(formatted);
2374
2375                                        if (macthed_talent) {
2376                                            talent_matches_start = true;
2377                                        }
2378                                    }
2379                                    if(macthed_talent && talent_matches_start && !followupMessage){
2380                                        if(jsonData.includes('talent_id')){
2381                                            // const match = jsonData.match(/\*\*talent_id:\s*(\d+)\*\*/);
2382                                            const match = jsonData.match(/\*\*\s*talent_id\s*:\s*(\d+)\s*\*\*/i);
2383                                            if (match) {
2384                                                const talentId = match[1];
2385
2386                                                if (!talents.includes(Number(talentId))) {
2387                                                    talents.push(Number(talentId));
2388                                                    const fullUrl = `${baseURL}
2388/talent-detail/${talentId}`;
2389                                                    try{
2390                                                            let res = await fetch(fullUrl);
2391                                                            let talentRes = await res.json();
2392                                                            // .then(res => res.json())
2393                                                            // .then(talentRes => {
2394                                                            if(talentRes.data){
2395
2396                                                                    const item = talentRes.data;
2397                                                                    const talentPhoto = item.photo ? `${baseURL}/storage/talents/${item.photo}` : `${baseURL}/images/dummy.png`
2398                                                                    const imgHtml = `
2399                                                                        <img src="${talentPhoto}"
2400                                                                            onerror="this.onerror=null;this.src='https://www.letsengage.com/images/dummy-profile-pic.jpg';"
2401                                                                            alt="">
2402                                                                    `;
2403                                                                    const fullName = `${item.first_name} ${item.last_name}`;
2404                                                                    const formattedName = fullName.charAt(0).toUpperCase() + fullName.slice(1);
2405                                                                    const shortDescription = (item.short_descripiton || "").replace(/<[^>]*>/g, "").slice(0, 115) + "...";
2406                                                                    const locationHtml = shortDescription ? `<p>${shortDescription}</p>` : "";
2407
2408                                                                    const strLimit = (t, l = 230) => {
2409                                                                        if (!t) return "";
2410                                                                        const div = document.createElement("div");
2411                                                                        div.innerHTML = t;                 // decode & strip tags automatically
2412                                                                        let txt = div.textContent || "";
2413                                                                        return txt.length > l ? txt.slice(0, l) + "..." : txt;
2414                                                                    };
2415                                                                    let description = strLimit(item.description, 230);
2416                                                                    const shortBio = description ? description : "";
2417
2418                                                                    let talentFullCard = `<div class="col-md-3">
2419                                                                        <div class="talent-img-cont-response">
2420                                                                        <div class="talent-img-cont">
2421                                                                        ${imgHtml}
2422                                                                            <div class="talent-details">
2423                                                                                <span>${formattedName}</span>
2424                                                                                ${locationHtml}
2425                                                                            </div>
2426                                                                        </div>
2427                                                                    </div>
2428
2429                                                                    <div class="finding-setup">
2430                                                                        <p>${shortBio}</p>
2431                                                                        <a class="speaking-topic-link send-to-ai"
2432                                                                            data-question="Why Engage AI Recommends ${formattedName}">
2433                                                                            <div id="bold-speaking-topic-ai" class="speaking-topic-description">
2434                                                                                <p title="${item.first_name}">Why Engage AI Recommends ${formattedName} </p>
2435                                                                            </div>
2436                                                                        </a>
2437                                                                        <a class="talent-box" href="/talent/${item.profile_url}"
2438                                                                            target="_blank">
2439                                                                            <div class="finding-box">
2440                                                                                <p>See videos, topics, and availability</p>
2441                                                                            </div>
2442                                                                        </a>
2443                                                                    </div>
2444                                                                    </div>`;
2445                                                                container.find('.talent_card_container').append(talentFullCard);
2446
2447                                                            }
2448                                                    }catch(err){console.error('err talent',err)}
2449                                                }
2450                                            }
2451                                        }
2452
2453                                    }
2454                                    if(followupMessage){
2455                                        container.find('.followupMessage').append(formatted)
2456
2457                                    }
2458                                }
2459                                if(json.type == "error"){
2460                                    stopTypingLoader();
2461                                    if (container.is(':hidden')) {
2462                                        container.show();
2463                                    }
2464                                    // If Server Error Display This Message in Response
2465                                    const errorMessage = `We're sorry but Engage AI is currently experiencing an issue.  Please click here to utilize our traditional search features or contact us for more immediate booking assistance.`;
2466                                    container.find('.error-message-container').css('display','block');
2467                                    container.find('.error-message').append(errorMessage)
2468
2469                                }
2470                                if(json.type == "metadata"){
2471
2472                                        // const talentDetails = JSON.parse(part);
2473                                        // for (let [key, value] of Object.entries(talentDetails.data.matches)) {
2474                                        //     const url = value.split("talent/")[1];
2475                                        //     const fullUrl = `${baseURL}
2475/talent-detail/${url}`;
2476                                        //     fetch(fullUrl)
2477                                        //     .then(res => res.json())
2478                                        //     .then(talentRes => {
2479                                        //             if(talentRes.data){
2480                                        //                     const item = talentRes.data;
2481                                        //                     // console.log('item.photo',item.photo)
2482                                        //                     const talentPhoto = item.photo ? `${baseURL}/storage/talents/${item.photo}` : `${baseURL}/images/dummy.png'`
2483                                        //                     const imgHtml = `
2484                                        //                         <img src="${talentPhoto}"
2485                                        //                             onerror="this.onerror=null;this.src='https://www.letsengage.com/images/dummy-profile-pic.jpg';"
2486                                        //                             alt="">
2487                                        //                     `;
2488                                        //                     const fullName = `${item.first_name} ${item.last_name}`;
2489                                        //                     const formattedName = fullName.charAt(0).toUpperCase() + fullName.slice(1);
2490                                        //                     const locationHtml = item.location ? `<p>${item.location}</p>` : "";
2491                                        //                     const shortBio = item.short_bio ? `<p>${item.short_bio}</p>` : "";
2492
2493                                        //                     let talentFullCard = `<div class="col-md-3">
2494                                        //                         <div class="talent-img-cont-response">
2495                                        //                         <div class="talent-img-cont">
2496                                        //                         ${imgHtml}
2497                                        //                             <div class="talent-details">
2498                                        //                                 <span>${formattedName}</span>
2499                                        //                                 ${locationHtml}
2500                                        //                             </div>
2501                                        //                         </div>
2502                                        //                     </div>
2503
2504                                        //                     <div class="finding-setup">
2505                                        //                         ${shortBio}
2506                                        //                         <a class="speaking-topic-link send-to-ai"
2507                                        //                             data-question="Why Engage AI Recommends ${formattedName}">
2508                                        //                             <div id="bold-speaking-topic-ai" class="speaking-topic-description">
2509
2510                                        //                                 <p title="${item.first_name}">Why Engage AI Recommends ${formattedName} </p>
2511                                        //                             </div>
2512                                        //                         </a>
2513                                        //                         <a class="talent-box" href="/${item.profile_url}"
2514                                        //                             target="_blank">
2515                                        //                             <div class="finding-box">
2516                                        //                                 <p>See videos, topics, and availability</p>
2517                                        //                             </div>
2518                                        //                         </a>
2519                                        //                     </div>
2520                                        //                     </div>`;
2521                                        //                 container.find('.talent_card_container').append(talentFullCard);
2522
2523                                        //             }
2524                                        //     })
2525                                        //     .catch(err => console.error('err talent',err));
2526                                            
2527                                        // }
2528                                }
2529
2530                            } catch (err) {
2531                                // incomplete JSON → wait for next chunk
2532                                console.warn("Incomplete JSON:", part);
2533                            }
2534                        }
2535                    }
2536
2537                    let token = $("input[name=_token]").val();
2538
2539                    // console.log('logParsedContent',logParsedContent.fullResponse);
2540                    if(history.length == 0){
2541                        history += `User:${logParsedContent.userQuery}`;
2542                    }else{
2543                        history += `\nUser:${logParsedContent.userQuery}`;
2544                    }
2545                    history += `\nAnswer:${logParsedContent.finalContent}`;
2546                    // Send to backend for logging
2547                    fetch(`${baseURL}
2547/logs/store-ai-log`, {
2548                        method: "POST",
2549                        headers: { "Content-Type": "application/json",'X-CSRF-TOKEN': token},
2550                        body: JSON.stringify(logParsedContent)
2551                    }).catch(err => console.error("Log send error:", err));
2552
2553                    // Extract message after "followupmessage:"
2554                    // const parts = finalContent.split("**followupmessage:**");
2555                    // const messageAfterFollowUp = parts[1]?.trim() || "";
2556                    // console.log(messageAfterFollowUp)
2557                    // container.find('.followupMessage').append(messageAfterFollowUp)
2558                }catch (error) {
2559                    console.error("Fetch error:", error);
2560                    stopTypingLoader();
2561
2562                    if (messageId && responseTimers[messageId]) {
2563                        clearInterval(responseTimers[messageId].interval);
2564                        $(`#${messageId} .live-timer`).text(`❌ Failed to get response`);
2565                        delete responseTimers[messageId];
2566                    }
2567
2568                    console.error("AJAX Error:", error);
2569                    swal({
2570                        icon: 'error',
2571                        text: 'Oh no! Something went wrong. Please try again later.',
2572                        confirmButtonText: 'Okay'
2573                    });
2574
2575                    //Get Retry message ID to only display retry message on recent one
2576                    // console.log('1',messageId);
2577
2578
2579                    // If Server Error Display This Message in Response
2580                    const errorMessage = `
2581                    <div class="response-header">
2582                        <img src="https://www.letsengage.com/images/new-ai-fab-icon-new.png" style="height: 40px; width:40px;">
2583                        <strong>Engage AI</strong>
2584                    </div>
2585                    <br>
2586                    <div class="ai-response-text mt-4" data-section="TYPED_INTRO_MESSAGE">
2587                        <span></span>
2588                    </div>
2589                    <div class="display-response">
2590                        <div class="ai-response-text mt-4" data-section="TYPED_ANSWER">
2591                                <span>We're sorry but Engage AI is currently experiencing an issue.  Please click here to utilize our traditional search features or contact us for more immediate booking assistance.</span>
2592                        </div>
2593                    </div>
2594                    `;
2595
2596                    appendBotMessage(errorMessage);
2597
2598
2599                    if (messageId) {
2600                        $(`#${messageId} .msg-icon`).show();
2601                    }
2602                }   
2603
2604            }
2605
2606            $.ajax({
2607                url: "https://www.letsengage.com/check/request-counts",
2608                type: "GET",
2609                headers: {
2610                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
2611                },
2612                success: function(data) {
2613                    if(data.message == "continue"){
2614                        isRequestInProgress = true;
2615                        callStream(text).then((res)=>{
2616                            isRequestInProgress = false;
2617                            $('.form-arrow').css('pointer-events', 'auto');
2618                        }).catch(()=>{
2619                            console.log('process complete with error')
2620                            isRequestInProgress = false;
2621                            $('.form-arrow').css('pointer-events', 'auto');
2622                        })
2623                    }
2624                    if (data.error) {
2625                        stopTypingLoader();
2626                        // Re-enable button
2627                        $('.form-arrow').css('pointer-events', 'auto').css('opacity', '1');
2628                        isRequestInProgress = false;
2629
2630                        // Display error message in the same style as API errors
2631                        const errorMessage = `
2632                        <div class="response-header">
2633                            <img src="https://www.letsengage.com/images/new-ai-fab-icon-new.png" style="height: 40px; width:40px;">
2634                            <strong>Engage AI</strong>
2635                        </div>
2636                        <br>
2637                        <div class="ai-response-text mt-4" data-section="TYPED_INTRO_MESSAGE">
2638                            <span></span>
2639                        </div>
2640                        <div class="display-response">
2641                            <div class="ai-response-text mt-4" data-section="TYPED_ANSWER">
2642                                <span>${data.message}</span>
2643                            </div>
2644                        </div>
2645                    `;
2646
2647                        appendBotMessage(errorMessage);
2648                        return; // stop further processing
2649                    }
2650                },error: function(xhr, status, error) {
2651                        console.log('logs count error',error);
2652                        swal({
2653                            icon: 'error',
2654                            text: 'Oh no! Something went wrong. Please try again later.',
2655                            confirmButtonText: 'Okay'
2656                        });
2657                }
2658            });
2659
2660            return;
2661            $.ajax({
2662                url: "https://www.letsengage.com/consumer/ai-process",
2663                type: "GET",
2664                data: {
2665                    input_text: text,
2666                    next_page: next_page,
2667                    session_id: aiSessionId
2668                },
2669                headers: {
2670                    'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
2671                },
2672                beforeSend: function() {
2673                    let typingText;
2674
2675                    // Check if the text looks like a talent search
2676                    if (fromButton) {
2677                        typingText = "Summarizing my logic for you now...";
2678                    } else if (text.toLowerCase().includes("speaker") || text.toLowerCase().includes(
2679                        "talent")) {
2680                        typingText = "Searching our platform of 5,000+ of the best speakers...";
2681                    } else {
2682                        typingText =
2683                            "Working on generating a response to your question. I'll have a response shortly.";
2684                    }
2685
2686                    startTypingLoader(typingText);
2687
2688                },
2689                success: function(data) {
2690                    stopTypingLoader();
2691
2692                    // Check for error (API or 10-query limit)
2693                    if (data.error) {
2694                        // Re-enable button
2695                        $('.form-arrow').css('pointer-events', 'auto').css('opacity', '1');
2696                        isRequestInProgress = false;
2697
2698                        // Display error message in the same style as API errors
2699                        const errorMessage = `
2700                        <div class="response-header">
2701                            <img src="https://www.letsengage.com/images/new-ai-fab-icon-new.png" style="height: 40px; width:40px;">
2702                            <strong>Engage AI</strong>
2703                        </div>
2704                        <br>
2705                        <div class="ai-response-text mt-4" data-section="TYPED_INTRO_MESSAGE">
2706                            <span></span>
2707                        </div>
2708                        <div class="display-response">
2709                            <div class="ai-response-text mt-4" data-section="TYPED_ANSWER">
2710                                <span>${data.message}</span>
2711                            </div>
2712                        </div>
2713                    `;
2714
2715                        appendBotMessage(errorMessage);
2716                        return; // stop further processing
2717                    }
2718
2719                    if (data.html) {
2720                        console.log(data.html);
2721                        appendBotMessage(data.html);
2722                        scrollToLastQuery();
2723                    }
2724
2725                    if (data.response === "No records found for your request.") {
2726                        $(".main-wrapper-no-event").show();
2727                        $(".talent-container").empty();
2728                        $(".line-btns-talent").hide();
2729                        $(".summrize").empty();
2730                        return;
2731                    }
2732
2733                    if (next_page === null) {
2734                        $(".talent-container").empty();
2735                    }
2736
2737                    $(".main-wrapper-no-event").hide();
2738
2739                    if (data.pagination && data.pagination.total_records > 32 && data.pagination.next_page !==
2740                        null) {
2741                        $(".line-btns-talent").show()
2742                            .find(".load-more-talent-searchData")
2743                            .attr('current_page', data.pagination.current_page)
2744                            .attr('total_records', data.pagination.total_records)
2745                            .attr('total_pages', data.pagination.total_pages)
2746                            .attr('next_page', data.pagination.next_page);
2747                    } else {
2748                        $(".line-btns-talent").hide();
2749                    }
2750                },
2751                error: function(xhr, status, error) {
2752                    stopTypingLoader();
2753
2754                    if (messageId && responseTimers[messageId]) {
2755                        clearInterval(responseTimers[messageId].interval);
2756                        $(`#${messageId} .live-timer`).text(`❌ Failed to get response`);
2757                        delete responseTimers[messageId];
2758                    }
2759
2760                    console.error("AJAX Error:", error);
2761                    swal({
2762                        icon: 'error',
2763                        text: 'Oh no! Something went wrong. Please try again later.',
2764                        confirmButtonText: 'Okay'
2765                    });
2766
2767                    //Get Retry message ID to only display retry message on re
2767cent one
2768                    // console.log('1',messageId);
2769
2770
2771                    // If Server Error Display This Message in Response
2772                    const errorMessage = `
2773                    <div class="response-header">
2774                        <img src="https://www.letsengage.com/images/new-ai-fab-icon-new.png" style="height: 40px; width:40px;">
2775                        <strong>Engage AI</strong>
2776                    </div>
2777                    <br>
2778                    <div class="ai-response-text mt-4" data-section="TYPED_INTRO_MESSAGE">
2779                        <span></span>
2780                    </div>
2781                    <div class="display-response">
2782                        <div class="ai-response-text mt-4" data-section="TYPED_ANSWER">
2783                                <span>We're sorry but Engage AI is currently experiencing an issue.  Please click here to utilize our traditional search features or contact us for more immediate booking assistance.</span>
2784                        </div>
2785                    </div>
2786                `;
2787
2788                    appendBotMessage(errorMessage);
2789
2790
2791                    if (messageId) {
2792                        $(`#${messageId} .msg-icon`).show();
2793                    }
2794
2795                },
2796                complete: function() {
2797                    isRequestInProgress = false;
2798                    // Re-enable button after request is done (success or error)
2799                    // Only re-enable if there's text in the input field
2800                    if ($("#search-field").val().trim() !== "") {
2801                        $('.form-arrow').css('pointer-events', 'auto').css('opacity', '1');
2802                    } else {
2803                        $('.form-arrow').css('pointer-events', 'none').css('opacity', '0.5');
2804                    }
2805                }
2806            });
2807        }
2808
2809
2810        // Append user's message with timer
2811        function appendUserMessage(input_text, messageId) {
2812            const userMessageHTML = `<br>
2813            <div class="chat-user" id="${messageId}">
2814                <div class="msg right-msg">
2815
2816
2817                    <!-- Message bubble -->
2818                    <div class="msg-bubble">
2819                        <div class="msg-text">
2820                            <span>${input_text}</span>
2821                            <svg width="25" height="25" viewBox="0 0 16 16" fill="none">
2822                                <path d="M0 16V0.759399L15.2406 15.7594V16H0Z" fill="#00B26B"/>
2823                            </svg>
2824                        </div>
2825
2826                        <!-- Retry icon -->
2827                        <div class="msg-icon" title="Retry">
2828                            <svg width="25" height="25" viewBox="0 0 24 24" fill="none">
2829                                <path d="M12 4V1L8 5L12 9V6C15.31 6 18 8.69 18 12C18 15.31 15.31 18 12 18C8.69 18 6 15.31 6 12H4C4 16.42 7.58 20 12 20C16.42 20 20 16.42 20 12C20 7.58 16.42 4 12 4Z" 
2830                                    fill="grey"/>
2831                            </svg>
2832                        </div>
2833                    </div>
2834
2835                    <!-- Action icons container -->
2836                    <div class="msg-actions">
2837                        <div class="edit-btn" title="Edit message">
2838                            <svg width="18" height="18" viewBox="0 0 24 24" fill="none">
2839                                <path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 
2840                                        7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 
2841                                        0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z" 
2842                                    fill="grey"/>
2843                            </svg>
2844                        </div>
2845
2846                        <div class="copy-btn" title="Copy">
2847                            <svg width="18" height="18" viewBox="0 0 24 24" fill="none">
2848                                <path d="M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z" 
2849                                    fill="grey"/>
2850                            </svg>
2851                        </div>
2852                    </div>
2853
2854                </div>
2855            </div>
2856        `;
2857            $('#chat-messages').append(userMessageHTML);
2858        }
2859
2860
2861        // Send Error Message Again to AJAX search function
2862        $(document).on('click', '.msg-icon', function() {
2863            var chatBubble = $(this).closest('.chat-user');
2864            var retry_input_text = chatBubble.find('.msg-text span').text().trim();
2865            var retry_messageId = chatBubble.attr('id');
2866
2867            // Remove all messages that come after this edited message
2868            $('#' + retry_messageId).nextAll('.chat-user, .chat-message').remove();
2869
2870            search(retry_input_text, null, retry_messageId);
2871            scrollToLastQuery();
2872            $('.msg-icon').css('display', 'none');
2873        });
2874
2875        // Copy Text form copy button
2876        $(document).on('click', '.copy-btn', function() {
2877            var chatBubble = $(this).closest('.chat-user');
2878            var copy_text = chatBubble.find('.msg-text span').text().trim();
2879            var copyBtn = $(this);
2880            //Copy to Clip Board
2881            navigator.clipboard.writeText(copy_text).then(() => {
2882                // console.log('Copy', copy_text);
2883                // Store the Orignal Icon
2884                var orignalIcon = copyBtn.html();
2885
2886                //Replace with Tick Button
2887                copyBtn.html(`
2888                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" 
2889                    xmlns="http://www.w3.org/2000/svg">
2890                    <path d="M20 6L9 17L4 12" stroke="green" stroke-width="2" 
2891                        stroke-linecap="round" stroke-linejoin="round"/>
2892                </svg>
2893            `);
2894
2895                //After 5 seconds
2896                setTimeout(() => {
2897                    copyBtn.html(orignalIcon);
2898                }, 5000);
2899            })
2900        });
2901
2902        // Edit Text and Resend Request to API
2903        $(document).on('click', '.edit-btn', function() {
2904            var chatBubble = $(this).closest('.chat-user');
2905            var copy_text = chatBubble.find('.msg-text span').text().trim();
2906
2907            // Hide the original message bubble
2908            chatBubble.hide();
2909
2910            // Create an editable form (like your input box)
2911            var editForm = `
2912            <div class="edit-box" data-id="${chatBubble.attr('id')}">
2913                <textarea id="edit_field" class="form-control edit-textarea" style="margin-top: 10px;">${copy_text}</textarea>
2914
2915                    <!-- Close (X) button -->
2916                    <div class="form-close close-edit" title="Cancel" 
2917                        style="cursor: pointer;">
2918                        <svg width="23" height="23" viewBox="0 0 24 24" fill="none" 
2919                            xmlns="http://www.w3.org/2000/svg">
2920                            <path d="M18.3 5.71a1 1 0 0 0-1.41 0L12 10.59 
2921                                    7.11 5.7A1 1 0 0 0 5.7 7.11L10.59 12 
2922                                    5.7 16.89a1 1 0 1 0 1.41 1.41L12 13.41 
2923                                    16.89 18.3a1 1 0 0 0 1.41-1.41L13.41 12 
2924                                    18.3 7.11c.39-.39.39-1.02 0-1.41z" 
2925                                fill="white"/>
2926                        </svg>
2927                    </div>
2928
2929                    <!-- Send (arrow) button -->
2930                    <div class="form-arrow send-edit" style="cursor: pointer;">
2931                        <svg width="16" height="17" viewBox="0 0 16 17" fill="none" 
2932                            xmlns="http://www.w3.org/2000/svg">
2933                            <path d="M8.65681 1.03804C8.26629 0.647517 7.63313 0.647517 7.2426 1.03804L0.87864 7.402C0.488115 7.79253 0.488115 8.42569 0.87864 8.81622C1.26916 9.20674 1.90233 9.20674 2.29285 8.81622L7.94971 3.15936L13.6066 8.81622C13.9971 9.20674 14.6303 9.20674 15.0208 8.81622C15.4113 8.42569 15.4113 7.79253 15.0208 7.402L8.65681 1.03804ZM8.94971 16.2549L8.94971 1.74515L6.94971 1.74515L6.94971 16.2549L8.94971 16.2549Z" 
2934                                fill="white"/>
2935                        </svg>
2936                    </div>
2937            </div>
2938        `;
2939
2940            // Insert edit form right after hidden chatBubble
2941            chatBubble.after(editForm);
2942        });
2943
2944        // Cancel editing (X button)
2945        $(document).on('click', '.form-close', function() {
2946            // get the edit box wrapper
2947            var editBox = $(this).closest('.edit-box');
2948            var chatId = editBox.data('id');
2949            // console.log(chatId);
2950            // Remove the edit box
2951            editBox.remove();
2952
2953            // Show the original hidden chat bubble back
2954            $("#" + chatId).show();
2955        });
2956
2957        //Send Edited Message Again to API
2958        $(document).on('click', '.send-edit', function() {
2959            var editBox = $(this).closest('.edit-box');
2960            var edit_message = $("#edit_field").val().trim();
2961            var edit_messageId = editBox.data('id');
2962
2963            // console.log(edit_message,edit_messageId);
2964            if (edit_message !== "") {
2965                var $chatBubble = $("#" + edit_messageId);
2966
2967                // Update the original chat bubble text
2968                $("#" + edit_messageId).find('.msg-text span').text(edit_message);
2969
2970                // Show the updated chat bubble
2971                $("#" + edit_messageId).show();
2972
2973                // Remove the edit box
2974                editBox.remove();
2975
2976                // Remove all messages that come after this edited message
2977                $chatBubble.nextAll('.chat-user, .chat-message').remove();
2978
2979                // (Optional) Send edited text to API
2980                search(edit_message, null, edit_messageId);
2981
2982                scrollToLastQuery();
2983            }
2984        });
2985        //Also work on Key press Enter Edit Button
2986        $(document).on('keydown', '#edit_field', function(e) {
2987            if (e.key === 'Enter' && !e.shiftKey) { // prevent only Enter (Shift+Enter still makes new line)
2988                e.preventDefault(); // stop newline
2989                var editBox = $(this).closest('.edit-box');
2990                var edit_message = $("#edit_field").val().trim();
2991                var edit_messageId = editBox.data('id');
2992
2993                // console.log(edit_message,edit_messageId);
2994                if (edit_message !== "") {
2995                    var $chatBubble = $("#" + edit_messageId);
2996
2997                    // Update the original chat bubble text
2998                    $("#" + edit_messageId).find('.msg-text span').text(edit_message);
2999
3000                    // Show the updated chat bubble
3001                    $("#" + edit_messageId).show();
3002
3003                    // Remove the edit box
3004                    editBox.remove();
3005
3006                    // Remove all messages that come after this edited message
3007                    $chatBubble.nextAll('.chat-user, .chat-message').remove();
3008
3009                    // (Optional) Send edited text to API
3010                    search(edit_message, null, edit_messageId);
3011
3012                    scrollToLastQuery();
3013                }
3014            }
3015        });
3016
3017        // Start live timer
3018        // function startLiveTimer(messageId) {
3019        //     const start = performance.now();
3020
3021        //     const interval = setInterval(() => {
3022        //         const now = performance.now();
3023        //         const elapsed = ((now - start) / 1000).toFixed(1);
3024        //         $(`#${messageId} .live-timer`).text(`⏱️ Response time: ${elapsed}s`);
3025        //     }, 100);
3026
3027        //     responseTimers[messageId] = {
3028        //         startTime: start,
3029        //         interval: interval
3030        //     };
3031        // }
3032
3033        // Append bot's message
3034        function appendBotMessage(html) {
3035            const container = $('<div class="chat-message bot"></div>');
3036            const wrapper = $('<div>').html(html);
3037
3038            // Find the typed sections
3039            const intro = wrapper.find('[data-section="TYPED_INTRO_MESSAGE"]');
3040            const answer = wrapper.find('[data-section="TYPED_ANSWER"]');
3041
3042            const typedSections = [intro, answer].filter(e => e.length > 0);
3043
3044            typedSections.forEach(section => {
3045                const span = section.find('span');
3046                section.data('typedHtml', span.html());
3047                span.text('');
3048            });
3049
3050            container.append(wrapper.children());
3051            $('#chat-messages').append(container);
3052
3053            const elements = container.children().not(
3054            '[data-section="TYPED_INTRO_MESSAGE"], [data-section="TYPED_ANSWER"]');
3055
3056            // Start typing immediately
3057            typeTypedSections(0);
3058
3059            function showNext(i) {
3060                if (i < elements.length) {
3061                    const el = $(elements[i]).hide();
3062                    el.fadeIn(1200); // Show without waiting for typing
3063                    setTimeout(() => showNext(i + 1), 10);
3064                } else {
3065                    scrollToLastQuery();
3066                }
3067            }
3068
3069            function typeText($span, text, delay = 20, done) { //  Faster typing speed
3070                let i = 0;
3071
3072                function nextChar() {
3073                    if (i <= text.length) {
3074                        $span.text(text.slice(0, i));
3075                        i++;
3076                        setTimeout(nextChar, delay);
3077                    } else if (done) {
3078                        done();
3079                    }
3080                }
3081                nextChar();
3082
3083            }
3084
3085            function typeTypedSections(index) {
3086                if (index >= typedSections.length) return;
3087
3088                const section = typedSections[index];
3089                const span = section.find('span');
3090                const html = section.data('typedHtml');
3091
3092                typeHtml(span, html, 5, () => {
3093                    // setTimeout(() => typeTypedSections(index + 1), 200); // optional pause between sections
3094                    //  Reveal "Submit Form" only when answer typing is done
3095                    if (section.data("section") === "TYPED_ANSWER") {
3096                        section.find(".form-link").fadeIn(600);
3097                    }
3098                    setTimeout(() => typeTypedSections(index + 1), 200);
3099                });
3100            }
3101
3102            showNext(0);
3103        }
3104
3105        function typeHtml($el, html, speed = 10, done) {
3106            const temp = $('<div>').html(html);
3107            const nodes = temp.contents();
3108            let i = 0;
3109
3110            function processNext() {
3111                if (i >= nodes.length) {
3112                    if (done) done();
3113                    return;
3114                }
3115
3116                const node = nodes[i];
3117                i++;
3118
3119                if (node.nodeType === 3) { // Text node
3120                    const text = node.nodeValue;
3121                    let j = 0;
3122
3123                    function typeChar() {
3124                        if (j <= text.length) {
3125                            $el.append(document.createTextNode(text.charAt(j)));
3126                            j++;
3127                            setTimeout(typeChar, speed);
3128                        } else {
3129                            processNext();
3130                        }
3131                    }
3132
3133                    typeChar();
3134
3135                } else if (node.nodeType === 1) { // Element node
3136                    const newEl = $(node).clone().empty();
3137                    $el.append(newEl);
3138                    typeHtml(newEl, $(node).html(), speed, processNext);
3139                } else {
3140                    processNext();
3141                }
3142            }
3143
3144            processNext();
3145        }
3146
3147
3148
3149        // Scroll to bottom
3150        function scrollToLastQuery() {
3151            const target = document.querySelector(".my-target-div");
3152
3153            if (target) {
3154                const rect = target.getBoundingClientRect();
3155                const offsetTop = rect.top + window.pageYOffset;
3156
3157                // Calculate 75% viewport offset
3158                const targetScrollY = offsetTop - (window.innerHeight * 0.85);
3159
3160                window.scrollTo({
3161                    top: targetScrollY,
3162                    behavior: 'smooth'
3163                });
3164            } else {
3165                console.warn("⚠️ .my-target-div not found!");
3166            }
3167        }
3168
3169
3170
3171
3172        // Typing animation messages
3173        let typingTimer;
3174        let charac = 0;
3175
3176        function startTypingLoader(message) {
3177            // Stop previous typing 
3178            if (typingTimer) {
3179                clearTimeout(typingTimer);
3180                typingTimer = null;
3181            }
3182
3183           $('#typing-message').html('');
3184           $('#chat-loading').show();
3185           let charac = 0;
3186
3187            function typeChar() {
3188                if (charac < message.length) {
3189                    $('#typing-message').append(message.charAt(charac));
3190                    charac++;
3191                    typingTimer = setTimeout(typeChar, 70); // adjust speed
3192                }
3193
3194            }
3195
3196            typeChar();
3197        }
3198
3199        function stopTypingLoader() {
3200            clearTimeout(typingTimer); // Stop any ongoing animation
3201            $('#chat-loading').hide();
3202            $('#typing-message').empty();
3203            charac = 0; // Reset for next time
3204        }
3205
3206
3207        const targetDiv = document.querySelector('.my-target-div');
3208        const containerDiv = document.querySelector('.ai-chat-box-container'); // visibility gate
3209
3210        function isContainerVisible() {
3211            if (!containerDiv) return false;
3212            const style = window.getComputedStyle(containerDiv);
3213            return style.display !== 'none';
3214        }
3215
3216        // Function to check if targetDiv is in viewport
3217        function checkIfInView() {
3218            if (!isContainerVisible()) return;
3219
3220            if (!targetDiv) {
3221                console.warn('⚠️ Target div not found!');
3222                return;
3223            }
3224
3225            // If near the bottom, remove fixed class and exit early
3226            if (isNearBottom()) {
3227                document.body.classList.remove('fixed-textarea');
3228                return;
3229            }
3230
3231            const rect = targetDiv.getBoundingClientRect();
3232            const inViewport = rect.top < window.innerHeight && rect.bottom > 0;
3233
3234            const hasClass = document.body.classList.contains('fixed-textarea');
3235
3236            if (inViewport && hasClass) {
3237                document.body.classList.remove('fixed-textarea');
3238            } else if (!inViewport && !hasClass) {
3239                document.body.classList.add('fixed-textarea');
3240            }
3241        }
3242
3243        function isNearBottom() {
3244            const scrollTop = window.scrollY || document.documentElement.scrollTop;
3245            const viewportHeight = window.innerHeight;
3246            const fullHeight = document.documentElement.scrollHeight;
3247
3248            const scrollRatio = (scrollTop + viewportHeight) / fullHeight;
3249
3250            return scrollRatio >= 0.75; // within bottom 15% of the page
3251        }
3252        // MutationObserver — runs on DOM changes (append, remove, etc.)
3253        const observer = new MutationObserver(() => {
3254            if (!isContainerVisible()) return; // Skip if container is hidden
3255
3256            const newHeight = document.documentElement.scrollHeight;
3257            // console.log('Page scroll height changed:', newHeight + 'px');
3258
3259            checkIfInView();
3260        });
3261
3262        observer.observe(document.body, {
3263            childList: true,
3264            subtree: true,
3265            attributes: false,
3266            characterData: false,
3267        });
3268
3269        // Also check on scroll, load, and resize — if container is visible
3270        window.addEventListener('scroll', checkIfInView);
3271        window.addEventListener('DOMContentLoaded', checkIfInView);
3272        window.addEventListener('resize', checkIfInView);
3273    </script>
3273
3274	
3275		 
3276		
3277				<style>
3278	$(".fancy-img").fancybox({
3279		'hideOnContentClick': true
3280	});
3281	</style>
3282	<!--Start of Tawk.to Script-->
3283
3284<script type="text/javascript">
3285var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
3286(function(){
3287var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
3288s1.async=true;
3289s1.src='https://embed.tawk.to/5e4ab807a89cda5a18866fbe/default';
3290s1.charset='UTF-8';
3291s1.setAttribute('crossorigin','*');
3292s0.parentNode.insertBefore(s1,s0);
3293})();
3294
3295new WOW().init();
3296</script>
3296
3297
3298
3299<script>
3300$(".read-more-free-event").click(function(){
3301  $(".alter-entry-section").toggleClass("show-ifi");
3302});
3303</script>
3303
3304<!--End of Tawk.to Script-->
3305
3306<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
3306
3307	
3307<script type="text/javascript" src="https://www.letsengage.com/js/jquery.signature.js"></script>
3307
3308	
3308<script type="text/javascript" src="https://www.letsengage.com/js/jquery.signature.min.js"></script>
3308
3309	
3309<script type="text/javascript">
3310		$(document).ready(function(){
3311		  	var sign = $('#talent_sign_block').signature({syncField: '#signature64', syncFormat: 'PNG'});
3312			$('#talent_sign_clear').click(function(e) {
3313				e.preventDefault();
3314				sign.signature('clear');
3315				$("#signature64").val('');
3316			});
3317		});
3318	</script>
3318
3319
3320
3321<script>
3322$('#talent-video-slider').owlCarousel({
3323    loop:true,
3324    margin:30,
3325	dots:false,
3326    responsiveClass:true,
3327    responsive:{
3328        0:{
3329            items:3,
3330            nav:true,
3331			margin:4
3332        },
3333        768:{
3334            items:3,
3335            nav:true,
3336			margin:10
3337        },
3338        1024:{
3339            items:3,
3340            nav:true,
3341            loop:false
3342        }
3343    }
3344});
3345
3346 
3347
3348  $(document).ready(function(){  
3349    $('.hover-parent').hover(function(){
3350       $('.active').removeClass();
3351    var id= $(this).attr('id');
3352    
3353    $('#cat_'+id).addClass('active');
3354     });
3355  });
3356</script>
3356
3357
3358
3359<script>
3360	var fesdpid = 'C3lE4Uzjh1';
3361	var fesdpextid = '634df02b';
3362	var __ibaseUrl = (("https:" == document.location.protocol) ? "https://fe.sitedataprocessing.com" : "http://fe.sitedataprocessing.com");
3363	(function () {
3364	var va = document.createElement('script'); va.type = 'text/javascript'; va.async = true;
3365	va.src = __ibaseUrl + '/cscripts/' + fesdpid + '-' + fesdpextid + '.js';
3366	var sv = document.getElementsByTagName('script')[0]; sv.parentNode.insertBefore(va, sv);
3367	})();
3368
3369</script>
3369 
3370
3371
3372	
3372<script>
3373
3374	$(document).ready(function(){
3375
3376$('.single-category-selection.active').each(function(){
3377	$('.bottom-selected-value.budget_section_top ul').append('<li data-id='+$(this).attr('data-id')+'>'+$(this).attr('data-name')+'<span  data-id='+$(this).attr('data-id')+' class="cancel-sel-value remove_bght">X</span></li>')	
3378
3379	$('.bottom-selected-value.price_section_top ul').append('<li data-id='+$(this).attr('data-id')+'>'+$(this).attr('data-name')+'<span  data-id='+$(this).attr('data-id')+' class="cancel-sel-value remove_bght">X</span></li>')	;
3380
3381});
3382
3383$(document).ready(function(){
3384  $("#bar-menu-engage").click(function(){
3385    $(".talent-menu-boxul").addClass("open-talent-menu");
3386  });
3387  $("#close-menu-talent").click(function(){
3388    $(".talent-menu-boxul").removeClass("open-talent-menu");
3389  });
3390
3391});
3392
3393// 	$(document).on('click','.mega-new-menu .select-sub-cat-wrapper',function(){
3394
3395//   if($(this).hasClass('active')){
3396
3397//      $(this).removeClass('active');
3398//      $('#top_'+$(this).attr('data-catsub')).remove();
3399
3400//   }else{
3401
3402//      $(this).addClass('active');
3403// 		$('.inner-select-category-ns').html($(this).text());
3404// 		// $('.subcategory-selected').val($(this).attr('data-catsub'));
3405// 		// $('.category-selected').val($(this).attr('data-parentid'));
3406// 		$('.search-box-ns').append( '<input id="top_'+$(this).attr('data-catsub')+'" class="cat_id_arr" type="hidden" name="cat_id[]" value = "'+$(this).attr('data-catsub')+'">');
3407
3408// }
3409// 	});
3410
3411$(document).on('click','.mega-new-menu .select-sub-cat-wrapper',function(){
3412
3413
3414
3415if($(this).hasClass('active')){
3416
3417  var id = $(this).attr('data-catsub');
3418   $(this).removeClass('active');
3419   $('#top_'+$(this).attr('data-catsub')).remove();
3420   $('.bottom-selected-value ul li[data-id="' + id + '"]').remove();
3421
3422}else{
3423  var dim = $('.bottom-selected-value').is(":visible");
3424  var catsub = $(this).attr('data-catsub');
3425
3426  if (dim == false) {
3427	  $('.bottom-selected-value').fadeIn();
3428  }
3429
3430  $('.bottom-selected-value ul').append('<li data-id='+catsub+'>'+$(this).text()+' <span data-id="'+$(this).attr('data-catsub')+'" class="cancel-sel-value remove_bght">X</span></li>');
3431
3432   $(this).addClass('active');
3433	  $('.inner-select-category-ns').html($(this).text());
3434	  
3435	  $('.search-box-ns').append( '<input id="top_'+$(this).attr('data-catsub')+'" class="cat_id_arr" type="hidden" name="cat_id[]" value = "'+$(this).attr('data-catsub')+'">');
3436
3437}
3438if ($('.bottom-selected-value ul li').length > 0) {
3439    // There are li elements in the ul
3440	$('.bugt_btn').show();
3441    $('.top_bottom_search_btn').show();
3442} else {
3443	$('.top_bottom_search_btn').hide();
3444	$('.bugt_btn').hide();
3445    // There are no li elements in the ul
3446}
3447  });
3448
3449
3450// 	$('.single-category-selection').click(function(){
3451
3452//  if($(this).hasClass('active')){
3453
3454//      $(this).removeClass('active');
3455
3456//      $('#top_'+$(this).attr('data-id')).remove();
3457
3458//  }else{
3459//  	$(this).addClass('active');
3460//      	 var name =$(this).attr('data-name');
3461//        var id =$(this).attr('data-id');
3462// 		$('.inner-select-category-ns').html(name);
3463// 		$('.category-selected').val(id);
3464// 		$('.search-box-ns').append( '<input id="top_'+id+'" type="hidden" name="cat_id[]" value = "'+id+'">');
3465// 	}
3466// 	});
3467
3468$('.single-category-selection').click(function () {
3469    var id = $(this).attr('data-id');
3470    var name = $(this).attr('data-name');
3471    
3472    if ($(this).hasClass('active')) {
3473        // REMOVING FILTER - Remove from everywhere
3474        $(this).removeClass('active');
3475        
3476        // Remove from bottom selected values
3477        $('.bottom-selected-value ul li[data-id="' + id + '"]').remove();
3478        
3479        // Remove hidden input
3480        $('#top_' + id).remove();
3481        
3482        // Remove from all sort-filter ULs
3483        $(".sort-filter ul").each(function(index, item) {
3484            $(item).find("li[data-id='" + id + "']").remove();
3485        });
3486        
3487        // Remove from sort-list if exists
3488        $('ul.sort-list li[data-id="' + id + '"]').remove();
3489        
3490        // Debug: Check remaining items
3491        $(".sort-filter ul").each(function(index, item) {
3492            $(item).find("li").each(function(liIndex, liItem) {
3493                console.log("Remaining after removal:", $(liItem).attr('data-id'));
3494            });
3495        });
3496		$("#filters-shorting").show();
3497        
3498    } else {
3499        // ADDING FILTER - Add everywhere if not exists
3500        
3501        // Show bottom section if hidden
3502        var dim = $('.bottom-selected-value.budget_section_top').is(":visible");
3503        if (dim == false) {
3504            $('.bottom-selected-value.budget_section_top').fadeIn();
3505        }
3506        
3507        // Check if already exists in ANY UL before adding anywhere
3508        var existsInBottom = $('.bottom-selected-value ul li[data-id="' + id + '"]').length > 0;
3509        var existsInSortFilter = false;
3510        
3511        $(".sort-filter ul").each(function(index, item) {
3512            if ($(item).find("li[data-id='" + id + "']").length > 0) {
3513                existsInSortFilter = true;
3514                return false; // Break the loop
3515            }
3516        });
3517        
3518        var existsInSortList = $('ul.sort-list li[data-id="' + id + '"]').length > 0;
3519        
3520        // Only add if it doesn't exist anywhere
3521        if (!existsInBottom && !existsInSortFilter && !existsInSortList) {
3522            
3523            // Add to bottom selected values
3524            $('.bottom-selected-value ul').append(
3525                '<li data-id="' + id + '">' + name + ' <span data-id="' + id + '" class="cancel-sel-value remove_bght">X</span></li>'
3526            );
3527            
3528            // Add ONLY to sort-list with the complete format (remove the duplicate simple format)
3529            $('ul.sort-list').append(`
3530                <li class="selected-hero-pricing" data-id="${id}" data-source="category">
3531                    <a href="javascript:void(0)">${name}</a>
3532                    <span class="remove-cat">X</span>
3533                    <input type="hidden" name="cat_id[]" class="pric-hero" value="${id}" data-source="category">
3534                </li>
3535            `);
3536            
3537            // Add hidden input if not exists
3538            if ($('#top_' + id).length === 0) {
3539                $('.search-box-ns').append(
3540                    '<input id="top_' + id + '" type="hidden" name="cat_id[]" value="' + id + '">'
3541                );
3542            }
3543        }
3544        
3545        // Set active state and update UI
3546        $(this).addClass('active');
3547        $('.inner-select-category-ns').html(name);
3548        $('.category-selected').val(id);
3549        
3550        // Debug: Check all items after adding
3551        $(".sort-filter ul").each(function(index, item) {
3552            $(item).find("li").each(function(liIndex, liItem) {
3553                console.log("After adding:", $(liItem).attr('data-id'));
3554            });
3555        });
3556    }
3557});
3558
3559	
3560	
3561
3562	$(document).on('click', 'body', function(event) {
3563
3564		if ($(event.target).is("#specificDiv")) {
3565
3566		$("body").removeClass("black-wrapper-popup");
3567		
3568		$("body").removeClass("black-wrapper-popup-secound");	
3569		}
3570   
3571     });
3572   
3573
3574	
3575     $('.inner-new-box-advance-search,.search-div-new-header').click(function(e){
3576         
3577   	e.stopPropagation();
3578   
3579   });
3580
3581//    $('.select-category-box.bottom-menu-wrapper.mega-new-menu').click(function(e){
3582   	
3583// 	$("body").addClass("black-wrapper-popup");
3584   	
3585  
3586//    });
3587
3588
3589
3590	$('.top-cate-menu-wrapper').on('click',function(event){
3591
3592		event.stopPropagation(); 
3593
3594		
3595
3596    $('.bottom-menu-wrapper').fadeOut();
3597
3598    if($(this).hasClass('select-category-ns')){     
3599		$("body").addClass("black-wrapper-popup");
3600     $('.select-category-box').fadeIn();
3601   }
3602   if($(this).hasClass('price-ns')){
3603	//$("body").toggleClass("black-wrapper-popup");
3604	$("body").addClass("black-wrapper-popup-secound");
3605   }
3606
3607    jQuery(".single-category-selection").mouseover(function(){
3608      var $partid = jQuery(this).attr("data-id");
3609      
3610    jQuery(".sub-category-mega-menu ul li").each(function(){
3611      
3612      var ta = jQuery(this).attr("data-parentcat");
3613      
3614    if($partid == ta){
3615
3616       jQuery(this).css("display","block");
3617       }else{
3618      
3619      jQuery(this).css("display","none");
3620      
3621          }
3622        });
3623
3624      });
3625
3626    
3627
3628
3629        $('.single-fea-cate').on('click', function(){
3630
3631         var cat_id = $(this).attr('data-id');
3632         $('.category-selected').val(cat_id);
3633
3634         });
3635      
3636
3637
3638    $(document).mouseup(function(e) 
3639    {
3640        var container = $(".bottom-menu-wrapper");
3641        if (!container.is(e.target) && container.has(e.target).length === 0 && !$(e.target).closest('.ui-menu').hasClass('ui-autocomplete')) 
3642        {
3643            container.fadeOut();
3644        }
3645    });
3646
3647
3648
3649 if($(this).hasClass('location-ns')){
3650       $('.select-location-box').fadeIn(); 
3651
3652    }
3653 if($(this).hasClass('price-ns')){
3654        $('.select-price-box').fadeIn();   
3655
3656 
3657    }
3658});
3659
3660
3661jQuery(document).on('click', ".talent-sub-cate-li", function(){
3662var data_sub_cate = jQuery(this).attr("data-sub-cate");
3663var sub_categ = jQuery(this).text();
3664    jQuery(".subcategory-selected").val(data_sub_cate);
3665    	$('.select-category-box').fadeOut();
3666      $('.select-location-box').fadeIn(); 
3667      $(this).removeClass('active'); 
3668      $(this).addClass('active');
3669      $('span.inner-select-category-ns').text(sub_categ); 
3670});
3671$(document).on('change',".mobile-tabletcate", function(){
3672			
3673		var category =	jQuery(this).val();
3674		var cat_val = jQuery('.mobile-tabletcate :selected').text();
3675		$('.shadow-box-ms-content span').text(cat_val);
3676    $('span.category-name-mt').text(cat_val);
3677		jQuery(".category-selected").val(category);
3678			$.ajax({
3679			    url: "https://www.letsengage.com/sub/category",
3680			    method: "GET",
3681			    data: {
3682			        category: category,
3683			        cat_val: cat_val
3684			    },
3685			    success: function(response) {
3686			        if (typeof response === 'string') {
3687			            try {
3688			                var jsonArray = JSON.parse(response);
3689			                console.log("Category", jsonArray);
3690			            } catch (e) {
3691			                console.error("Error parsing JSON:", e);
3692			            }
3693			        } else {
3694  						if (response && typeof response === 'object' && response.categories && response.categories.length > 0){
3695  						var categories = response.categories;
3696  						
3697  						var $data_cate_mob = '';
3698  						
3699							$data_cate_mob += "<option value='0'>Select Sub category</option>";
3700
3701  						for (var i = 0; i < categories.length; i++) {
3702							 
3703  							var categoryName = categories[i].categories.name;
3704								var cat_id = categories[i].id;
3705								$data_cate_mob += "<option value ='"+cat_id+"' class=''>"+ categoryName +"</option>";
3706								
3707  						}
3708  						jQuery('.sub-cat-drop').show();
3709  						jQuery(".mobile-tabletsubcate").html($data_cate_mob);
3710  						sub_cat_check();
3711  					}else{
3712  					jQuery('.sub-cat-drop').hide();
3713  						//jQuery(".mobile-tabletsubcate").hide();
3714  					}
3715  				}
3716  				console.log("test");
3717  			},
3718  			error: function(xhr, status, error) {
3719  				console.error("Ajax Error:", error);
3720  			}
3721  		});
3722		
3723		});
3724
3725     function sub_cat_check(){
3726		$('.mobile-tabletsubcate option').on('click',function(){
3727
3728		if($(this).hasClass('active')){
3729			$(this).removeClass('active');
3730        var cat_id =$(this).val();
3731        $('#cate_unik'+cat_id).remove();
3732        $(this).removeClass('active');
3733
3734      }else{
3735		$(this).addClass('active');
3736		$('.select-hero-category').fadeIn();
3737		var cate = $(this).text();
3738		var cat_id = $(this).val();
3739        $('.categ-select').append( '<span id="cate_unik'+cat_id+'"class="select-hero-category"><i class="fa fa-times" aria-hidden="true"></i>'+cate+'</span>');
3740        $('.search-box-ns').append( '<input class="cat_id_arr'+cat_id+'" type="hidden" name="cat_id[]" value = "'+cat_id+'">');
3741
3742		 }
3743	});
3744}
3745
3746jQuery(document).on('change', ".mobile-tabletsubcate", function(){
3747    var mobile_sub_cat = jQuery(this).val();
3748    var cat_val =jQuery('.mobile-tabletsubcate :selected').text();
3749    jQuery(".subcategory-selected").val(mobile_sub_cat);
3750    $('.shadow-box-ms-content span').text(cat_val);
3751    $('span.category-name-mt').text(cat_val);
3752});
3753
3754$('.clearsrch').on('click', function(){
3755   $('.shadow-box-ms-content span').text('');
3756   $('span.category-name-mt').text('Select Category');
3757   $('.mobile-tabletcate').val('Select Category');
3758   $('.category-selected').val('');
3759   $(".subcategory-selected").val(''); 
3760   // $('span.loca-head').text('Location');
3761   // $('.auto-complete-city').val('');
3762   $('.pricing-box.active').removeClass('active');
3763   $('.searchprice').val('');
3764   $('.price-head').text('Price');
3765 });
3766   
3767$('#mob-search-btn').on('click',function(){
3768 $('.btn-search').click();
3769});
3770
3771	
3772
3773
3774	// Advance search toggler
3775	// $(".advance-search-box").hide();
3776
3777// 	$("#call-ad-search").click(function(){
3778
3779// 		$(this).toggleClass("change-icon");
3780//       $(".advance-search-box").toggle();
3781//       $(".select-location-box").toggle();
3782// });
3783
3784
3785
3786var top_filter_search=[];
3787top_filter_search= $(".search_top_header").map(function(){return $(this).val();}).get();
3788$.ajax({
3789	 url: baseUrl+"/sub/category",
3790			    method: "GET",
3791			success: function(response) {
3792		  var cat = response.categories;
3793		  var $sub_cat_data_da = '';
3794		  $sub_cat_data_da += "<ul>";
3795		
3796        jQuery.each(cat, function(index, item) {
3797
3798			 var star='';
3799			 if(item.trending == 1 && item.trending  != null ){
3800				 star ='<i class="fas fa-star"></i>';
3801			 }
3802			
3803			if(jQuery.inArray(item.sub_cat.toString(),top_filter_search ) != -1){
3804				$sub_cat_data_da += "<li id='top_herder_cat"+item.sub_cat+"' style='display:none;' data-id='"+item.sub_cat+"' data-parentcat='"+item.parent_id +"' data-source='subcategory' data-name='" + item.name + "'data-name='" + item.name + "'><a href='javascript:void(0)' data-parentid='"+item.parent_id+"' data-catSub='"+item.sub_cat+"' class='select-sub-cat-wrapper active' >"+item.name + star  +"</a></li>";
3805				
3806			 }else{
3807				$sub_cat_data_da += "<li id='top_herder_cat"+item.sub_cat+"' style='display:none;' data-id='"+item.sub_cat+"' data-parentcat='"+item.parent_id +"' data-source='subcategory' data-name='" + item.name + "'><a href='javascript:void(0)' data-parentid='"+item.parent_id+"' data-catSub='"+item.sub_cat+"' class='select-sub-cat-wrapper' >"+item.name + star +"</a></li>";
3808				
3809			 }	
3810			
3811       });
3812       $sub_cat_data_da += "<ul>";
3813       jQuery(".sub-category-mega-menu").html($sub_cat_data_da);
3814	   jQuery(".child-categories-hero").html($sub_cat_data_da);
3815	   $('.main-filter').find('.select-sub-cat-wrapper.active').each(function() {
3816		console.log('heree');
3817		$('.bottom-selected-value.budget_section_top ul').append('<li data-id='+$(this).attr('data-catsub')+'>'+$(this).text()+'<span  data-id='+$(this).attr('data-catsub')+' class="cancel-sel-value remove_bght">X</span></li>');
3818		$('.bottom-selected-value.price_section_top ul').append('<li data-id='+$(this).attr('data-catsub')+'>'+$(this).text()+'<span  data-id='+$(this).attr('data-catsub')+' class="cancel-sel-value remove_bght">X</span></li>');
3819	   });
3820	
3821
3822       },
3823
3824    });
3825
3826	/* 24-may-2023*/
3827
3828	// $('.single-fea-cate').on('click',function(){
3829
3830	// 	if($(this).hasClass('active')){
3831	// 		$(this).removeClass('active');
3832 //        var cat_id =$(this).attr('data-id');
3833 //        $('#cate_unik'+cat_id).remove();
3834 //        $(this).removeClass('active');
3835
3836 //      }else{
3837	// 	$(this).addClass('active');
3838	// 	$('.select-hero-category').fadeIn();
3839	// 	var cate = $(this).text();
3840	// 	var cat_id = $(this).attr('data-id');
3841 //        $('.categ-select').append( '<span id="cate_unik'+cat_id+'"class="select-hero-category"><i class="fa fa-times" aria-hidden="true"></i><input type="hidden" name="cat_id[]" value = "'+cat_id+'">'+cate+'</span>');
3842
3843	// 	 }
3844	// });
3845
3846	// $('.mobile-tabletcate').on('click',function(){
3847
3848	// 	if($(this).hasClass('active')){
3849	// 		$(this).removeClass('active');
3850 //        var cat_id =$(this).attr('data-id');
3851 //        $('#cate_unik'+cat_id).remove();
3852 //        $(this).removeClass('active');
3853
3854 //      }else{
3855	// 	$(this).addClass('active');
3856	// 	$('.select-hero-category').fadeIn();
3857	// 	var cate = $(this).text();
3858	// 	var cat_id = $(this).attr('data-id');
3859 //        $('.categ-select').append( '<span id="cate_unik'+cat_id+'"class="select-hero-category"><i class="fa fa-times" aria-hidden="true"></i><input type="hidden" name="cat_id[]" value = "'+cat_id+'">'+cate+'</span>');
3860
3861	// 	 }
3862	// });
3863
3864
3865
3866
3867
3868   
3869   /* 24-may-2023*/
3870
3871    //  $("#search-form").validate({
3872    //    rules: {
3873    //      category_selected: "required",
3874    //      searchprice: "required",
3875    //      // city :"required"
3876    //    },
3877    //    messages: {
3878    //     category_selected: "Please select category",
3879    //      searchprice: "Please select search price",
3880    //      // city :"Please choose city" 
3881    //    },
3882    //    onsubmit: false
3883    //  });
3884
3885
3886
3887
3888	$('.switch_mail_talent').on('change', function(){
3889    if ($('.switch_mail_talent').is(":checked"))
3890    {
3891		$('.top_inperson').show();
3892			$('.top_virtual').hide();	
3893      $('.price_type').val('inperson');
3894
3895    }
3896    else{
3897    $('.price_type').val('virtual');
3898 
3899	$('.top_inperson').hide();
3900			$('.top_virtual').show();	
3901
3902    }
3903    });
3904
3905    $('.btn-search').on('click',function(){
3906		// $.LoadingOverlay("show");
3907	// var city=	$(".select-city").val();
3908
3909	var min=$("#price-range-display span.minPrice").text();
3910	var max=$("#price-range-display span.maxPrice").text();
3911	 var price_val = $('.pricing-box.active').attr('data-id');
3912	 var cat_id 
3913
3914	 $('.cat_id_arr').val();
3915	 var subcat_id = 	$('.subcategory-selected').val();
3916	 var price_type = $('.price_type').val();
3917
3918console.log(price_val);
3919    	 // var data = $("#search-form").serialize();
3920    $.ajax({
3921        type: "POST",
3922        url: "https://www.letsengage.com/talent",
3923        data:{price_val:price_val,cat_id:cat_id,subcat_id:subcat_id,price_type:price_type}, 
3924        headers: {
3925				 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
3926			 },
3927			//  beforeSend: function() {
3928			// 			$.LoadingOverlay("show");
3929			// 		},
3930
3931
3932        success: function( data ) {
3933        	console.log(data);
3934        		 window.location.href= data.redirect
3935        }
3936    });
3937  });
3938
3939
3940
3941});
3942
3943
3944	</script>
3944
3945	
3945<script>
3946	$(document).ready(function(){
3947  $("#bar-menu-engage").click(function(){
3948    $(".talent-menu-boxul").addClass("open-talent-menu");
3949  });
3950  $("#close-menu-talent").click(function(){
3951    $(".talent-menu-boxul").removeClass("open-talent-menu");
3952  });
3953
3954});
3955
3956//    $(document).on("click",".hash_autocomplete li div",function(){
3957
3958//    var url_text = $(this).text();
3959  
3960//    window.location.href = "https://www.letsengage.com/talent?search="+encodeURIComponent(url_text);
3961//    });
3962   
3963//    $(document).on("submit","#home-search",function(){
3964
3965	 
3966//    var url_text1 = $('.all_search-home.ui-autocomplete-input').val();
3967 
3968//    window.location.replace("https://www.letsengage.com/talent?search="+encodeURIComponent(url_text1));
3969   
3970
3971//    });
3972
3973
3974var allsearchurl = "https://www.letsengage.com/autosearch/all";
3975$(document).on('keydown.autocomplete', '.all_search-home', function() {
3976    $(this).autocomplete({
3977        classes: {
3978            "ui-autocomplete": "hash_autocomplete",
3979        },
3980        source: function(request, response) {
3981            // Get the selected search dropdown option
3982            var selectedOption = $('input[name="searchdropdownoption"]:checked').val();
3983
3984            // Modify the search URL to include the selected option
3985            $.ajax({
3986                url: allsearchurl, // your search URL
3987                data: {
3988                    term: request.term, // the search term from the input field
3989                    searchBy: selectedOption // the selected search option (all, name, category, etc.)
3990                },
3991                success: function(data) {
3992                    response(data);
3993                }
3994            });
3995        },
3996        minLength: 3,
3997        html: true, 
3998        open: function(event, ui) {
3999            $(".ui-autocomplete").css("z-index", 999);
4000        },
4001        select: function (e, u) {
4002            if (u.item.cat_url != 'not_cat') {
4003                var url = window.location.href;
4004                var check_url = url.split('?');
4005
4006                if (check_url.length > 1) {
4007                    $.LoadingOverlay("show");
4008                    var newUrl = url + "&cat_id[]=" + encodeURI(u.item.id);
4009                    window.location.replace(newUrl);
4010                } else {
4011                    $.LoadingOverlay("show");
4012                    if ($('#home_warpper_top').val() == 1) {
4013                        var newUrl = url + "talent?&cat_id[]=" + encodeURI(u.item.id);
4014                    } else {
4015                        var newUrl = url + "?&cat_id[]=" + encodeURI(u.item.id);
4016                    }
4017                    window.location.replace(newUrl);
4018                }
4019            }
4020
4021            if (u.item.val == -1) {
4022                $(this).val("");
4023                return false;
4024            }
4025        }
4026    }).autocomplete("instance")._renderItem = function(ul, item) {
4027        // Check if the location checkbox is checked
4028        var locationChecked = $('input[name="searchdropdownoption"][value="location"]:checked').length > 0;
4029
4030		var categorychecked = $('input[name="searchdropdownoption"][value="category"]:checked').length > 0;
4031
4032
4033        var label = item.label;
4034
4035		// Check if get the empty response
4036
4037		var isCategory= item.iscategory;
4038		if (label == 'No Match found') {
4039			return $("<li class='ui-menu-item no-click'>")
4040				.append("<div tabindex='-1' class='ui-menu-item-wrapper'><span>" + label + "</span></div>")
4041				.css('pointer-events', 'none') // Disable click by adding inline CSS
4042				.appendTo(ul);
4043		}
4044		else if(isCategory == 1 || categorychecked)
4045		{
4046			if(item.isImage != 'No Image')
4047			{
4048			return $("<li class='ui-menu-item'>")
4049				.append("<div tabindex='-1' class='ui-menu-item-wrapper' data-cat='" + item.cat_url + "'><img style='background:black;border-radius: 50px;' src='" + item.img + "'><span>" + label + "</span><span>" + item.exp + "</span></div>")
4050				.appendTo(ul);
4051			}
4052			else{
4053				return $("<li class='ui-menu-item'>")
4054				.append("<div tabindex='-1' class='ui-menu-item-wrapper' data-cat='" + item.cat_url + "'><span>" + label + "</span><span>" + item.exp + "</span></div>")
4055				.appendTo(ul);
4056			}
4057		}
4058		else if(item.image_exist == 'no' || locationChecked )
4059		{
4060			return $("<li class='ui-menu-item location-option-selected'>")
4061				.append("<div tabindex='-1' class='ui-menu-item-wrapper' data-cat='" + item.cat_url + "'><span>" + label + "</span><span>" + item.exp + "</span></div>")
4062				.appendTo(ul);
4063		}
4064		else{
4065			return $("<li class='ui-menu-item'>")
4066				.append("<div tabindex='-1' class='ui-menu-item-wrapper' data-cat='" + item.cat_url + "'><img src='" + item.img + "'><span>" + label + "</span><span>" + item.exp + "</span></div>")
4067				.appendTo(ul);
4068		}
4069
4070		// If location checkbox is checked, remove the '#' from the label
4071		if (locationChecked) {
4072			return $("<li class='ui-menu-item'>")
4073				.append("<div tabindex='-1' class='ui-menu-item-wrapper' data-cat='" + item.cat_url + "'><span>" + label + "</span><span>" + item.exp + "</span></div>")
4074				.appendTo(ul);
4075		} else {
4076			return $("<li class='ui-menu-item'>")
4077				.append("<div tabindex='-1' class='ui-menu-item-wrapper' data-cat='" + item.cat_url + "'><img src='" + item.img + "'><span>" + label + "</span><span>" + item.exp + "</span></div>")
4078				.appendTo(ul);
4079		}
4080
4081    };
4082});
4083
4084
4085// $(document).on("click",".hash_autocomplete li div",function(){
4086		
4087// if($(this).attr('data-cat') != 'not_cat'){
4088// window.location.href = "https://www.letsengage.com/"+$(this).attr('data-cat');
4089// }else{
4090
4091// var url_text = $('.all_search-home').val();
4092// window.location.href = "https://www.letsengage.com/talent?search="+url_text;
4093// }
4094// });
4095   
4096//    $(document).on("click","#home_header_button",function(){
4097//    var url_text = $('.all_search-home').val();
4098   
4099//    window.location.href = "https://www.letsengage.com/talent?search="+url_text;
4100//    });
4101   
4102
4103//    $(document).on("submit","#search-form",function(){
4104   
4105//    window.location.href = "https://www.letsengage.com/talent?search_type=";
4106
4107//    });
4108   
4109
4110
4111$(document).ready(function(){ 
4112if($('.select-sub-cat-wrapper.active').length > 0){
4113     $('.bottom-selected-value.budget_section_top').show();
4114	}
4115	
4116	if($('.single-category-selection.active').length > 0){
4117     $('.bottom-selected-value.budget_section_top').show();
4118	}
4119	var availableTags = "https://www.letsengage.com/talsearch/city";
4120     $(".auto-complete-city").autocomplete({
4121     source: availableTags,
4122     select: function (e, u) {
4123 
4124        
4125
4126         $('#location_tag').remove();
4127         $('.search_selection_box_talentlisting').append('<span id ="location_tag" class="selected-hero-pricing">'+u.item.value+'<i class="fa fa-times close_location" data-pri="1" aria-hidden="true"></i></span>'); 
4128
4129     }
4130});
4131});
4132
4133$("#mobile-tabletcate-subcat").on('change', function() {
4134  var selectedCategory = this.value;
4135  console.log(selectedCategory);
4136
4137  // Remove the previous hidden input field for the category
4138  $('#top_' + selectedCategory).remove();
4139
4140  // Append a new hidden input field for the selected category
4141  $('.search-box-ns').append('<input id="top_'+selectedCategory+'" class="cat_id_arr" type="hidden" name="cat_id[]" value="'+selectedCategory+'">');
4142
4143  // Filter the options in the sub-category dropdown
4144  var count = 0;
4145  $(".mobile-tabletsubcate option").each(function() {
4146    var parentId = $(this).data('parent-id');
4147    if (parentId == selectedCategory) {
4148      $(this).show();
4149      count++;
4150    } else {
4151      $(this).hide();
4152    }
4153  });
4154
4155  // Show the sub-category dropdown only if count is greater than 0
4156  if (count > 0) {
4157    $(".sub-cat-drop").show();
4158  } else {
4159    $(".sub-cat-drop").hide();
4160  }
4161
4162  // Reset the sub-category dropdown
4163  $(".mobile-tabletsubcate").val("Select Category");
4164});
4165
4166$(".mobile-tabletsubcate").on('change', function() {
4167  var selectedSubCategory = this.value;
4168
4169  // Remove the previous hidden input field for the sub-category
4170  $('#sub_' + selectedSubCategory).remove();
4171
4172  // Append a new hidden input field for the selected sub-category
4173  $('.search-box-ns').append('<input id="sub_'+selectedSubCategory+'" class="cat_id_arr" type="hidden" name="cat_id[]" value="'+selectedSubCategory+'">');
4174});
4175	</script>
4175
4176
4177<script>
4178
4179$(document).ready(function() {
4180    $(document).on('click', '.location-option-selected', function() {
4181        console.log('hii');
4182        localStorage.setItem('searchDropdownOption', 'location');
4183
4184        // Add hidden input only if it doesn't already exist
4185        if (!$("#home-search .hidden-field-for-location").length) {
4186            $("#home-search").append('<input type="hidden" class="hidden-field-for-location" name="searchdropdownoption" value="location">');
4187        }
4188    });
4189
4190    $(document).on('submit', '#home-search', function(event) {
4191		// alert('hii');
4192        event.preventDefault();
4193		var locationChecked = $('input[name="searchdropdownoption"][value="location"]:checked').length > 0;
4194        if (localStorage.getItem('searchDropdownOption') === 'location' && !$("#home-search .hidden-field-for-location").length) {
4195			// console.log(localStorage.getItem('searchDropdownOption'));
4196            $("#home-search").append('<input type="hidden" class="hidden-field-for-location" name="searchdropdownoption" value="location">');
4197        }
4198		else if(locationChecked){
4199			localStorage.setItem('searchDropdownOption', 'location');
4200			$("#home-search").append('<input type="hidden" class="hidden-field-for-location" name="searchdropdownoption" value="location">');
4201		}
4202		else{
4203			localStorage.setItem('advanced_search', 'advanced_Search');
4204		}
4205        event.target.submit();
4206    });
4207	
4208});
4209		
4210		
4211	</script>
4211 
4212</body>
4213
4214
4215
4216</html>

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.