PageSourceSearch

https://www.thoc.org.cy/js/main.js?rand=506394

js thoc.org.cy collected 2026-09-24 18:29:15 UTC 38,353 bytes, 1,174 lines download raw bytes

1var nowPic=0;
2var nextPic=0;
3var prevPic=0;
4var nowWidth=window.innerWidth;
5var calendarBreakPoint=600;
6var homeBannerBreakPoint=500;
7
8var homeBanners={};//engine.homeBanners;
9// var homeBanners=[
10// 	{'hall':'kotopouli',
11// 			'bigpic':'/images/banner1.jpg',
12// 			'smallpic':'/images/banner1_sm.jpg',
13// 			'h1':'ΔΩΔΕΚΑΤΗ ΝΥΧΤΑ',
14// 			'h2':'του Ουίλλιαμ Σαίξπηρ',
15// 			'h3':'ΚΤΗΡΙΟ ΤΣΙΛΛΕΡ - ΚΕΝΤΡΙΚΗ ΣΚΗΝΗ',
16// 			'graph':'/images/graphic_dod_nyxta.png',
17// 			'url':'#',
18// 			'tickets':'#'},
19// 	{'hall':'mainstage',
20// 			'bigpic':'/images/banner2.jpg',
21// 			'smallpic':'/images/banner2_sm.jpg',
22// 			'h1':'ΔΩΔΕΚΑΤΗ ΝΥΧΤΑ',
23// 			'h2':'του Ουίλλιαμ Σαίξπηρ',
24// 			'h3':'ΚΤΗΡΙΟ ΤΣΙΛΛΕΡ - ΚΕΝΤΡΙΚΗ ΣΚΗΝΗ',
25// 			'graph':'/images/graphic_dod_nyxta.png',
26// 			'url':'#',
27// 			'tickets':'#'},
28// 	{'hall':'children',
29// 			'bigpic':'/images/banner3.jpg',
30// 			'smallpic':'/images/banner3_sm.jpg',
31// 			'h1':'ΔΩΔΕΚΑΤΗ ΝΥΧΤΑ',
32// 			'h2':'του Ουίλλιαμ Σαίξπηρ',
33// 			'h3':'ΚΤΗΡΙΟ ΤΣΙΛΛΕΡ - ΚΕΝΤΡΙΚΗ ΣΚΗΝΗ',
34// 			'graph':'/images/graphic_dod_nyxta.png',
35// 			'url':'#',
36// 			'tickets':'#'},
37// 	{'hall':'experimental',
38// 			'bigpic':'/images/banner1.jpg',
39// 			'smallpic':'/images/banner1_sm.jpg',
40// 			'h1':'ΔΩΔΕΚΑΤΗ ΝΥΧΤΑ',
41// 			'h2':'του Ουίλλιαμ Σαίξπηρ',
42// 			'h3':'ΚΤΗΡΙΟ ΤΣΙΛΛΕΡ - ΚΕΝΤΡΙΚΗ ΣΚΗΝΗ',
43// 			'graph':'/images/graphic_dod_nyxta.png',
44// 			'url':'#',
45// 			'tickets':'#'}
46// ];
47
48function calcBacks(){
49	nextPic=nowPic+1;
50	prevPic=nowPic-1;
51	if(backs.length==nextPic+1){
52		nextPic=0;
53	}
54	if(prevPic<0){
55		prevPic=backs.length-1;
56	}
57}
58String.prototype.rtrim = function (s) {
59    if (s == undefined)
60        s = '\\s';
61    return this.replace(new RegExp("[" + s + "]*$"), '');
62};
63function checkScrolledStatus(){
64	if ($(document).scrollTop() > 100) {
65		$('body').addClass('scrolled');
66	} else {
67		$('body').removeClass('scrolled');
68	}
69	if ($(document).scrollTop() > 400) {
70	  $('#backtotop').fadeIn(200);
71	} else {
72	  $('#backtotop').fadeOut(200);
73	}
74}
75
76function buildPhotoGallery(media,all=0){
77	var cc=1;
78	var stripe="";
79	console.log(media);
80	for(var x in media){
81		var p=media[x];
82		console.log(p);
83		if(cc==1 && !all){
84			stripe+="<div class='page'>";
85			var picsize="b";
86		} else {
87			var picsize="m";
88		}
89		switch(p.type){
90			case 'img':
91				stripe+="<a href='"+p.link+"' "+(p.url=='fancy'?'data-fancybox="p1" rel="p1"':'target="_blank"')+">"
92					+"<img src='https://www.thoc.org.cy/pictures/"+picsize+"/"+picsize+"_"+p.src+"'></a>";
93			break;
94			case 'video':
95				stripe+="<a href='"+p.link+"' data-fancybox='p1' rel='p1' class='video'>"
96					+"<img src='"+p.src+"'></a>";
97			break;
98		}
99		cc++;
100		if(cc==4 && !all){
101			cc=1;
102			stripe+="</div>";
103		}
104	}
105	if(cc!=1 && !all){
106		stripe+="</div>";
107	}
108	return stripe;
109}
110
111$(function(){
112	homeBanners=engine.homeBanners;
113	checkScrolledStatus();
114
115	$('select#changeweek').on('change',function(event){
116		var thisVal=$(this).val();
117		if(thisVal){
118			// console.log(window.location.pathname.rtrim('/'));
119			// alert('1');
120			window.location=window.location.origin+window.location.pathname.rtrim('/')+'/?f='+thisVal;
121		}
122	});
123
124	// $('#rightmenu').on('change',function(event){
125	// 	event.preventDefault();
126	// 	if($('#rightmenu').prop('checked')){
127	// 		jajax("switchRightMenu",{'status':1}, function(result) {});
128	// 	} else {
129	// 		jajax("switchRightMenu",{'status':2}, function(result) {});
130	// 	}
131	// });
132	$(document).on('mouseover','input#mobilemenu:not(:checked) + div.headerwrap ul.mainmenu>li.nosub',function(event){
133		$('input.submenu').prop('checked',false);
134	});
135	$(document).on('mouseenter','input#mobilemenu:not(:checked) + div.headerwrap ul.mainmenu li.hassub.main',function(event){
136		var t=parseInt($(this).attr('data-id'));
137		$('input.submenu').prop('checked',false);
138		$('input#l'+t).prop('checked',true);
139	});
140	$(document).on('mouseleave','input#mobilemenu:not(:checked) + div.headerwrap ul.mainmenu',function(event){
141		var t=parseInt($(this).attr('data-id'));
142		$('input.submenu').prop('checked',false);
143	});
144	// $(document).on('focusin','div.headerwrap',function(event){
145	// 	console.log('focusin > li.hovermenus');
146	// 	// $('input.submenu').prop('checked',false);
147	// });
148
149
150	$(document).on('click','a.loadmedia',function(event){
151		event.preventDefault();
152		var t=$(this);
153		var artId=parseInt($(this).attr('data-id'));
154		var a=buildPhotoGallery(otherMedia[artId]['photogallery']);
155		var b=buildPhotoGallery(otherMedia[artId]['photogallery'],'all');
156		$('ul.media_nav li.sel').removeClass('sel');
157		$('#mediagalleryslick').slick('unslick').html(a).slick({
158				centerMode: true,
159				dots: true,
160				infinite: false,
161				speed: 300,
162				slidesToShow: 1.5,
163				slidesToScroll: 1,
164				appendDots: $(".slide-m-dots"),
165		      	prevArrow: $(".slide-m-prev"),
166		      	nextArrow: $(".slide-m-next"),
167		      	responsive: [
168					{
169					  breakpoint: 1200,
170					  settings: {
171					    slidesToShow: 1
172						}
173					},{
174					  breakpoint: 850,
175					  settings: "unslick"
176					}
177				]
178			});
179		$('#mobilegallery').html(b);
180		t.closest('li').addClass('sel');
181	});
182
183	$('a.mobilemenu').on('click',function(event){
184		event.preventDefault();
185		$('div#navigation').toggleClass('on');
186	});
187	$(document).on('click','div.navigation.on li.hassub>a',function(event){
188		event.preventDefault();
189		$(this).closest('li').toggleClass('on');
190	});
191	var nowActive=1;
192
193	$(document).on('click','span.copyurl',function(event){
194		preventDefault();
195		var thisText=$(this).html();
196		if($(this).attr('data-text')){
197			var tempText = $(this).attr('data-text').replace('#', thisText);
198			thisText=tempText;
199		}
200		console.log(thisText);
201		$('body').append("<textarea id='tocopy' style='display:none;'></textarea>");
202		$('textarea#'+tocopy).val(thisText).focusn();
203		document.execCommand("copy");
204		alert('Image copied');
205	});
206
207	// $(document).on('click','a.loadcalendar',function(event){
208	// 	event.preventDefault();
209	// 	var month=$(this).attr('data-month');
210	// 	var year=$(this).attr('data-year');
211	// 	//buildCalendar(year,month);
212	// })
213
214
215	// $('a.expand').click(function(event){
216	// 	event.preventDefault();
217	// 	var div=$(this).closest('div.expandable');
218	// 	if(div.hasClass('opened')){
219	// 		div.removeClass('opened').addClass('closed');
220	// 	} else {
221	// 		div.removeClass('closed').addClass('opened');
222	// 	}
223	// });
224
225
226	if($('.mediagallery').length>0){
227		$(".mediagallery").slick({
228			lazyLoad: "ondemand",
229			dots: false,
230			infinite: false,
231			speed: 300,
232			arrows: true,
233			slidesToShow: 4,
234			slidesToScroll: 1,
235			responsive: [
236				{
237				  breakpoint: 1000,
238				  settings: {
239				    slidesToShow: 3
240					}
241				}
242				,{
243				  breakpoint: 690,
244				  settings: {
245				    slidesToShow: 2
246					}
247				}
248			]
249		});
250	}
251	if($('.newslist').length>0){
252		$(".newslist").slick({
253			dots: true,
254			infinite: false,
255			speed: 300,
256			slidesToShow: 3,
257			slidesToScroll: 1,
258			appendDots: $(".slide-r-dots"),
259	      	prevArrow: $(".slide-r-prev"),
260	      	nextArrow: $(".slide-r-next"),
261			responsive: [
262				{
263				  breakpoint: 1200,
264				  settings: {
265				    slidesToShow: 2
266					}
267				}
268				,{
269				  breakpoint: 750,
270				  settings: {
271				    slidesToShow: 1
272					}
273				}
274			]
275		});
276	}
277	if($(".calendarSlick").length>0){
278		$(".calendarSlick").slick({
279				dots: false,
280				infinite: false,
281				speed: 300,
282				slidesToShow: 1,
283				slidesToScroll: 1
284				// '.($customPaging>0?",initialSlide:".$customPaging:"").'
285
286		});
287	}
288
289
290	$('#newsletterreg input').on('keyup',function(event) {
291		$('#newsletterreg_alert').slideUp(150,function(){
292			$('#newsletterreg_alert').removeClass('failed').html('');
293		});
294	});
295
296	$('form#newsletterreg').on('submit',function(event) {
297		event.preventDefault();
298		var gdpraccepted=1;
299		if(gdpr){
300			// console.log($('input#acceptgdpr').prop('checked'));
301			if($('input#acceptgdpr').prop('checked')==false){
302				$('#newsletterreg_alert').addClass('failed').html(langg.acceptgdpr);
303				gdpraccepted=0;
304			}
305		}
306		var email=$('input[name=newsletter]').val();
307		if(!validateEmail(email)){
308			$('#newsletterreg_alert').addClass('failed').html(langg.contactemail);
309
310		} else {
311			if(gdpraccepted){
312				jajax("registeremail",{'email':email}, function(result) {
313					if(result.status == 'error') {
314						$('#newsletterreg_alert').addClass('failed').html(langg.newsletterfailed).slideDown(150);
315						return ;
316					}
317					$('#newsletterreg_alert').removeClass('failed').html(langg.newsletterok).slideDown(150);
318				});
319			} else {
320				$('#newsletterreg_alert').addClass('failed').html(langg.acceptgdpr).show().slideDown(150);
321			}
322		}
323	});
324
325	// $(document).on('click','#backprev',function(event){
326	// 	event.preventDefault();
327	// 	var id=$(this).attr('data-id');
328	// 	nowPic--;
329	// 	if(nowPic<0){
330	// 		nowPic=backs.length-1;
331	// 	}
332	// 	loadBack();
333	// });
334	// $(document).on('click','#backnext',function(event){
335	// 	event.preventDefault();
336	// 	var id=$(this).attr('data-id');
337	// 	nowPic++;
338	// 	if(nextPic>=backs.length){
339	// 		nowPic=0;
340	// 	}
341	// 	loadBack();
342	// });
343
344	$(document).on('click','a.closefancy',function(event){
345		event.preventDefault();
346		$.fancybox.close();
347	});
348	$("#backtotop").hide();
349	$(window).scroll(function (event) {
350			event.stopPropagation();
351		checkScrolledStatus();
352		if(home){
353		}
354	});
355
356	$('a.to_theatredevelopment').on('click',function(event){
357		event.preventDefault();
358		var scrollTo=document.getElementById("hometheatredevelopment").offsetTop-100;
359		console.log(scrollTo);
360		$('html,body').animate({scrollTop:scrollTo}, 500);
361
362	});
363
364	$('a#linktocalendar').on('click',function(event){
365		event.preventDefault();
366		var scrollTo=document.getElementById("calendartitle").offsetTop;
367		$('html,body').animate({scrollTop:scrollTo}, 500);
368
369	});
370	$(document).on('click',"a#backtotop",function(event){
371		event.preventDefault();
372		$('html,body').animate({scrollTop:0}, 500);
373	});
374
375	$('a.print').click(function(event){
376		event.preventDefault();
377		window.print();
378	});
379
380	$('a.person.nolink').click(function(event){
381		event.preventDefault();
382		window.print();
383	});
384
385
386	$(document).on('click','a.back',function(event){
387		event.preventDefault();
388		history.go(-1);
389	});
390
391	$('a.fancy').fancybox( {
392        beforeLoad: function() {
393            var elem = $(this.element).data('fancytitle');
394            if (elem) {
395				this.title = elem;
396            }
397        },
398		// title:($(this).attr('data-fancytitle')?$(this).attr('data-fancytitle'):$(this).attr('title')),
399		helpers: {
400		    overlay: {
401		      locked: false
402		    }
403		  }
404		});
405	$("a.video,a.youtube").fancybox({maxWidth:800,maxHeight:600,fitToView:false,
406		width:'70%',height:'70%',autoSize:false,closeClick:false,
407		type: 'iframe',
408		openEffect:'none',closeEffect:'',helpers: {overlay: {locked: false}}});
409
410	// $(".video").fancybox({
411	// 	maxWidth	: 800,
412	// 	maxHeight	: 600,
413	// 	fitToView	: false,
414	// 	width		: '70%',
415	// 	height		: '70%',
416	// 	autoSize	: false,
417	// 	closeClick	: false,
418	// 	type: 'iframe',
419	// 	openEffect	: 'none',
420	// 	closeEffect	: 'none'
421	// });
422
423	$(document).on('keydown', function(e) {
424		if(e.which == 116 && e.altKey) { // Alt+F5 - reload css styles
425			console.log('reloading CSS styles');
426			reloadCSS();
427		}
428	});
429
430	$(document).on('keypress','input',function (e) {
431		if (e.which == 13) {
432			if($(this).hasClass('lookup')){
433				e.preventDefault();
434			} else {
435			    $(this).closest('form').submit();
436		  	}
437		}
438	});
439
440
441	$('form#contact').on('submit',function(event){
442		event.preventDefault();
443		var errors=[];
444		var name=$('input#name').val();
445		var lastname=$('input#lastname').val();
446		var email=$('input#email').val();
447		var phone=$('input#phone').val();
448		var message=$('textarea#message').val();
449		var ip=$('input#userip').val();
450
451		if(!name){
452			errors.push(langg.contactname);
453		}
454		if(!lastname){
455			errors.push(langg.contactlastname);
456		}
457		if(!validateEmail(email)){
458			errors.push(langg.contactemail);
459		}
460		if(!message){
461			errors.push(langg.contactmessage);
462		}
463		console.log($('form#contact'));
464		if(errors.length>0){
465			showErrors(errors,$('input#submit'));
466		} else {
467
468			grecaptcha.ready(function() {
469				grecaptcha.execute(recaptchakey, {action: 'contactForm'}).then(function(token) {
470					jajax("contact",{'email':email,'message':message,'name':name,'ip':ip,'phone':phone,'lastname':lastname,'token':token}, function(result) {
471						if(result.status == 'error') {
472							errors.push(result.error);
473							showErrors(errors,$('input#submit'));
474						} else {
475							if(result.sent){
476								$('#formalert').remove();
477								$('form#contact').slideUp(300,function(){
478									$('form#contact').html('<p class="delivered">'+langg.contactdelivered+'</p>');
479									$('form#contact').slideDown();
480								});
481							} else {
482								$('#formalert').remove();
483								errors.push(result.errors);
484								showErrors(errors,$('input#registersubmit'));
485							}
486						}
487					});
488				});
489	        });
490
491		}
492
493	});
494
495});
496
497function reloadCSS() {
498	$("link").each(function() {
499		var link = $(this);
500		var type = link.attr('type');
501		if(type && type.indexOf("css") > -1) {
502			var href = link.attr("href");
503			if(!href) return ; // continue;
504			if(href.indexOf('google') > -1) return ; // continue;
505			var i = href.indexOf('?');
506			if(i >= 0) href = href.substr(0, i);
507			link.attr("href", href + "?id=" + Math.random);
508		}
509	});
510}
511
512function validateEmail(mail){
513 if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail)){
514    return (true)
515  } return (false)
516}
517$(function() {
518	// console.log(calYear,calMonth,calDay);
519	// buildCalendar(calYear,calMonth,calDay);
520});
521$(function(){
522	// $(window).on('resize',function(){
523	// 	var tW=window.innerWidth;
524
525	// 	if(tW<calendarBreakPoint){
526	// 		if(nowWidth>calendarBreakPoint) {
527	// 			buildCalendar();
528	// 		}
529	// 	} else {
530	// 		if(nowWidth<calendarBreakPoint) {
531	// 			buildCalendar();
532	// 		}
533	// 	}
534	// 	if(tW<homeBannerBreakPoint){
535	// 		// console.log(tW+'<'+homeBannerBreakPoint+' nowWidth='+nowWidth);
536	// 		if(nowWidth>homeBannerBreakPoint) {
537	// 			// console.log('unslick');
538	// 			if (typeof hasPicsStripe !== 'undefined') {
539	// 				$('.home .mainbannerWrap').slick('unslick');
540	// 			}
541	// 			if(home){
542	// 				buildHomeBanner();
543	// 			} else {
544	// 				buildInBanner()
545	// 			}
546	// 		}
547	// 	} else {
548	// 		// console.log(tW+'>'+homeBannerBreakPoint+' nowWidth='+nowWidth);
549	// 		if(nowWidth<homeBannerBreakPoint) {
550	// 			// console.log('unslick');
551	// 			if (typeof hasPicsStripe !== 'undefined') {
552	// 				$('.home .mainbannerWrap').slick('unslick');
553	// 			}
554	// 			if(home){
555	// 				buildHomeBanner();
556	// 			} else {
557	// 				buildInBanner()
558	// 			}
559	// 		}
560	// 	}
561	// 	nowWidth=tW;
562	// });
563
564	// $(document).on('click','ul.calendar a.nav',function(event){
565	// 	event.preventDefault();
566	// 	if($(this).hasClass('disabled')){
567
568	// 	} else {
569	// 		var toMonth=$(this).attr('data-tomonth');
570	// 		var toYear=$(this).attr('data-toyear');
571	// 		var toDay=$(this).attr('data-today');
572	// 		$('div#calendarwrap').animate({'opacity':0.2},200,function(){
573	// 			buildCalendar(parseInt(toYear),parseInt(toMonth),parseInt(toDay));
574	// 			$('div#calendarwrap').animate({'opacity':1},100);
575	// 		});
576	// 	}
577	// });
578
579});
580
581// function buildInBanner(){
582// 	// if($('body').hasClass('hasbanner')){
583// 		var bDiv=$('#mainbannerWrap>div.mainbanner ');
584// 		var mobilePic=bDiv.attr('data-mobile');
585// 		var desktopPic=bDiv.attr('data-desktop');
586// 		if(mobilePic && desktopPic){
587// 			var tW=window.innerWidth;
588// 			if(tW<homeBannerBreakPoint){
589// 				bDiv.css('background-image','url('+mobilePic+')');
590// 				$('#plhdrw').html("<img src='/images/bannerplaceholder_mob.png'>");
591// 			} else {
592// 				bDiv.css('background-image','url('+desktopPic+')');
593// 				$('#plhdrw').html("<img src='/images/bannerplaceholder.png'>");
594// 			}
595// 		} else {
596
597// 		}
598// 	// }
599// }
600
601// function buildHomeBanner(){
602// 	var thisHtml='';
603// 	var tW=window.innerWidth;
604// 	var isFirst=1;
605// 	homeBanners=engine.homeBanners[lang];
606// 	if(homeBanners.length){
607// 		for(var x in homeBanners){
608// 			var thisB=homeBanners[x];
609// 			if(thisB.emstpic && thisB.emstpic.length>1){
610// 				// if(newbanner && newbanner==1){
611// 					// /pictures/m/m_"+thisB.emstpic[0]+"_"+thisB.emstpic[1]+"."+thisB.emstpic[2]
612// 					thisHtml+=""
613// 					+"	<div class='mainbanner c2019 "+(thisB.hall?thisB.hall:"general")+"' style='"
614// 					+" 					background-image:url(/pictures/m/m_"+thisB.emstpic[0]+"_"+thisB.emstpic[1]+"."+thisB.emstpic[2]+");"
615// 					+" 					'>"
616// 					+"		<div class='bannerinside'>"
617// 					+(tW<homeBannerBreakPoint?
618// 							"<div class='wrapperIn'><img src='"+path+"images/bannerplaceholder_small.png' class='plhldrsmall'>"
619// 							:"<div class='wrapperIn'><img src='"+path+"images/bannerplaceholder.png' class='plhldr'>")
620// 					+"			<div class='bannerdata "+(thisB.hall?thisB.hall:"general")+"'>"
621// 					+"				<article>"
622// 					+"					<header>"
623// 					+"						<a href='"+(thisB.url?thisB.url:"#")+"'>"+(thisB.h1?"<h1 class='colorblack'>"+thisB.h1+"</h1>":"")+"</a>"
624// 					+"						"+(thisB.h2?"<h2 class='colorblack'>"+thisB.h2+"</h2>":"")
625// 					+"						"+(thisB.h3?"<h4 class='color'>"+thisB.h3+"</h4>":"")
626// 					+"					</header>"
627// 					+"					<div class='data'>"
628// 					+"						"+(thisB.url?"<a href='"+thisB.url+"' class='color morebulletsinline'>"+langg.more+"</a>":"")
629// 					// +"						"+(thisB.tickets?"<a href='"+thisB.tickets+"' class='tickets'>"+langg.buytickets+"</a>":"")
630// 					+"						<div class='clear'></div>"
631// 					+"					</div>"
632// 					+"					<div class='clear'></div>"
633// 					+"				</article>"
634// 					+"			</div>"
635// 					+"		</div></div>"
636// 					+"	</div>";
637// 				// }
638// 			} else {
639// 					var supertitlesString='';
640// 					if(thisB.supertitles){
641// 						supertitlesString=langg['supertitles'];
642// 						for(var x in thisB.supertitles){
643// 							supertitlesString+=' '+langg['titles_'+thisB.supertitles[x]]+',';
644// 						}
645// 						supertitlesString=supertitlesString.slice(0, -1)+'.';
646// 						if(supertitlesString){
647// 							supertitlesString="<a href='"+thisB.url+"' class='hassupertitles'>"+supertitlesString+"</span></a>";
648// 						}
649// 					}
650
651// 						if(tW<homeBannerBreakPoint){
652// 							thisHtml+=""
653// 								+"	<div class='mainbanner "+(thisB.hall?thisB.hall:"general")+"' style='background-image:url("+thisB.smallpic+");"
654// 								+"				background-size:cover;'>"
655// 								+"		<div class='bannerinside'><div class='wrapperIn'>"
656// 								+"<img src='"+path+"images/bannerplaceholder_small.png' class='plhldrsmall'>"
657// 								+"";
658// 						} else {
659// 							thisHtml+=""
660// 								+"	<div class='mainbanner "+(thisB.hall?thisB.hall:"general")+"' style='background-image:url("+thisB.bigpic+");"
661// 								+"				background-size:auto 100%;'>"
662// 								+"		<div class='bannerinside'><div class='wrapperIn'><img src='"+path+"images/bannerplaceholder.png' class='plhldr'>"
663// 								+"";
664// 						}
665// 						thisB.sceneid=parseInt(thisB.sceneid);
666// 						thisHtml+=""
667// 							+"			<div class='bannerdata "+(thisB.hall?thisB.hall:"general")+" "+(supertitlesString?'hastitles':"")+"'>"
668// 							+"				<article>"
669// 							+"					<header>"
670// 							+"						<a href='"+(thisB.url?thisB.url:"#")+"'>"+(thisB.h1?"<h1 class='_color'>"+thisB.h1+"</h1>":"")
671// 							+"						"+(thisB.h2?"<h2 class='_color'>"+thisB.h2+"</h2>":"")
672// 							+"						"+(thisB.h3||thisB.sceneid==40?"<h4>"+(thisB.sceneid?engine.scenes[thisB.sceneid][lang].title+' - ':'')+thisB.h3+"</h4>":"")
673// 							+"						"+(thisB.graph?"<img src='"+thisB.graph+"' class='graph'>":"")+"</a>"
674// 							+"					</header>"
675// 							+"					<div class='data'>"
676// 							+"				"+(supertitlesString?supertitlesString:
677// 												(thisB.url?"<a href='"+thisB.url+"' class='morebulletsinline'>"+langg.more+"</a>":""))
678// 							+"						<div class='clear'></div>"
679// 							+"					</div>"
680// 							+"					<div class='clear'></div>"
681// 							+"				</article>"
682// 							+"			</div>"
683// 							+"		</div></div>"
684// 							+"	</div>";
685// 			}
686// 			isFirst=0;
687// 		}
688// 		$('.home .mainbannerWrap.slick-slider').slick('unslick');
689// 		$('ul.slick-dots').remove();
690// 		$('#mainbannerWrap').html(thisHtml);
691
692// 		$('.mainbannerWrap').slick({
693// 			'dots':true,
694// 			  // autoplay:true,
695// 			  autoplaySpeed:3000,
696// 			'arrows':false
697// 		});
698// 		$('div.mainbanner').css('display','block');
699
700// 	}
701// }
702
703function buildCalendar(year,month,day){
704	var pageWidth=window.innerWidth;
705	var thisClass='';
706	var d=new Date();
707	var todayDate=new Date();
708	todayDate.setHours(0);
709	todayDate.setMinutes(1);
710	var todayStr=todayDate.getFullYear()+'-'+strPadLeftChars(parseInt(todayDate.getMonth())+1,'0',2)+'-'+strPadLeftChars(todayDate.getDate(),'0',2);
711	if(day==undefined && year!=undefined && month!=undefined){
712		day=1;
713	} else {
714		day=day?day:d.getDate();
715	}
716	month=month===undefined?d.getMonth():month;
717	year=year?year:d.getFullYear();
718	var givenDate=new Date(year,month,day);
719	var daysInMonth=calcDaysInMonth(givenDate);
720	if(pageWidth>calendarBreakPoint){
721		// nowWidth=calendarBreakPoint+1;
722		var nowDay=new Date(year,month,1).getDay();
723		if(nowDay==0){
724			nowDay=7;
725		}
726		var disabledPrev='';
727		if(todayDate.getFullYear()+'-'+todayDate.getMonth()==year+'-'+month){
728			disabledPrev='disabled';
729		}
730		var nextMonth=new Date(year,parseInt(month)+1,1);
731		if(month==0){
732			var prevMonth=new Date(year-1,12,0);
733		} else {
734			var prevMonth=new Date(year,month,0);
735		}
736		var allDays="<li class='nav'><a href='#' class='prev nav month prevmonth "+disabledPrev+"' data-tomonth='"+prevMonth.getMonth()+"' data-today='1' data-toyear='"+prevMonth.getFullYear()+"'>-</a></li>";
737		for(var x=1;x<=daysInMonth;x++){
738			var thisDateStr=year+'-'+strPadLeftChars((month+1),'0',2)+'-'+strPadLeftChars(x,'0',2);
739			var has='hasnot';
740			var calDay=new Date(thisDateStr);
741			var thisLink="<li class='hasnot "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"'>"
742				+"<span class='day' data-thisDay='"+thisDateStr+"'>"
743				+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
744				+"	<span class='date'>"+x+"</span>"
745				+"</span></li>";
746			if(calDay>=todayDate){
747				if(engine.shows && engine.shows[thisDateStr]){
748					has='has';
749					var thisSurtitles='';
750					if(engine.showsSupertitles && engine.showsSupertitles[thisDateStr]){
751						for(var g in engine.showsSupertitles[thisDateStr]){
752							thisSurtitles+="<img src='/images/flag_"+engine.showsSupertitles[thisDateStr][g]+".png'"
753							+" title='with "+engine.languages[g]+" surtitles'>";
754						}
755					}
756					var thisLink="<li class='"+has+" "+(x<11?"righthover":(x>20?"lefthover":""))+" "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"' data-thisDay='"+thisDateStr+"' id='d"+thisDateStr+"'>"
757						+"<a href='#' class='day' data-thisDay='"+thisDateStr+"'>"
758						+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
759						+"	<span class='date'>"+x+"</span>"
760						+(thisSurtitles?"<span class='surtitles'>"+thisSurtitles+"</span>":"")
761						+"</a></li>";
762				}
763			}
764			allDays+=thisLink;
765			nowDay++;
766			if(nowDay>7){
767				nowDay=1;
768			}
769		}
770		allDays+="<li class='nav'><a href='#' class='next nav month nextmonth' data-tomonth='"+nextMonth.getMonth()+"' data-today='1' data-toyear='"+nextMonth.getFullYear()+"'>-</a></li>";
771		$('#calendar').html(allDays);
772		// $('#calendartitle span').html(engine.monthNames[lang][month]+' / '+year);
773		$('#calendartitle').html('<span>'+engine.monthNames[lang][month]+'</span> '+langg.innt);
774	} else {
775		// nowWidth=calendarBreakPoint-1;
776		var startDate=new Date(year,month,day);
777		var isFirstDay=startDate.getDay();
778		var firstDay=new Date(startDate.getTime());
779		if(isFirstDay==1){
780		} else {
781			isFirstDay=isFirstDay==0?7:isFirstDay;
782			firstDay.setDate(firstDay.getDate()-(isFirstDay-1));
783		}
784		var prevWeek=new Date(firstDay.getTime());
785		prevWeek.setDate(prevWeek.getDate()-7);
786		var nextWeek=new Date(firstDay.getTime());
787		nextWeek.setDate(nextWeek.getDate()+7);
788		var thisDate=new Date(firstDay.getTime());
789		var today=new Date();
790		var prevWeekFromNow=new Date();
791		prevWeekFromNow.setDate(prevWeekFromNow.getDate()-7);
792		var disabledPrev='';
793		if(prevWeek<=prevWeekFromNow){
794			disabledPrev='disabled';
795		}
796		var allDays="<li class='nav'><a href='#' class='prev nav month prevweek "+disabledPrev+"' data-tomonth='"+prevWeek.getMonth()+"' data-today='"+prevWeek.getDate()+"' data-toyear='"+prevWeek.getFullYear()+"'>-</a></li>";
797		var thisMonth=engine.monthNames[lang][thisDate.getMonth()];
798
799		for(var x=0;x<=6;x++){
800			if(x>0){
801				thisDate.setDate(thisDate.getDate()+1);
802			}
803			var has='hasnot';
804			var thisDateStr=thisDate.getFullYear()+'-'+thisDate.getMonth()+'-'+thisDate.getDate();
805
806			var nowDay=x;
807
808
809			var thisDateStr=year+'-'+strPadLeftChars(thisDate.getMonth()+1,'0',2)+'-'+strPadLeftChars(thisDate.getDate(),'0',2);
810			var calDay=new Date(thisDateStr);
811			var thisLink="<li class='hasnot "+(x==6?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"'>"
812				+"<span class='day' data-thisDay='"+thisDateStr+"'>"
813				+"	<span class='day'>"+engine.days.short[lang][(x+1)]+"</span>"
814				+"	<span class='date'>"+thisDate.getDate()+"</span>"
815				+"</span></li>";
816			if(calDay>=todayDate){
817				if(engine.shows && engine.shows[thisDateStr]){
818					has='has';
819					var thisLink="<li class='"+has+" "+(x<3?"righthover":(x>5?"lefthover":""))+" "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"' data-thisDay='"+thisDateStr+"' id='d"+thisDateStr+"'>"
820						+"<a href='#' class='day' data-thisDay='"+thisDateStr+"'>"
821						+"	<span class='day'>"+engine.days.short[lang][(x+1)]+"</span>"
822						+"	<span class='date'>"+thisDate.getDate()+"</span>"
823						+"</a></li>";
824				}
825			}
826			allDays+=thisLink;
827			// nowDay++;
828			// if(nowDay>7){
829				// nowDay=1;
830			// }
831
832
833
834
835
836
837
838
839
840
841			// if(engine.events && engine.events.perdate && engine.events.perdate[thisDateStr]){
842			// 	has='has';
843			// }
844			// allDays+="<li class='"+(x==6?"sunday":"")+""+(today==thisDateStr?"today":"")+"''>"
845					// +"<a href='#' class='day "+has+"' data-thisDay='"+thisDateStr+"'>"
846					// +"<span class='day'>"+engine.days.short[lang][(x+1)]+"</span>"
847					// +"<span class='date'>"+thisDate.getDate()+"</span></a></li>";
848		}
849		allDays+="<li class='nav'><a href='#' class='next nav month nextweek' data-tomonth='"+nextWeek.getMonth()+"' data-today='"+nextWeek.getDate()+"' data-toyear='"+nextWeek.getFullYear()+"'>-</a></li>";
850
851		$('#calendar').html(allDays);
852		$('#calendartitle').html('<span>'+thisMonth+'</span> '+langg.innt);
853
854
855	}
856}
857
858
859function buildEventCalendar(fromD,toD){
860	// console.log(fromD);
861	// console.log(toD);
862	// console.log(eventDates);
863
864	// var daysInMonth=calcDaysInMonth(fromD);
865	// if(pageWidth>calendarBreakPoint){
866	// 	// nowWidth=calendarBreakPoint+1;
867
868	// 	for(var x=1;x<=daysInMonth;x++){
869	// 		var thisDateStr=year+'-'+strPadLeftChars((month+1),'0',2)+'-'+strPadLeftChars(x,'0',2);
870	// 		var has='hasnot';
871	// 		var calDay=new Date(thisDateStr);
872	// 		var thisLink="<li class='hasnot "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"'>"
873	// 			+"<span class='day' data-thisDay='"+thisDateStr+"'>"
874	// 			+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
875	// 			+"	<span class='date'>"+x+"</span>"
876	// 			+"</span></li>";
877	// 		if(calDay>=todayDate){
878	// 			if(engine.shows && engine.shows[thisDateStr]){
879	// 				has='has';
880	// 				var thisLink="<li class='"+has+" "+(x<11?"righthover":(x>20?"lefthover":""))+" "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"' data-thisDay='"+thisDateStr+"' id='d"+thisDateStr+"'>"
881	// 					+"<a href='#' class='day' data-thisDay='"+thisDateStr+"'>"
882	// 					+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
883	// 					+"	<span class='date'>"+x+"</span>"
884	// 					+"</a></li>";
885	// 			}
886	// 		}
887	// 		allDays+=thisLink;
888	// 		nowDay++;
889	// 		if(nowDay>7){
890	// 			nowDay=1;
891	// 		}
892	// 	}
893	// 	$('#calendar').html(allDays);
894
895
896	// var pageWidth=window.innerWidth;
897	// var thisClass='';
898	// var d=new Date();
899	// var todayDate=new Date();
900	// todayDate.setHours(0);
901	// todayDate.setMinutes(1);
902	// var todayStr=todayDate.getFullYear()+'-'+strPadLeftChars(parseInt(todayDate.getMonth())+1,'0',2)+'-'+strPadLeftChars(todayDate.getDate(),'0',2);
903	// var year=todayDate.getFullYear();
904	// var month=todayDate.getMonth();
905	// if(day==undefined && year!=undefined && month!=undefined){
906	// 	day=1;
907	// } else {
908	// 	day=day?day:d.getDate();
909	// }
910	// month=month===undefined?d.getMonth():month;
911	// year=year?year:d.getFullYear();
912
913	// if(pageWidth>calendarBreakPoint){
914	// 	// nowWidth=calendarBreakPoint+1;
915	// 	var nowDay=new Date(year,month,1).getDay();
916	// 	if(nowDay==0){
917	// 		nowDay=7;
918	// 	}
919	// 	var disabledPrev='';
920	// 	if(todayDate.getFullYear()+'-'+todayDate.getMonth()==year+'-'+month){
921	// 		disabledPrev='disabled';
922	// 	}
923	// 	var nextMonth=new Date(year,parseInt(month)+1,1);
924	// 	if(month==0){
925	// 		var prevMonth=new Date(year-1,12,0);
926	// 	} else {
927	// 		var prevMonth=new Date(year,month,0);
928	// 	}
929	// 	var allDays="<li class='nav'><a href='#' class='prev nav month prevmonth "+disabledPrev+"' data-tomonth='"+prevMonth.getMonth()+"' data-today='1' data-toyear='"+prevMonth.getFullYear()+"'>-</a></li>";
930	// 	for(var x=1;x<=daysInMonth;x++){
931	// 		var thisDateStr=year+'-'+strPadLeftChars((month+1),'0',2)+'-'+strPadLeftChars(x,'0',2);
932	// 		var has='hasnot';
933	// 		var calDay=new Date(thisDateStr);
934	// 		var thisLink="<li class='hasnot "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"'>"
935	// 			+"<span class='day' data-thisDay='"+thisDateStr+"'>"
936	// 			+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
937	// 			+"	<span class='date'>"+x+"</span>"
938	// 			+"</span></li>";
939	// 		if(calDay>=todayDate){
940	// 			if(engine.shows && engine.shows[thisDateStr]){
941	// 				has='has';
942	// 				var thisLink="<li class='"+has+" "+(x<11?"righthover":(x>20?"lefthover":""))+" "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"' data-thisDay='"+thisDateStr+"' id='d"+thisDateStr+"'>"
943	// 					+"<a href='#' class='day' data-thisDay='"+thisDateStr+"'>"
944	// 					+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
945	// 					+"	<span class='date'>"+x+"</span>"
946	// 					+"</a></li>";
947	// 			}
948	// 		}
949	// 		allDays+=thisLink;
950	// 		nowDay++;
951	// 		if(nowDay>7){
952	// 			nowDay=1;
953	// 		}
954	// 	}
955	// 	allDays+="<li class='nav'><a href='#' class='next nav month nextmonth' data-tomonth='"+nextMonth.getMonth()+"' data-today='1' data-toyear='"+nextMonth.getFullYear()+"'>-</a></li>";
956	// 	$('#calendar').html(allDays);
957	// 	// $('#calendartitle span').html(engine.monthNames[lang][month]+' / '+year);
958	// 	$('#calendartitle').html('<span>'+engine.monthNames[lang][month]+'</span> στο Εθνικό');
959	// } else {
960	// 	// nowWidth=calendarBreakPoint-1;
961	// 	var startDate=new Date(year,month,day);
962	// 	var isFirstDay=startDate.getDay();
963	// 	var firstDay=new Date(startDate.getTime());
964	// 	if(isFirstDay==1){
965	// 	} else {
966	// 		isFirstDay=isFirstDay==0?7:isFirstDay;
967	// 		firstDay.setDate(firstDay.getDate()-(isFirstDay-1));
968	// 	}
969	// 	var prevWeek=new Date(firstDay.getTime());
970	// 	prevWeek.setDate(prevWeek.getDate()-7);
971	// 	var nextWeek=new Date(firstDay.getTime());
972	// 	nextWeek.setDate(nextWeek.getDate()+7);
973	// 	var thisDate=new Date(firstDay.getTime());
974	// 	var today=new Date();
975	// 	var prevWeekFromNow=new Date();
976	// 	prevWeekFromNow.setDate(prevWeekFromNow.getDate()-7);
977	// 	var disabledPrev='';
978	// 	if(prevWeek<=prevWeekFromNow){
979	// 		disabledPrev='disabled';
980	// 	}
981	// 	var allDays="<li class='nav'><a href='#' class='prev nav month prevweek "+disabledPrev+"' data-tomonth='"+prevWeek.getMonth()+"' data-today='"+prevWeek.getDate()+"' data-toyear='"+prevWeek.getFullYear()+"'>-</a></li>";
982	// 	var thisMonth=engine.monthNames[lang][thisDate.getMonth()];
983
984	// 	for(var x=0;x<=6;x++){
985	// 		if(x>0){
986	// 			thisDate.setDate(thisDate.getDate()+1);
987	// 		}
988	// 		var has='hasnot';
989	// 		var thisDateStr=thisDate.getFullYear()+'-'+thisDate.getMonth()+'-'+thisDate.getDate();
990	// 		if(engine.events && engine.events.perdate && engine.events.perdate[thisDateStr]){
991	// 			has='has';
992	// 		}
993	// 		allDays+="<li class='"+(x==6?"sunday":"")+""+(today==thisDateStr?"today":"")+"''><a href='#' class='day "+has+"' data-thisDay='"+thisDateStr+"'><span class='day'>"+engine.days.short[lang][(x+1)]+"</span><span class='date'>"+thisDate.getDate()+"</span></a></li>";
994	// 	}
995	// 	allDays+="<li class='nav'><a href='#' class='next nav month nextweek' data-tomonth='"+nextWeek.getMonth()+"' data-today='"+nextWeek.getDate()+"' data-toyear='"+nextWeek.getFullYear()+"'>-</a></li>";
996
997	// 	$('#calendar').html(allDays);
998	// 	$('#calendartitle').html('<span>'+thisMonth+'</span>στο Εθνικό');
999
1000
1001	// }
1002}
1003
1004
1005
1006
1007
1008
1009function strPadLeftChars(string,char,number){
1010	var returnString=string.toString();
1011	var length=returnString.length;
1012	var neededChars=number-length;
1013	if(neededChars){
1014		for(var x=1;x<=neededChars;x++){
1015			returnString=char+returnString;
1016		}
1017	}
1018	return returnString;
1019}
1020
1021$(function(){
1022// $(document).on('click','section.searchform',function(event){
1023// 	$('section.searchform input').focus();
1024// });
1025	$(document).on('click','a.closecalendartag',function(event){
1026		event.preventDefault();
1027
1028		$('.calendarover').remove();
1029	});
1030	$(document).on('click','li.hasnot>a',function(event){
1031		event.preventDefault();
1032	});
1033	$(document).on('click','li.has>a',function(event){
1034		event.preventDefault();
1035		var thisDate=$(this).attr('data-thisDay');
1036		var thisLi=$(this).closest('li');
1037		var thisId=$(this).attr('id');
1038		$('.calendarover').remove();
1039		if(engine.shows[thisDate]){
1040			var thisHtml="<ul>";
1041			var workshops={};
1042			var hasworkshops=0;
1043			for(var eventid in engine.events){
1044				// console.log(engine.events[eventid]);
1045				if(engine.events[eventid].shows && engine.events[eventid].shows[thisDate] && engine.events[eventid][lang]){
1046					var event=engine.events[eventid];
1047					var hallClass='neutral';
1048					var hallTitle=event[lang].subtitle;
1049					if(event.hallid){
1050						hallClass=engine.halls[event.hallid].class;
1051						hallTitle=engine.halls[event.hallid][lang].title;
1052					}
1053					if(event.teamid==104){
1054						workshops[event.hallid]=workshops[event.hallid]?workshops[event.hallid]:"";
1055						hasworkshops++;
1056						workshops[event.hallid]+=""
1057							+"<a href='"+eventLink(eventid)+"' class='plain'><h3>"+event[lang].title+""
1058							var thesetimes="";
1059						for(var y in engine.events[eventid].shows[thisDate]){
1060							var thisShow=engine.events[eventid].shows[thisDate][y];
1061							thesetimes+=thisShow.time+",";
1062						}
1063						thesetimes.rtrim(',');
1064						workshops[event.hallid]+="<span class='times'>"+thesetimes+"</span></h3></a>";
1065					} else {
1066						thisHtml+="<li class='"+(event.eventtypeid==2?hallClass:"")+" clearfix'>"
1067							+"<a href='"+eventLink(eventid)+"'><h3 class='color'>"+event[lang].title+"</h3></a>"
1068							+"<h4>"+hallTitle+"</h4>";
1069						for(var y in engine.events[eventid].shows[thisDate]){
1070							var thisShow=engine.events[eventid].shows[thisDate][y];
1071							var thisSurtitles='';
1072							if(thisShow.supertitles){
1073								for(var g in thisShow.supertitles){
1074									thisSurtitles+="<img src='/images/flag_"+thisShow.supertitles[g]+".png'"
1075									+" title='with "+engine.languages[thisShow.supertitles[g]]+" surtitles'>";
1076								}
1077							}
1078							if(thisShow.showid){
1079								switch(thisShow.availability){
1080									case 1:thisHtml+="<a target='_blank' title='"+langg.buytickets+"' href='"+buyTicketsLink(event.api_eventid,thisShow.showid)+"' class='ticketlink time has'>"+thisShow.time+thisSurtitles+"</a>"; break;
1081									case 2:thisHtml+="<a target='_blank' title='"+langg.buytickets+"' href='"+buyTicketsLink(event.api_eventid,thisShow.showid)+"' class='ticketlink time lowavailability'>"+thisShow.time+thisSurtitles+"</a>"; break;
1082									case 0:thisHtml+="<a target='_blank' title='"+langg.soldout+"' class='ticketlink time soldout'>"+thisShow.time+thisSurtitles+"</a>"; break;
1083									// case 0:thisHtml+="<span class='time noavailability'>"+thisShow.time+" <span>SOLD OUT</span></a>"; break;
1084								}
1085							} else {
1086								thisHtml+="<span class='time'>"+thisShow.time+thisSurtitles+"</span>";
1087							}
1088						}
1089						thisHtml+="</li>";
1090					}
1091				}
1092			}
1093			if(hasworkshops>0){
1094				for(var x in workshops){
1095					thisHtml+="<li class='"+engine.halls[x].class+" clearfix'>"
1096					+"<span class='color'>"+engine.halls[x][lang].title+"</span>"
1097							+workshops[x]+"</li>";
1098				}
1099			}
1100			thisHtml+="</ul>";
1101			if(thisHtml){
1102				thisLi.append("<div class='calendarover'><a href='#' class='closecalendartag'>exit</a>"+thisHtml+"</div>");
1103			}
1104		}
1105	});
1106});
1107
1108
1109
1110function buyTicketsLink(eventid,showid){
1111	if(showid && eventid){
1112		return "http://www.ticketservices.gr/"+lang+"/events/?eventid="+eventid+"&showid="+showid;
1113
1114	} else {
1115		if(eventid){
1116			return "http://www.ticketservices.gr/"+lang+"/events/?eventid="+eventid+"&showid="+showid;
1117		}
1118	}
1119}
1120
1121function calcDaysInMonth(anyDateInMonth) {
1122    return new Date(anyDateInMonth.getYear(),
1123                    anyDateInMonth.getMonth()+1,
1124                    0).getDate();
1125}
1126
1127
1128function eventLink(id){
1129	// console.log(engine.events[id]);
1130	if(engine.events[id]){
1131		return path+lang+"/"+eventTypesDir[engine.events[id].eventtypeid]+"/"+engine.events[id].safename;
1132	} else {
1133		return path+lang+"/events/"+id;
1134	}
1135}
1136
1137function showErrors(errors,before){
1138	var errorsHTML="<ul id='formalert' class='formalert wbox' style='display:none;'>";
1139	for(var x in errors){
1140		errorsHTML+="<li><span>"+errors[x]+"</span></li>";
1141	}
1142	errorsHTML+="</ul>";
1143	if($('ul#formalert').length){
1144		$('ul#formalert').slideUp(300,function(){
1145			$(this).remove();
1146			before.before(errorsHTML);
1147			$('ul#formalert').slideDown(300);
1148
1149		});
1150	} else {
1151		before.before(errorsHTML);
1152		$('ul#formalert').slideDown(300);
1153
1154	}
1155}
1156
1157function showPhone(phones){
1158
1159	phones=phones.replace("-"," ");
1160	phones=phones.replace("/"," ");
1161	phones=phones.replace("_"," ");
1162	phones=phones.replace("  "," ");
1163	var returnN="";
1164	var phoness=[];
1165	if(phones.indexOf(" ")){
1166		phoness=phones.split(" ");
1167	} else {
1168		phoness.push(phones);
1169	}
1170	for(var x in phoness){
1171		returnN+="<a class='tel' href='tel:"+phoness[x]+"'>"+phoness[x]+"</a>";
1172	}
1173	return returnN;
1174}

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.