PageSourceSearch

https://n-t.gr/js/main.js?rand=771934

js n-t.gr collected 2026-09-24 18:07:28 UTC 46,057 bytes, 1,428 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				+(p.title||p.text||p.photographer?
93					"data-caption='"+(p.title?'<span class="title">'+title+'</span>':'')
94						+(p.text?'<span class="text">'+text+'</span>':'')+"'"
95					:"")+"><img src='https://www.n-t.gr/pictures/"+picsize+"/"+picsize+"_"+p.src+"'></a>";
96			break;
97			case 'video':
98				stripe+="<a href='"+p.link+"' data-fancybox='p1' rel='p1' class='video'>"
99					+"<img src='"+p.src+"'></a>";
100			break;
101		}
102		cc++;
103		if(cc==4 && !all){
104			cc=1;
105			stripe+="</div>";
106		}
107	}
108	if(cc!=1 && !all){
109		stripe+="</div>";
110	}
111	return stripe;
112}
113
114$(function(){
115	homeBanners=engine.homeBanners;
116	checkScrolledStatus();
117
118
119	$('#rightmenu').on('change',function(event){
120		event.preventDefault();
121		if($('#rightmenu').prop('checked')){
122			jajax("switchRightMenu",{'status':1}, function(result) {});
123		} else {
124			jajax("switchRightMenu",{'status':2}, function(result) {});
125		}
126	});
127	
128
129	$(document).on('click','a.loadmedia',function(event){
130		event.preventDefault();
131		var t=$(this);
132		var artId=parseInt($(this).attr('data-id'));
133		var a=buildPhotoGallery(otherMedia[artId]['photogallery']);
134		var b=buildPhotoGallery(otherMedia[artId]['photogallery'],'all');
135		$('ul.media_nav li.sel').removeClass('sel');
136		$('#mediagalleryslick').slick('unslick').html(a).slick({
137				centerMode: true,
138				dots: true,
139				infinite: false,
140				speed: 300,
141				slidesToShow: 1.5,
142				slidesToScroll: 1,
143				appendDots: $(".slide-m-dots"),
144		      	prevArrow: $(".slide-m-prev"),
145		      	nextArrow: $(".slide-m-next"),
146		      	responsive: [
147					{
148					  breakpoint: 1200,
149					  settings: {
150					    slidesToShow: 1
151						}
152					},{
153					  breakpoint: 850,
154					  settings: "unslick"
155					}
156				]
157			});
158		$('#mobilegallery').html(b);
159		t.closest('li').addClass('sel');
160	});
161
162	if($('div.whatson_wrap').length){
163		$('div.whatson_wrap div.data input.whatsonradio:first-child').prop('checked',true);
164		$('div.whatson_wrap .events').slick({
165			dots: false,
166			arrow: true,
167			infinite: false,
168			autoplay: false,
169			speed: 450,
170			slidesToShow: 4,
171			slidesToScroll: 1,
172			responsive: [
173				{
174				  breakpoint: 1200,
175				  settings: {
176				    slidesToShow: 3
177					}
178				}
179				,{
180				  breakpoint: 800,
181				  settings: {
182				    slidesToShow: 2
183					}
184				}
185				,{
186				  breakpoint: 550,
187				  settings: {
188				    slidesToShow: 1
189					}
190				}
191				// ,{
192				//   breakpoint: 350,
193				//   settings: {
194				//     slidesToShow: 1
195				// 	}
196				// }
197			]
198		});
199		$('div.whatson_wrap .events').slick('slickFilter','.event1');
200	}
201	$('input.whatsonradio').change(function(){
202		var cc=$(this).val();
203		$('div.whatson_wrap .events').slick('slickUnfilter');
204		$('div.whatson_wrap .events').slick('slickFilter','.event'+cc);
205	})
206
207
208
209
210	$('#rightmenu').on('change',function(event){
211		event.preventDefault();
212		if($('#rightmenu').prop('checked')){
213			jajax("switchRightMenu",{'status':1}, function(result) {});
214		} else {
215			jajax("switchRightMenu",{'status':2}, function(result) {});
216		}
217	});
218
219
220
221	$('a.hassupertitles').on('click',function(event){
222		var scrollTo=document.getElementById("maintext").offsetTop;
223		$('html,body').animate({scrollTop:scrollTo}, 500);
224		$('.eventCalendarWrap').addClass('on');
225	});
226
227	$('a.showhomeworkshops').on('click',function(event){
228		event.preventDefault();
229		if($('#todayworkshops').hasClass('closed')){
230			$('#todayevents').slideUp('100');
231
232			$('#todayworkshops').slideDown('100',function(){
233				$('#todayworkshops').removeClass('closed');
234			});
235			$('a.showhomeworkshops').addClass('sel');
236			$('#toadyshowslabel').removeClass('sel');
237		} else {
238			$('#todayevents').slideDown('100');
239			$('#todayworkshops').slideUp('100',function(){
240				$('#todayworkshops').addClass('closed');
241			});
242			$('a.showhomeworkshops').removeClass('sel');
243			$('#toadyshowslabel').addClass('sel');
244		}
245	});
246	$('a.hidehomeworkshops').on('click',function(event){
247		event.preventDefault();
248		if($('#todayworkshops').hasClass('closed')){
249			// $('#todayworkshops').slideUp('100',function(){
250			// 	$('#todayworkshops').addClass('closed');
251			// });
252			// $('a.showhomeworkshops').removeClass('sel');
253			// $('#toadyshowslabel').addClass('sel');
254		} else {
255			$('#todayevents').slideDown('100');
256			$('#todayworkshops').slideUp('100',function(){
257				$('#todayworkshops').addClass('closed');
258			});
259			$('a.showhomeworkshops').removeClass('sel');
260			$('#toadyshowslabel').addClass('sel');
261		}
262	});
263
264	$('select#changeweek').on('change',function(event){
265		var thisVal=$(this).val();
266		if(thisVal){
267			// console.log(window.location.pathname.rtrim('/'));
268			// alert('1');
269			window.location=window.location.origin+window.location.pathname.rtrim('/')+'/?f='+thisVal;
270		}
271	});
272
273
274	$('a.person.nolink').on('click',function(event){
275		event.preventDefault();
276	});
277
278	$('.eventCalendarWrap a.expand').on('click',function(event){
279		event.preventDefault();
280		$(this).closest('div').toggleClass('on');
281	});
282	$('#mobileDates a.expand').on('click',function(event){
283		event.preventDefault();
284		$('div#mobileDates').toggleClass('on');
285		if($('div#mobileDates').hasClass('on')){
286			$('a.expand').html(langg.hidedates);
287		} else {
288			$('a.expand').html(langg.alldates);
289			var scrollTo=document.getElementById("mobileDates").offsetTop;
290			$('html,body').animate({scrollTop:scrollTo}, 500);
291
292		}
293	});
294
295	$('a.mobilemenu').on('click',function(event){
296		event.preventDefault();
297		$('div#navigation').toggleClass('on');
298	});
299	// $(document).on('click','div.navigation li.hassub>a.mainlink',function(event){
300	// 	event.preventDefault();
301	// 	$(this).closest('li').toggleClass('on');
302	// });
303	$(document).on('click','div.navigation.on li.hassub>a',function(event){
304		event.preventDefault();
305		$(this).closest('li').toggleClass('on');
306	});
307	var nowActive=1;
308	// function startArchiveBanner(){
309	// 	$('div.archive div.rotban').each(function(){
310	// 		$(this).css('background-image',"url('"+$(this).attr('data-back')+"')");
311	// 	});
312	// 	setInterval(switchArchiveBack, 3000);
313	// }
314	// function switchArchiveBack(){
315	// 	var next=nowActive+1;
316	// 	if(next==8){ next=1; }
317	// 	$('div.rotban[data-id='+next+']').css('z-index','12').fadeIn(1000,function(){
318	// 		$('div.rotban[data-id='+nowActive+']').css('z-index','10').fadeOut(1);
319	// 		$('div.rotban[data-id='+next+']').css('z-index','11');
320	// 		nowActive=next;
321	// 	});
322	// }
323
324	// if (typeof home !== 'undefined' && home==1) {
325	// 	// startArchiveBanner();
326	// 	// buildHomeBanner();
327	// 	$('.todaystripe').css('display','block');
328	// 	$('.todaystripe').slick({
329	// 		dots: false,
330	// 		infinite: false,
331	// 		speed: 300,
332	// 		slidesToShow: 4,
333	// 		slidesToScroll: 4,
334	// 		responsive: [
335	// 			{
336	// 			  breakpoint: 1024,
337	// 			  settings: {
338	// 			    slidesToShow: 3,
339	// 			    slidesToScroll: 3,
340	// 			    infinite: false
341	// 				}
342	// 			},
343	// 			{
344	// 			  breakpoint: 900,
345	// 			  settings: {
346	// 			    slidesToShow: 2,
347	// 			    slidesToScroll: 2,
348	// 			    infinite: false
349	// 				}
350	// 			},
351	// 			{
352	// 			  breakpoint: 480,
353	// 			  settings: {
354	// 			    slidesToShow: 1,
355	// 			    slidesToScroll: 1,
356	// 			    infinite: false
357	// 				}
358	// 			}
359	// 		]
360	// 	});
361	// 	$('.picsstripe').css('display','block');
362	// }
363
364	// var header_wrapBackHeight=0;
365	// $(document).on('mouseover','div.navigation:not(.on) a.mainlink',function(event){
366	// 	var nowSubselLi=$(this).closest('li');
367	// 	var nowSubsel=$('ul',nowSubselLi);
368	// 	var newHeight=$('#navigation').height()+parseInt($('#navigation').css('margin-top'))+85;
369	// 	if(nowSubsel.length){
370	// 		newHeight+=parseInt(nowSubsel.height())+parseInt(nowSubsel.css('padding-top')+nowSubsel.css('padding-bottom'));
371	// 	}
372	// 	if(newHeight<$('#mainheader').height()){
373	// 		newHeight=$('#mainheader').height();
374	// 	}
375	// 	$(' #header_wrapBack').stop().animate({'opacity':1,'height':newHeight},200,function(){
376	// 		$(' #header_wrapBack').addClass('on');
377	// 	});
378	// });
379	// $(document).on('mouseleave','.mainmenu',function(){
380	// 	$(' #header_wrapBack').stop().animate({'opacity':0,'height':0},200,function(){
381	// 		$(' #header_wrapBack').removeClass('on');
382	// 	});
383	// });
384
385
386	// $('#quickevent').on('change',function(event){
387	// 	event.preventDefault();
388	// 	var thisVal=$('#quickevent').val();
389	// 	console.log(thisVal);
390	// 	if(thisVal){
391	// 		window.location=window.location.origin+'/'+lang+'/events/'+thisVal;
392	// 	}
393	// });
394
395
396
397	$(document).on('click','span.copyurl',function(event){
398		preventDefault();
399		var thisText=$(this).html();
400		if($(this).attr('data-text')){
401			var tempText = $(this).attr('data-text').replace('#', thisText);
402			thisText=tempText;
403		}
404		console.log(thisText);
405		$('body').append("<textarea id='tocopy' style='display:none;'></textarea>");
406		$('textarea#'+tocopy).val(thisText).focusn();
407		document.execCommand("copy");
408		alert('Image copied');
409	});
410
411	// $(document).on('click','a.loadcalendar',function(event){
412	// 	event.preventDefault();
413	// 	var month=$(this).attr('data-month');
414	// 	var year=$(this).attr('data-year');
415	// 	//buildCalendar(year,month);
416	// })
417
418
419	// $('a.expand').click(function(event){
420	// 	event.preventDefault();
421	// 	var div=$(this).closest('div.expandable');
422	// 	if(div.hasClass('opened')){
423	// 		div.removeClass('opened').addClass('closed');
424	// 	} else {
425	// 		div.removeClass('closed').addClass('opened');
426	// 	}
427	// });
428
429	$('#newsletterreg input').on('keyup',function(event) {
430		$('#newsletterreg_alert').slideUp(150,function(){
431			$('#newsletterreg_alert').removeClass('failed');
432		});
433	});
434
435	$('form#newsletterreg').on('submit',function(event) {
436		event.preventDefault();
437		var gdpraccepted=1;
438		if(gdpr){
439			// console.log($('input#acceptgdpr').prop('checked'));
440			if($('input#acceptgdpr').prop('checked')==false){
441				$('#newsletterreg_alert').addClass('failed').html(langg.acceptgdpr);
442				gdpraccepted=0;
443			}
444		}
445		var email=$('input[name=newsletter]').val();
446		if(!validateEmail(email)){
447			$('#newsletterreg_alert').addClass('failed').html(langg.contactemail);
448
449		} else {
450			if(gdpraccepted){
451				jajax("registeremail",{'email':email}, function(result) {
452					if(result.status == 'error') {
453						$('#newsletterreg_alert').addClass('failed').html(langg.newsletterfailed).slideDown(150);
454						return ;
455					}
456					$('#newsletterreg_alert').removeClass('failed').html(langg.newsletterok).slideDown(150);
457				});
458			} else {
459				$('#newsletterreg_alert').addClass('failed').html(langg.acceptgdpr).slideDown(150);
460			}
461		}
462	});
463
464	// $(document).on('click','#backprev',function(event){
465	// 	event.preventDefault();
466	// 	var id=$(this).attr('data-id');
467	// 	nowPic--;
468	// 	if(nowPic<0){
469	// 		nowPic=backs.length-1;
470	// 	}
471	// 	loadBack();
472	// });
473	// $(document).on('click','#backnext',function(event){
474	// 	event.preventDefault();
475	// 	var id=$(this).attr('data-id');
476	// 	nowPic++;
477	// 	if(nextPic>=backs.length){
478	// 		nowPic=0;
479	// 	}
480	// 	loadBack();
481	// });
482
483	$(document).on('click','a.closefancy',function(event){
484		event.preventDefault();
485		$.fancybox.close();
486	});
487	$("#backtotop").hide();
488	$(window).scroll(function (event) {
489			event.stopPropagation();
490		checkScrolledStatus();
491		if(home){
492		}
493	});
494
495	if(home){
496		var nowScrollTop=$(document).scrollTop();
497		var manipulatescroll=true;
498		var isScrolling;
499		window.addEventListener('scroll', function ( event ) {
500			window.clearTimeout( isScrolling );
501			isScrolling = setTimeout(function() {
502				if(manipulatescroll){
503					var newScrollTop=$(document).scrollTop();
504					if(newScrollTop<window.innerHeight){
505						manipulatescroll=false;
506						if(newScrollTop>nowScrollTop){
507							var animateTo=window.innerHeight+80;
508						} else {
509							var animateTo=0;
510						}
511						$('html,body').animate({scrollTop:animateTo}, 320,'linear',function(){
512							nowScrollTop=animateTo;
513							manipulatescroll=true;
514						});
515					}
516				}
517			}, 66);
518		}, false);
519	}
520
521	$('a.animateto').on('click',function(event){
522		event.preventDefault();
523		var target=$(this).attr('data-animateto');
524		console.log(target);
525		var animateTo=document.getElementById(target).offsetTop-90;
526		$('html,body').animate({scrollTop:animateTo}, 500);
527	});
528
529	$('a#linktocalendar').on('click',function(event){
530		event.preventDefault();
531		var scrollTo=document.getElementById("calendartitle").offsetTop;
532		$('html,body').animate({scrollTop:scrollTo}, 500);
533
534	})
535	$(document).on('click',"a#backtotop",function(event){
536		event.preventDefault();
537		$('html,body').animate({scrollTop:0}, 500);
538	});
539
540	$('a.print').click(function(event){
541		event.preventDefault();
542		window.print();
543	});
544
545	$(document).on('click','a.back',function(event){
546		event.preventDefault();
547		history.go(-1);
548	});
549
550	$('a.fancy').fancybox( {
551        beforeLoad: function() {
552            var elem = $(this.element).data('fancytitle');
553            if (elem) {
554				this.title = elem;
555            }
556        },
557		// title:($(this).attr('data-fancytitle')?$(this).attr('data-fancytitle'):$(this).attr('title')),
558		helpers: {
559		    overlay: {
560		      locked: false
561		    }
562		  }
563		});
564	$("a.video,a.youtube,.repertoir202223 a").fancybox({maxWidth:800,maxHeight:600,fitToView:false,
565		width:'70%',height:'70%',autoSize:false,closeClick:false,
566		type: 'iframe',
567		openEffect:'none',closeEffect:'',helpers: {overlay: {locked: false}}});
568
569	// $(".video").fancybox({
570	// 	maxWidth	: 800,
571	// 	maxHeight	: 600,
572	// 	fitToView	: false,
573	// 	width		: '70%',
574	// 	height		: '70%',
575	// 	autoSize	: false,
576	// 	closeClick	: false,
577	// 	type: 'iframe',
578	// 	openEffect	: 'none',
579	// 	closeEffect	: 'none'
580	// });
581
582	$(document).on('keydown', function(e) {
583		if(e.which == 116 && e.altKey) { // Alt+F5 - reload css styles
584			console.log('reloading CSS styles');
585			reloadCSS();
586		}
587	});
588
589	$(document).on('keypress','input',function (e) {
590		if (e.which == 13) {
591			if($(this).hasClass('lookup')){
592				e.preventDefault();
593			} else {
594			    $(this).closest('form').submit();
595		  	}
596		}
597	});
598
599	$('form#getprogram').on('submit',function(event){
600		event.preventDefault();
601		var errors=[];
602		var downloadcode=$('input#downloadcode').val();
603		var ip=$('input#userip').val();
604
605		if(!downloadcode){
606			errors.push(langg.missingcode);
607		}
608
609		if(errors.length>0){
610			showErrors(errors,$('input#submit'));
611		} else {
612
613			grecaptcha.ready(function() {
614				grecaptcha.execute(recaptchakey, {action: 'getProgram'}).then(function(token) {
615					jajax("getprogram",{'downloadcode':downloadcode,'ip':ip,'token':token}, function(result) {
616						if(result.status == 'error') {
617							errors.push(result.error);
618							showErrors(errors,$('input#submit'));
619						} else {
620							if(result.downloadfile){
621								var url="https://www.n-t.gr/"+result.downloadfile;
622								window.location.assign(url);
623							} else {
624								$('#formalert').remove();
625								errors.push(result.errors);
626								showErrors(errors,$('input#registersubmit'));
627							}
628						}
629					});
630				});
631	        });
632
633		}
634
635	});
636
637	$('form#contact').on('submit',function(event){
638		event.preventDefault();
639		var errors=[];
640		var name=$('input#name').val();
641		var lastname=$('input#lastname').val();
642		var email=$('input#email').val();
643		var phone=$('input#phone').val();
644		var message=$('textarea#message').val();
645		var ip=$('input#userip').val();
646
647		if(!name){
648			errors.push(langg.contactname);
649		}
650		if(!lastname){
651			errors.push(langg.contactlastname);
652		}
653		if(!validateEmail(email)){
654			errors.push(langg.contactemail);
655		}
656		if(!message){
657			errors.push(langg.contactmessage);
658		}
659		console.log($('form#contact'));
660		if(errors.length>0){
661			showErrors(errors,$('input#submit'));
662		} else {
663
664			grecaptcha.ready(function() {
665				grecaptcha.execute(recaptchakey, {action: 'contactForm'}).then(function(token) {
666					jajax("contact",{'email':email,'message':message,'name':name,'ip':ip,'phone':phone,'lastname':lastname,'token':token}, function(result) {
667						if(result.status == 'error') {
668							errors.push(result.error);
669							showErrors(errors,$('input#submit'));
670						} else {
671							if(result.sent){
672								$('#formalert').remove();
673								$('form#contact').slideUp(300,function(){
674									$('form#contact').html('<p class="delivered">'+langg.contactdelivered+'</p>');
675									$('form#contact').slideDown();
676								});
677							} else {
678								$('#formalert').remove();
679								errors.push(result.errors);
680								showErrors(errors,$('input#registersubmit'));
681							}
682						}
683					});
684				});
685	        });
686
687		}
688
689	});
690
691
692
693	$(document).on('keyup','input#searchperson',function(){
694		var thisVal=$(this).val();
695		if(thisVal.length>3){
696    		jajax('searchperson',{'search':thisVal,'_abortrepeated': true}, function(result) {
697				if(result.status == 'error') {
698					return ;
699				}
700				var deps='';
701				if(result.dep){
702					for(var x in result.dep){
703						if(result.dep[x].staff && result.dep[x].staff.length){
704							var depStaff='';
705							var prevProperty='';
706							console.log('1');
707							for(var y in result.dep[x].staff){
708								var staff=result.dep[x].staff[y];
709								console.log(staff);
710								var thisStaff="";
711								if(staff.phones){
712									thisStaff+=showPhone(staff.phones);
713								}
714								if(staff.email){
715									thisStaff+="<a class='email' href='emailto:"+staff.email+"'>"+staff.email+"</a>";
716								}
717								thisStaff="<li class='"+(staff.property==prevProperty?"same":"")+"'>"
718									+(staff.property!=prevProperty?"<b>"+staff.property+"</b>":"")
719									+staff.title
720									+(thisStaff?"<div class='details'>"+thisStaff+"</div>":"")
721									+"</li>";
722								depStaff+=thisStaff;
723								prevProperty=staff.property;
724							}
725						}
726						var thisDep="";
727						if(result.dep[x].phones){thisDep+=showPhone(result.dep[x].phones);}
728						if(result.dep[x].emails){thisDep+="<a class='email' href='emailto:"+result.dep[x].emails+"'>"+result.dep[x].emails+"</a>";}
729						deps+="<li class='dep'>"
730							+"<h3>"+result.dep[x].title+"</h3>"
731							+(thisDep?"<div class='details'>"+thisDep+"</div>":"")
732							+(depStaff?"<ul class='staff'>
732"+depStaff+"</ul>":"")
733							+"</li>";
734					}
735				}
736				if(!deps && result.notfound){
737					deps='<li>'+result.notfound+'</li>';
738				}
739				$('#searchwrap').html(deps).show();
740				$('#staffwrap').hide();
741			});
742		} else {
743			$('#staffwrap').show();
744			$('#searchwrap').hide().empty();;
745		}
746
747	});
748
749});
750
751function reloadCSS() {
752	$("link").each(function() {
753		var link = $(this);
754		var type = link.attr('type');
755		if(type && type.indexOf("css") > -1) {
756			var href = link.attr("href");
757			if(!href) return ; // continue;
758			if(href.indexOf('google') > -1) return ; // continue;
759			var i = href.indexOf('?');
760			if(i >= 0) href = href.substr(0, i);
761			link.attr("href", href + "?id=" + Math.random);
762		}
763	});
764}
765
766function validateEmail(mail){
767 if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail)){
768    return (true)
769  } return (false)
770}
771$(function() {
772	// console.log(calYear,calMonth,calDay);
773	// buildCalendar(calYear,calMonth,calDay);
774});
775$(function(){
776	// $(window).on('resize',function(){
777	// 	var tW=window.innerWidth;
778
779	// 	if(tW<calendarBreakPoint){
780	// 		if(nowWidth>calendarBreakPoint) {
781	// 			buildCalendar();
782	// 		}
783	// 	} else {
784	// 		if(nowWidth<calendarBreakPoint) {
785	// 			buildCalendar();
786	// 		}
787	// 	}
788	// 	if(tW<homeBannerBreakPoint){
789	// 		// console.log(tW+'<'+homeBannerBreakPoint+' nowWidth='+nowWidth);
790	// 		if(nowWidth>homeBannerBreakPoint) {
791	// 			// console.log('unslick');
792	// 			if (typeof hasPicsStripe !== 'undefined') {
793	// 				$('.home .mainbannerWrap').slick('unslick');
794	// 			}
795	// 			if(home){
796	// 				buildHomeBanner();
797	// 			} else {
798	// 				buildInBanner()
799	// 			}
800	// 		}
801	// 	} else {
802	// 		// console.log(tW+'>'+homeBannerBreakPoint+' nowWidth='+nowWidth);
803	// 		if(nowWidth<homeBannerBreakPoint) {
804	// 			// console.log('unslick');
805	// 			if (typeof hasPicsStripe !== 'undefined') {
806	// 				$('.home .mainbannerWrap').slick('unslick');
807	// 			}
808	// 			if(home){
809	// 				buildHomeBanner();
810	// 			} else {
811	// 				buildInBanner()
812	// 			}
813	// 		}
814	// 	}
815	// 	nowWidth=tW;
816	// });
817
818	// $(document).on('click','ul.calendar a.nav',function(event){
819	// 	event.preventDefault();
820	// 	if($(this).hasClass('disabled')){
821
822	// 	} else {
823	// 		var toMonth=$(this).attr('data-tomonth');
824	// 		var toYear=$(this).attr('data-toyear');
825	// 		var toDay=$(this).attr('data-today');
826	// 		$('div#calendarwrap').animate({'opacity':0.2},200,function(){
827	// 			buildCalendar(parseInt(toYear),parseInt(toMonth),parseInt(toDay));
828	// 			$('div#calendarwrap').animate({'opacity':1},100);
829	// 		});
830	// 	}
831	// });
832
833});
834
835// function buildInBanner(){
836// 	// if($('body').hasClass('hasbanner')){
837// 		var bDiv=$('#mainbannerWrap>div.mainbanner ');
838// 		var mobilePic=bDiv.attr('data-mobile');
839// 		var desktopPic=bDiv.attr('data-desktop');
840// 		if(mobilePic && desktopPic){
841// 			var tW=window.innerWidth;
842// 			if(tW<homeBannerBreakPoint){
843// 				bDiv.css('background-image','url('+mobilePic+')');
844// 				$('#plhdrw').html("<img src='/images/bannerplaceholder_mob.png'>");
845// 			} else {
846// 				bDiv.css('background-image','url('+desktopPic+')');
847// 				$('#plhdrw').html("<img src='/images/bannerplaceholder.png'>");
848// 			}
849// 		} else {
850
851// 		}
852// 	// }
853// }
854
855// function buildHomeBanner(){
856// 	var thisHtml='';
857// 	var tW=window.innerWidth;
858// 	var isFirst=1;
859// 	homeBanners=engine.homeBanners[lang];
860// 	if(homeBanners.length){
861// 		for(var x in homeBanners){
862// 			var thisB=homeBanners[x];
863// 			if(thisB.emstpic && thisB.emstpic.length>1){
864// 				// if(newbanner && newbanner==1){
865// 					// /pictures/m/m_"+thisB.emstpic[0]+"_"+thisB.emstpic[1]+"."+thisB.emstpic[2]
866// 					thisHtml+=""
867// 					+"	<div class='mainbanner c2019 "+(thisB.hall?thisB.hall:"general")+"' style='"
868// 					+" 					background-image:url(/pictures/m/m_"+thisB.emstpic[0]+"_"+thisB.emstpic[1]+"."+thisB.emstpic[2]+");"
869// 					+" 					'>"
870// 					+"		<div class='bannerinside'>"
871// 					+(tW<homeBannerBreakPoint?
872// 							"<div class='wrapperIn'><img src='"+path+"images/bannerplaceholder_small.png' class='plhldrsmall'>"
873// 							:"<div class='wrapperIn'><img src='"+path+"images/bannerplaceholder.png' class='plhldr'>")
874// 					+"			<div class='bannerdata "+(thisB.hall?thisB.hall:"general")+"'>"
875// 					+"				<article>"
876// 					+"					<header>"
877// 					+"						<a href='"+(thisB.url?thisB.url:"#")+"'>"+(thisB.h1?"<h1 class='colorblack'>"+thisB.h1+"</h1>":"")+"</a>"
878// 					+"						"+(thisB.h2?"<h2 class='colorblack'>"+thisB.h2+"</h2>":"")
879// 					+"						"+(thisB.h3?"<h4 class='color'>"+thisB.h3+"</h4>":"")
880// 					+"					</header>"
881// 					+"					<div class='data'>"
882// 					+"						"+(thisB.url?"<a href='"+thisB.url+"' class='color morebulletsinline'>"+langg.more+"</a>":"")
883// 					// +"						"+(thisB.tickets?"<a href='"+thisB.tickets+"' class='tickets'>"+langg.buytickets+"</a>":"")
884// 					+"						<div class='clear'></div>"
885// 					+"					</div>"
886// 					+"					<div class='clear'></div>"
887// 					+"				</article>"
888// 					+"			</div>"
889// 					+"		</div></div>"
890// 					+"	</div>";
891// 				// }
892// 			} else {
893// 					var supertitlesString='';
894// 					if(thisB.supertitles){
895// 						supertitlesString=langg['supertitles'];
896// 						for(var x in thisB.supertitles){
897// 							supertitlesString+=' '+langg['titles_'+thisB.supertitles[x]]+',';
898// 						}
899// 						supertitlesString=supertitlesString.slice(0, -1)+'.';
900// 						if(supertitlesString){
901// 							supertitlesString="<a href='"+thisB.url+"' class='hassupertitles'>"+supertitlesString+"</span></a>";
902// 						}
903// 					}
904
905// 						if(tW<homeBannerBreakPoint){
906// 							thisHtml+=""
907// 								+"	<div class='mainbanner "+(thisB.hall?thisB.hall:"general")+"' style='background-image:url("+thisB.smallpic+");"
908// 								+"				background-size:cover;'>"
909// 								+"		<div class='bannerinside'><div class='wrapperIn'>"
910// 								+"<img src='"+path+"images/bannerplaceholder_small.png' class='plhldrsmall'>"
911// 								+"";
912// 						} else {
913// 							thisHtml+=""
914// 								+"	<div class='mainbanner "+(thisB.hall?thisB.hall:"general")+"' style='background-image:url("+thisB.bigpic+");"
915// 								+"				background-size:auto 100%;'>"
916// 								+"		<div class='bannerinside'><div class='wrapperIn'><img src='"+path+"images/bannerplaceholder.png' class='plhldr'>"
917// 								+"";
918// 						}
919// 						thisB.sceneid=parseInt(thisB.sceneid);
920// 						thisHtml+=""
921// 							+"			<div class='bannerdata "+(thisB.hall?thisB.hall:"general")+" "+(supertitlesString?'hastitles':"")+"'>"
922// 							+"				<article>"
923// 							+"					<header>"
924// 							+"						<a href='"+(thisB.url?thisB.url:"#")+"'>"+(thisB.h1?"<h1 class='_color'>"+thisB.h1+"</h1>":"")
925// 							+"						"+(thisB.h2?"<h2 class='_color'>"+thisB.h2+"</h2>":"")
926// 							+"						"+(thisB.h3||thisB.sceneid==40?"<h4>"+(thisB.sceneid?engine.scenes[thisB.sceneid][lang].title+' - ':'')+thisB.h3+"</h4>":"")
927// 							+"						"+(thisB.graph?"<img src='"+thisB.graph+"' class='graph'>":"")+"</a>"
928// 							+"					</header>"
929// 							+"					<div class='data'>"
930// 							+"				"+(supertitlesString?supertitlesString:
931// 												(thisB.url?"<a href='"+thisB.url+"' class='morebulletsinline'>"+langg.more+"</a>":""))
932// 							+"						<div class='clear'></div>"
933// 							+"					</div>"
934// 							+"					<div class='clear'></div>"
935// 							+"				</article>"
936// 							+"			</div>"
937// 							+"		</div></div>"
938// 							+"	</div>";
939// 			}
940// 			isFirst=0;
941// 		}
942// 		$('.home .mainbannerWrap.slick-slider').slick('unslick');
943// 		$('ul.slick-dots').remove();
944// 		$('#mainbannerWrap').html(thisHtml);
945
946// 		$('.mainbannerWrap').slick({
947// 			'dots':true,
948// 			  // autoplay:true,
949// 			  autoplaySpeed:3000,
950// 			'arrows':false
951// 		});
952// 		$('div.mainbanner').css('display','block');
953
954// 	}
955// }
956
957function buildCalendar(year,month,day){
958	var pageWidth=window.innerWidth;
959	var thisClass='';
960	var d=new Date();
961	var todayDate=new Date();
962	todayDate.setHours(0);
963	todayDate.setMinutes(1);
964	var todayStr=todayDate.getFullYear()+'-'+strPadLeftChars(parseInt(todayDate.getMonth())+1,'0',2)+'-'+strPadLeftChars(todayDate.getDate(),'0',2);
965	if(day==undefined && year!=undefined && month!=undefined){
966		day=1;
967	} else {
968		day=day?day:d.getDate();
969	}
970	month=month===undefined?d.getMonth():month;
971	year=year?year:d.getFullYear();
972	var givenDate=new Date(year,month,day);
973	var daysInMonth=calcDaysInMonth(givenDate);
974	if(pageWidth>calendarBreakPoint){
975		// nowWidth=calendarBreakPoint+1;
976		var nowDay=new Date(year,month,1).getDay();
977		if(nowDay==0){
978			nowDay=7;
979		}
980		var disabledPrev='';
981		if(todayDate.getFullYear()+'-'+todayDate.getMonth()==year+'-'+month){
982			disabledPrev='disabled';
983		}
984		var nextMonth=new Date(year,parseInt(month)+1,1);
985		if(month==0){
986			var prevMonth=new Date(year-1,12,0);
987		} else {
988			var prevMonth=new Date(year,month,0);
989		}
990		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>";
991		for(var x=1;x<=daysInMonth;x++){
992			var thisDateStr=year+'-'+strPadLeftChars((month+1),'0',2)+'-'+strPadLeftChars(x,'0',2);
993			var has='hasnot';
994			var calDay=new Date(thisDateStr);
995			var thisLink="<li class='hasnot "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"'>"
996				+"<span class='day' data-thisDay='"+thisDateStr+"'>"
997				+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
998				+"	<span class='date'>"+x+"</span>"
999				+"</span></li>";
1000			if(calDay>=todayDate){
1001				if(engine.shows && engine.shows[thisDateStr]){
1002					has='has';
1003					var thisSurtitles='';
1004					if(engine.showsSupertitles && engine.showsSupertitles[thisDateStr]){
1005						for(var g in engine.showsSupertitles[thisDateStr]){
1006							thisSurtitles+="<img src='/images/flag_"+engine.showsSupertitles[thisDateStr][g]+".png'"
1007							+" title='with "+engine.languages[g]+" surtitles'>";
1008						}
1009					}
1010					var thisLink="<li class='"+has+" "+(x<11?"righthover":(x>20?"lefthover":""))+" "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"' data-thisDay='"+thisDateStr+"' id='d"+thisDateStr+"'>"
1011						+"<a href='#' class='day' data-thisDay='"+thisDateStr+"'>"
1012						+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
1013						+"	<span class='date'>"+x+"</span>"
1014						+(thisSurtitles?"<span class='surtitles'>"+thisSurtitles+"</span>":"")
1015						+"</a></li>";
1016				}
1017			}
1018			allDays+=thisLink;
1019			nowDay++;
1020			if(nowDay>7){
1021				nowDay=1;
1022			}
1023		}
1024		allDays+="<li class='nav'><a href='#' class='next nav month nextmonth' data-tomonth='"+nextMonth.getMonth()+"' data-today='1' data-toyear='"+nextMonth.getFullYear()+"'>-</a></li>";
1025		$('#calendar').html(allDays);
1026		// $('#calendartitle span').html(engine.monthNames[lang][month]+' / '+year);
1027		$('#calendartitle').html('<span>'+engine.monthNames[lang][month]+'</span> '+langg.innt);
1028	} else {
1029		// nowWidth=calendarBreakPoint-1;
1030		var startDate=new Date(year,month,day);
1031		var isFirstDay=startDate.getDay();
1032		var firstDay=new Date(startDate.getTime());
1033		if(isFirstDay==1){
1034		} else {
1035			isFirstDay=isFirstDay==0?7:isFirstDay;
1036			firstDay.setDate(firstDay.getDate()-(isFirstDay-1));
1037		}
1038		var prevWeek=new Date(firstDay.getTime());
1039		prevWeek.setDate(prevWeek.getDate()-7);
1040		var nextWeek=new Date(firstDay.getTime());
1041		nextWeek.setDate(nextWeek.getDate()+7);
1042		var thisDate=new Date(firstDay.getTime());
1043		var today=new Date();
1044		var prevWeekFromNow=new Date();
1045		prevWeekFromNow.setDate(prevWeekFromNow.getDate()-7);
1046		var disabledPrev='';
1047		if(prevWeek<=prevWeekFromNow){
1048			disabledPrev='disabled';
1049		}
1050		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>";
1051		var thisMonth=engine.monthNames[lang][thisDate.getMonth()];
1052
1053		for(var x=0;x<=6;x++){
1054			if(x>0){
1055				thisDate.setDate(thisDate.getDate()+1);
1056			}
1057			var has='hasnot';
1058			var thisDateStr=thisDate.getFullYear()+'-'+thisDate.getMonth()+'-'+thisDate.getDate();
1059
1060			var nowDay=x;
1061
1062
1063			var thisDateStr=year+'-'+strPadLeftChars(thisDate.getMonth()+1,'0',2)+'-'+strPadLeftChars(thisDate.getDate(),'0',2);
1064			var calDay=new Date(thisDateStr);
1065			var thisLink="<li class='hasnot "+(x==6?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"'>"
1066				+"<span class='day' data-thisDay='"+thisDateStr+"'>"
1067				+"	<span class='day'>"+engine.days.short[lang][(x+1)]+"</span>"
1068				+"	<span class='date'>"+thisDate.getDate()+"</span>"
1069				+"</span></li>";
1070			if(calDay>=todayDate){
1071				if(engine.shows && engine.shows[thisDateStr]){
1072					has='has';
1073					var thisLink="<li class='"+has+" "+(x<3?"righthover":(x>5?"lefthover":""))+" "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"' data-thisDay='"+thisDateStr+"' id='d"+thisDateStr+"'>"
1074						+"<a href='#' class='day' data-thisDay='"+thisDateStr+"'>"
1075						+"	<span class='day'>"+engine.days.short[lang][(x+1)]+"</span>"
1076						+"	<span class='date'>"+thisDate.getDate()+"</span>"
1077						+"</a></li>";
1078				}
1079			}
1080			allDays+=thisLink;
1081			// nowDay++;
1082			// if(nowDay>7){
1083				// nowDay=1;
1084			// }
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095			// if(engine.events && engine.events.perdate && engine.events.perdate[thisDateStr]){
1096			// 	has='has';
1097			// }
1098			// allDays+="<li class='"+(x==6?"sunday":"")+""+(today==thisDateStr?"today":"")+"''>"
1099					// +"<a href='#' class='day "+has+"' data-thisDay='"+thisDateStr+"'>"
1100					// +"<span class='day'>"+engine.days.short[lang][(x+1)]+"</span>"
1101					// +"<span class='date'>"+thisDate.getDate()+"</span></a></li>";
1102		}
1103		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>";
1104
1105		$('#calendar').html(allDays);
1106		$('#calendartitle').html('<span>'+thisMonth+'</span> '+langg.innt);
1107
1108
1109	}
1110}
1111
1112
1113// function buildEventCalendar(fromD,toD){
1114// 	console.log(fromD);
1115// 	console.log(toD);
1116// 	console.log(eventDates);
1117
1118// 	var daysInMonth=calcDaysInMonth(fromD);
1119// 	if(pageWidth>calendarBreakPoint){
1120// 		// nowWidth=calendarBreakPoint+1;
1121
1122// 		for(var x=1;x<=daysInMonth;x++){
1123// 			var thisDateStr=year+'-'+strPadLeftChars((month+1),'0',2)+'-'+strPadLeftChars(x,'0',2);
1124// 			var has='hasnot';
1125// 			var calDay=new Date(thisDateStr);
1126// 			var thisLink="<li class='hasnot "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"'>"
1127// 				+"<span class='day' data-thisDay='"+thisDateStr+"'>"
1128// 				+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
1129// 				+"	<span class='date'>"+x+"</span>"
1130// 				+"</span></li>";
1131// 			if(calDay>=todayDate){
1132// 				if(engine.shows && engine.shows[thisDateStr]){
1133// 					has='has';
1134// 					var thisLink="<li class='"+has+" "+(x<11?"righthover":(x>20?"lefthover":""))+" "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"' data-thisDay='"+thisDateStr+"' id='d"+thisDateStr+"'>"
1135// 						+"<a href='#' class='day' data-thisDay='"+thisDateStr+"'>"
1136// 						+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
1137// 						+"	<span class='date'>"+x+"</span>"
1138// 						+"</a></li>";
1139// 				}
1140// 			}
1141// 			allDays+=thisLink;
1142// 			nowDay++;
1143// 			if(nowDay>7){
1144// 				nowDay=1;
1145// 			}
1146// 		}
1147// 		$('#calendar').html(allDays);
1148
1149
1150// 	var pageWidth=window.innerWidth;
1151// 	var thisClass='';
1152// 	var d=new Date();
1153// 	var todayDate=new Date();
1154// 	todayDate.setHours(0);
1155// 	todayDate.setMinutes(1);
1156// 	var todayStr=todayDate.getFullYear()+'-'+strPadLeftChars(parseInt(todayDate.getMonth())+1,'0',2)+'-'+strPadLeftChars(todayDate.getDate(),'0',2);
1157// 	var year=todayDate.getFullYear();
1158// 	var month=todayDate.getMonth();
1159// 	if(day==undefined && year!=undefined && month!=undefined){
1160// 		day=1;
1161// 	} else {
1162// 		day=day?day:d.getDate();
1163// 	}
1164// 	month=month===undefined?d.getMonth():month;
1165// 	year=year?year:d.getFullYear();
1166
1167// 	if(pageWidth>calendarBreakPoint){
1168// 		// nowWidth=calendarBreakPoint+1;
1169// 		var nowDay=new Date(year,month,1).getDay();
1170// 		if(nowDay==0){
1171// 			nowDay=7;
1172// 		}
1173// 		var disabledPrev='';
1174// 		if(todayDate.getFullYear()+'-'+todayDate.getMonth()==year+'-'+month){
1175// 			disabledPrev='disabled';
1176// 		}
1177// 		var nextMonth=new Date(year,parseInt(month)+1,1);
1178// 		if(month==0){
1179// 			var prevMonth=new Date(year-1,12,0);
1180// 		} else {
1181// 			var prevMonth=new Date(year,month,0);
1182// 		}
1183// 		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>";
1184// 		for(var x=1;x<=daysInMonth;x++){
1185// 			var thisDateStr=year+'-'+strPadLeftChars((month+1),'0',2)+'-'+strPadLeftChars(x,'0',2);
1186// 			var has='hasnot';
1187// 			var calDay=new Date(thisDateStr);
1188// 			var thisLink="<li class='hasnot "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"'>"
1189// 				+"<span class='day' data-thisDay='"+thisDateStr+"'>"
1190// 				+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
1191// 				+"	<span class='date'>"+x+"</span>"
1192// 				+"</span></li>";
1193// 			if(calDay>=todayDate){
1194// 				if(engine.shows && engine.shows[thisDateStr]){
1195// 					has='has';
1196// 					var thisLink="<li class='"+has+" "+(x<11?"righthover":(x>20?"lefthover":""))+" "+(nowDay==7?"sunday":"")+" "+(todayStr==thisDateStr?"today":"")+"' data-thisDay='"+thisDateStr+"' id='d"+thisDateStr+"'>"
1197// 						+"<a href='#' class='day' data-thisDay='"+thisDateStr+"'>"
1198// 						+"	<span class='day'>"+engine.days.short[lang][nowDay]+"</span>"
1199// 						+"	<span class='date'>"+x+"</span>"
1200// 						+"</a></li>";
1201// 				}
1202// 			}
1203// 			allDays+=thisLink;
1204// 			nowDay++;
1205// 			if(nowDay>7){
1206// 				nowDay=1;
1207// 			}
1208// 		}
1209// 		allDays+="<li class='nav'><a href='#' class='next nav month nextmonth' data-tomonth='"+nextMonth.getMonth()+"' data-today='1' data-toyear='"+nextMonth.getFullYear()+"'>-</a></li>";
1210// 		$('#calendar').html(allDays);
1211// 		// $('#calendartitle span').html(engine.monthNames[lang][month]+' / '+year);
1212// 		$('#calendartitle').html('<span>'+engine.monthNames[lang][month]+'</span> στο Εθνικό');
1213// 	} else {
1214// 		// nowWidth=calendarBreakPoint-1;
1215// 		var startDate=new Date(year,month,day);
1216// 		var isFirstDay=startDate.getDay();
1217// 		var firstDay=new Date(startDate.getTime());
1218// 		if(isFirstDay==1){
1219// 		} else {
1220// 			isFirstDay=isFirstDay==0?7:isFirstDay;
1221// 			firstDay.setDate(firstDay.getDate()-(isFirstDay-1));
1222// 		}
1223// 		var prevWeek=new Date(firstDay.getTime());
1224// 		prevWeek.setDate(prevWeek.getDate()-7);
1225// 		var nextWeek=new Date(firstDay.getTime());
1226// 		nextWeek.setDate(nextWeek.getDate()+7);
1227// 		var thisDate=new Date(firstDay.getTime());
1228// 		var today=new Date();
1229// 		var prevWeekFromNow=new Date();
1230// 		prevWeekFromNow.setDate(prevWeekFromNow.getDate()-7);
1231// 		var disabledPrev='';
1232// 		if(prevWeek<=prevWeekFromNow){
1233// 			disabledPrev='disabled';
1234// 		}
1235// 		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>";
1236// 		var thisMonth=engine.monthNames[lang][thisDate.getMonth()];
1237
1238// 		for(var x=0;x<=6;x++){
1239// 			if(x>0){
1240// 				thisDate.setDate(thisDate.getDate()+1);
1241// 			}
1242// 			var has='hasnot';
1243// 			var thisDateStr=thisDate.getFullYear()+'-'+thisDate.getMonth()+'-'+thisDate.getDate();
1244// 			if(engine.events && engine.events.perdate && engine.events.perdate[thisDateStr]){
1245// 				has='has';
1246// 			}
1247// 			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>";
1248// 		}
1249// 		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>";
1250
1251// 		$('#calendar').html(allDays);
1252// 		$('#calendartitle').html('<span>'+thisMonth+'</span>στο Εθνικό');
1253
1254
1255// 	}
1256// }
1257
1258
1259
1260
1261
1262
1263function strPadLeftChars(string,char,number){
1264	var returnString=string.toString();
1265	var length=returnString.length;
1266	var neededChars=number-length;
1267	if(neededChars){
1268		for(var x=1;x<=neededChars;x++){
1269			returnString=char+returnString;
1270		}
1271	}
1272	return returnString;
1273}
1274
1275$(function(){
1276// $(document).on('click','section.searchform',function(event){
1277// 	$('section.searchform input').focus();
1278// });
1279	$(document).on('click','a.closecalendartag',function(event){
1280		event.preventDefault();
1281
1282		$('.calendarover').remove();
1283	});
1284	$(document).on('click','li.hasnot>a',function(event){
1285		event.preventDefault();
1286	});
1287	$(document).on('click','li.has>a',function(event){
1288		event.preventDefault();
1289		var thisDate=$(this).attr('data-thisDay');
1290		var thisLi=$(this).closest('li');
1291		var thisId=$(this).attr('id');
1292		$('.calendarover').remove();
1293		if(engine.shows[thisDate]){
1294			var thisHtml="<ul>";
1295			var workshops={};
1296			var hasworkshops=0;
1297			for(var eventid in engine.events){
1298				// console.log(engine.events[eventid]);
1299				if(engine.events[eventid].shows && engine.events[eventid].shows[thisDate] && engine.events[eventid][lang]){
1300					var event=engine.events[eventid];
1301					var hallClass='neutral';
1302					var hallTitle=event[lang].subtitle;
1303					if(event.hallid){
1304						hallClass=engine.halls[event.hallid].class;
1305						hallTitle=engine.halls[event.hallid][lang].title;
1306					}
1307					if(event.teamid==104){
1308						workshops[event.hallid]=workshops[event.hallid]?workshops[event.hallid]:"";
1309						hasworkshops++;
1310						workshops[event.hallid]+=""
1311							+"<a href='"+eventLink(eventid)+"' class='plain'><h3>"+event[lang].title+""
1312							var thesetimes="";
1313						for(var y in engine.events[eventid].shows[thisDate]){
1314							var thisShow=engine.events[eventid].shows[thisDate][y];
1315							thesetimes+=thisShow.time+",";
1316						}
1317						thesetimes.rtrim(',');
1318						workshops[event.hallid]+="<span class='times'>"+thesetimes+"</span></h3></a>";
1319					} else {
1320						thisHtml+="<li class='"+(event.eventtypeid==2?hallClass:"")+" clearfix'>"
1321							+"<a href='"+eventLink(eventid)+"'><h3 class='color'>"+event[lang].title+"</h3></a>"
1322							+"<h4>"+hallTitle+"</h4>";
1323						for(var y in engine.events[eventid].shows[thisDate]){
1324							var thisShow=engine.events[eventid].shows[thisDate][y];
1325							var thisSurtitles='';
1326							if(thisShow.supertitles){
1327								for(var g in thisShow.supertitles){
1328									thisSurtitles+="<img src='/images/flag_"+thisShow.supertitles[g]+".png'"
1329									+" title='with "+engine.languages[thisShow.supertitles[g]]+" surtitles'>";
1330								}
1331							}
1332							if(thisShow.showid){
1333								switch(thisShow.availability){
1334									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;
1335									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;
1336									case 0:thisHtml+="<a target='_blank' title='"+langg.soldout+"' class='ticketlink time soldout'>"+thisShow.time+thisSurtitles+"</a>"; break;
1337									// case 0:thisHtml+="<span class='time noavailability'>"+thisShow.time+" <span>SOLD OUT</span></a>"; break;
1338								}
1339							} else {
1340								thisHtml+="<span class='time'>"+thisShow.time+thisSurtitles+"</span>";
1341							}
1342						}
1343						thisHtml+="</li>";
1344					}
1345				}
1346			}
1347			if(hasworkshops>0){
1348				for(var x in workshops){
1349					thisHtml+="<li class='"+engine.halls[x].class+" clearfix'>"
1350					+"<span class='color'>"+engine.halls[x][lang].title+"</span>"
1351							+workshops[x]+"</li>";
1352				}
1353			}
1354			thisHtml+="</ul>";
1355			if(thisHtml){
1356				thisLi.append("<div class='calendarover'><a href='#' class='closecalendartag'>exit</a>"+thisHtml+"</div>");
1357			}
1358		}
1359	});
1360});
1361
1362
1363
1364function buyTicketsLink(eventid,showid){
1365	if(showid && eventid){
1366		return "http://www.ticketservices.gr/"+lang+"/events/?eventid="+eventid+"&showid="+showid;
1367
1368	} else {
1369		if(eventid){
1370			return "http://www.ticketservices.gr/"+lang+"/events/?eventid="+eventid+"&showid="+showid;
1371		}
1372	}
1373}
1374
1375function calcDaysInMonth(anyDateInMonth) {
1376    return new Date(anyDateInMonth.getYear(),
1377                    anyDateInMonth.getMonth()+1,
1378                    0).getDate();
1379}
1380
1381
1382function eventLink(id){
1383	// console.log(engine.events[id]);
1384	if(engine.events[id]){
1385		return path+lang+"/"+eventTypesDir[engine.events[id].eventtypeid]+"/"+engine.events[id].safename;
1386	} else {
1387		return path+lang+"/events/"+id;
1388	}
1389}
1390
1391function showErrors(errors,before){
1392	var errorsHTML="<ul id='formalert' class='formalert wbox' style='display:none;'>";
1393	for(var x in errors){
1394		errorsHTML+="<li><span>"+errors[x]+"</span></li>";
1395	}
1396	errorsHTML+="</ul>";
1397	if($('ul#formalert').length){
1398		$('ul#formalert').slideUp(300,function(){
1399			$(this).remove();
1400			before.before(errorsHTML);
1401			$('ul#formalert').slideDown(300);
1402
1403		});
1404	} else {
1405		before.before(errorsHTML);
1406		$('ul#formalert').slideDown(300);
1407
1408	}
1409}
1410
1411function showPhone(phones){
1412
1413	phones=phones.replace("-"," ");
1414	phones=phones.replace("/"," ");
1415	phones=phones.replace("_"," ");
1416	phones=phones.replace("  "," ");
1417	var returnN="";
1418	var phoness=[];
1419	if(phones.indexOf(" ")){
1420		phoness=phones.split(" ");
1421	} else {
1422		phoness.push(phones);
1423	}
1424	for(var x in phoness){
1425		returnN+="<a class='tel' href='tel:"+phoness[x]+"'>"+phoness[x]+"</a>";
1426	}
1427	return returnN;
1428}

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.