function strip_tags(input, allowed) {
    allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join(''); // making sure the allowed arg is a string containing only tags in lowercase (<a><b><c>)
    var tags = /<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,
        commentsAndPhpTags = /<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;
    return input.replace(commentsAndPhpTags, '').replace(tags, function ($0, $1) {
        return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
    });
}


var menuDuration = 200;
var descs = new Object();
var desclimit = 240;

window.addEvent('domready', function() {
	
	
	$$(".article-description").each(function(el) {
		if (el.getParent().hasClass("monitoring")) return;
		id = el.get('ref');
		desc = el.getElement('span');
		if (descs[id] == null) {
			descs[id] = desc.get('html');
			if (descs[id].length > desclimit) {
				desc.set('html', descs[id].substr(0,desclimit)+'…');
			}
			
		}
	});
	
	//$$('.openArticle').each(function(el) {
	$$('.clanok-more-open').each(function(el) {
		el.addEvent('click', function(e) {
			e.stop();
			
			var par = this.getParent().getParent();
			if (par.get('tag') == 'h2')
				par = par.getParent();
			var more = par.getElement('div.clanok-more-open');
			
			var id = this.get('ref');
			var hascontent = this.get('hascontent');

			
			if (!this.open) {
				
				par.getFirst('h2').getFirst('a').open = true;
				
				more.open = true;
				
				more.addClass('article-more-up');
				more.removeClass('article-more-down');
				
				//more.set('text', 'menej');
				
				if (hascontent == 1) {
				
					var request = new Request.JSON({
						url : '/id/1/json/m_content/IdNode/'+id,
						onComplete : function(jsonObj) {
							
							var g = new Element('div', {'class':'articlecontents'}); 
							
							g.set('html', jsonObj.content);
							g.inject($('article-content-'+id), 'top');
	//						var size = $('article-content-'+id).getSize();
							/*$('article-content-'+id).setStyles({
								'overflow' : 'hidden',
								'height' : 0
							});
							
							
	//						$('article-content-'+id).setStyle('height', 0);
							myFx = new Fx.Morph($('article-content-'+id), {'duration' : 'normal'});
							myFx.start({
							    'height': size.y
							});*/
						}
					}).post({});
				
				}
				
				if (descs[id] != null) {
					desc = $('article-description-'+id).getElement('span');
					desc.set('html', descs[id]);
				}
				
			} else {
			
				if (descs[id] != null && descs[id].length > desclimit) {
					desc = $('article-description-'+id).getElement('span');
					desc.set('html', descs[id].substr(0,desclimit)+'…');
				}
				
				if (hascontent == 1) { 
				
					var content = par.getFirst('div.article-content');
					var contents = content.getFirst('div.articlecontents');
					contents.destroy();
				
				}
				
				par.getFirst('h2').getFirst('a').open = false;
				more.open = false;
				
				more.addClass('article-more-down');
				more.removeClass('article-more-up');
				//more.set('text', 'viac');
				
			}
		});
	});
	
	$$(".article-mailme-click").each(function(el) {
		el.addEvent('click', function(e) {
			e.stop();
			
			$(document.body).adopt(
				new Element('div', {
					'id': 'clanok-mailme-close', 
					'style': 'height: '+$(document.body).getScrollSize().y+'px;',
					'events': {
						'click': function() { 
							if ($('clanok-mailme-form')) $('clanok-mailme-form').destroy();
							$('clanok-mailme-close').destroy(); 
						}
					}
				})
			);
			
			clanokid = this.get('rel');
			if ($('clanok-mailme-form')) {
				formid = $('clanok-mailme-form').get('rel');
				$('clanok-mailme-form').destroy();
				$('clanok-mailme-close').destroy(); 
				if (formid == clanokid) return;
			}
			
			form = new Element('div', {'rel': clanokid, 'id': 'clanok-mailme-form'});
			inform = new Element('div', {'class': 'clanok-mailme-form-in'});
			inform.adopt(new Element('div', {'class': 'form-in-title', 'html': 'Poslať správu emailom'}));
			inform.adopt(
				new Element('div', {
					'class': 'form-in-from', 
					'html': '<span>Od</span>'
				}).adopt(
					new Element('input', {
						'class': 'form-in-input',
						'id': 'form-in-from',
						'value': '@',
						'events': {
							'focus': function() {
								if (this.value == '@') this.value = '';	
							},
							'blur': function() {
								if (this.value == '') this.value = '@';
							}
						}
					})
				)
			);
			inform.adopt(
				new Element('div', {
					'class': 'form-in-to', 
					'html': '<span>Pre</span>'
				}).adopt(
					new Element('input', {
						'class': 'form-in-input',
						'id': 'form-in-to',
						'value': '@',
						'events': {
							'focus': function() {
								if (this.value == '@') this.value = '';	
							},
							'blur': function() {
								if (this.value == '') this.value = '@';
							}
						}
					})
				)
			);
			
			formsendbutton = new Element('input', {
				'class': 'form-in-input-submit',
				'id': 'form-in-to'
			});
			formsendbutton.addEvent('click', function() {
				from = $('form-in-from').get('value');
				to = $('form-in-to').get('value');
				if (from == '' || from == '@' || to == '' || to == '@') {
					alert('Vyplňte prosím odosielatela aj príjemcu.');
					return;
				}
				var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
				if (!filter.test(from) || !filter.test(to)) {
					alert('Zadajte prosím adresy v správnom formáte.');
					return;
				}
				
				var request = new Request.JSON({
					url : '/id/1/json/m_mailme/action/send',
					onComplete : function(jsonObj) {
						if (jsonObj.Status == 'ok') {
							alert('Článok úspešne odoslaný!');
							$('clanok-mailme-form').destroy();
							$('clanok-mailme-close').destroy(); 
						}
						else {
							alert('Článok sa nepodarilo odoslať');
						}
					}
				}).post({
					'IdNode': $('clanok-mailme-form').get('rel'),
					'From': from,
					'To': to
				});
			});
			
			inform.adopt(
				new Element('div', {
					'class': 'form-in-send'
				}).adopt(formsendbutton)
			);
			
			form.adopt(inform);
			el.getParent().adopt(form);
		})
	
	});
	
	
	if ($('changeMonth')) {
		$('changeMonth').addEvent('change', function() {
			value = this.get('value');
			window.location = value;
		});
	}
	
	
	SqueezeBox.initialize();
	
	SqueezeBox.assign($$('a[rel=boxed]'));
	
	
	if ($('turne-list')) {
		var today = $('turne-list').getFirst('.today');
		if (today)
			$('turne-list').scrollTo(0, (today.getPosition($('turne-list')).y));
	}
		
	/*
	if ($('blogy') && $('media')) {
		$$('#blogy, #media').addEvent('click', function (e) {
			e.stop();
			var request = new Request.JSON({
				'url' : '?json=m_media&showAll=1&identifier='+this.get('title'),
				'onComplete' : function(jsonObj) {
					var content = new Element('div');
					jsonObj.each(function(val) {
						var block = new Element('div', {'class' : 'over-block'});
						var link = new Element('a', {
							'class' : 'over-link',
							'href' : val.Link,
							'text' : val.Title,
							'target' : '_blank'
						});
						var split = val.Date.split("-");
						var info = new Element('div', {'class' : 'over-info'});
						var date = new Element('span', {
							'text' : split[2]+'.'+split[1]+'.'+split[0]
						})
						info.adopt(date);
						info.appendText(' | ');
						info.adopt(new Element('span', {'text' : val.Author}));
						
						
						content.adopt(block.adopt(link, info));
					});
					
					$('articles').empty();
					$('articles').adopt(content);
				}
			}).post({});
		});
	}
	*/
	$$('.yotube-over').each(function(el) {
		el.addEvent('click', function(e) {
			e.stop();
			var code = this.get('ref');
			var width = 590;
			var height = 360;
			var youtube = new Element('div');
			var html = '<object width="'+width+'" height="'+height+'">';
			html += '<param name="movie" value="http://www.youtube.com/v/'+code+'&autoplay=1"></param>'
			html += '<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>';
			html += '<embed src="http://www.youtube.com/v/'+code+'&autoplay=1" type="application/x-shockwave-flash"';
			html += ' allowscriptaccess="always" allowfullscreen="true" width="'+width+'" height="'+height+'"></embed></object>'
			youtube.set('html', html);
			
			
			SqueezeBox.open(youtube, {
				handler: 'adopt',
				size: {x: (width + 4), y: (height + 4)}
			});
		});
	});
	
	
	
	
	$('googleSearch').addEvent('focus', function() {
		if (this.hasClass('suggestion')) {
			this.removeClass('suggestion');
			this.set('value', '');
		}
	});
	$('googleSearch').addEvent('blur', function() {
		if (!this.hasClass('suggestion') && this.get('value').trim() == '') {
			this.addClass('suggestion');
			this.set('value', 'Hladať...');
		}
	});
	$('googleSearch').addEvent('keydown', function(e) {
		if (e.key == 'enter')
			$('googleSearchConfirm').fireEvent('click');
	})
	
	$('googleSearchConfirm').addEvent('click', function() {
		var searchValue = $('googleSearch').get('value').trim();
		if (!$('googleSearch').hasClass('suggestion') && searchValue != '') {
			this.addClass('loading');
			window.location = "/vyhladavanie/14?query="+encodeURIComponent(searchValue);
		}
	});
	
	new Element('img', {'src' : '/pub/local/img/ajax-loader.gif'});
	new Element('img', {'src' : '/pub/local/img/topmenu_bg.gif'});
	
	$$('.top-menu .menu-item').each(function(el) {
		el.addEvent('click', function(e) {
			var topMenu = this.getParent().getParent();
			topMenu.removeEvents();
		});
	});
	
	
	
	$$('.top-menu').each(function(el) {
		if (el.getElement('a.selected')) {
			var ul = el.getElement('ul');
			var desc = el.getElement('div.top-menu-desc');
			
			ul.setStyles({
				'opacity' : 1,
				'display' : 'block'
			});
			desc.setStyles({
				'opacity' : 0,
				'display' : 'none'
			});
			
			return;
		}
		el.addEvent('mouseenter', function() {
			var ul = this.getElement('ul');
			if (!ul)
				return;
			
			ul.setStyles({
				'opacity' : 0,
				'display' : 'block'
			});
			
			if (this.fx1 && this.fx2) {
				this.fx1.cancel();
				this.fx2.cancel();
			}
			
			this.fx1 = new Fx.Morph(ul, {'duration' : menuDuration});
			this.fx2 = new Fx.Morph(this.getElement('div.top-menu-desc'), {'duration' : menuDuration});
			
			this.fx1.start({
				'opacity' : 1
			});
			this.fx2.start({
				'opacity' : 0
			});
		});
		el.addEvent('mouseleave', function() {
			var ul = this.getElement('ul');
			if (!ul)
				return;
			
			if (this.fx1 && this.fx2) {
				this.fx1.cancel();
				this.fx2.cancel();
			}
			
			this.fx1 = new Fx.Morph(ul, {'duration' : menuDuration });
			this.fx2 = new Fx.Morph(this.getElement('div.top-menu-desc'), {'duration' : menuDuration});
			
			this.fx1.start({
				'opacity' : 0
			});
			this.fx2.start({
				'opacity' : 1
			});
		});
		
		
	});
	
	
	if ($$('#content-top a').length > 0) {
		
		var buttons = new Array();
		var timeout = false;
		var currentlink = 0;

		function changePic(current, next) {
			
			if ($('buttons')) {
				$('banner-button-'+buttons[next]).addClass('active');
				$('banner-button-'+buttons[current]).removeClass('active');
			}
			
			$('banner-'+buttons[current]).fade(0);
			$('banner-'+buttons[next]).fade(1);
	
			currentlink = next;
	
		}

		function changeMenu(current, next) {
	
			changePic(current, next);
	
			timeout = setTimeout(function() {
				changeMenu(next, (next+1) % buttons.length);
			}, 6000);
	
		}
		
		
		i = 0;
		$$('#content-top a').each(function(el) {
			buttons[i] = el.get('id').substr(7);
			el.setStyle('z-index', 999-i);
			if (el.get('href') && el.get('href').substr(0, 7) == 'http://') el.set('target', '_blank');
			i += 1;
		});
		
		i = 0;
		$$('#content-top #buttons span').each(function(el) {
			el.set('rel', i);
			el.addEvent('mouseover', function() {
				if (timeout != false) {
					clearTimeout(timeout);
					timeout = false;
				}
				changePic(currentlink, el.get('rel'));
			});
			
			el.addEvent('mouseout', function() {
				timeout = setTimeout(function() {
					changeMenu(currentlink, (currentlink+1) % buttons.length);
				}, 6000);
			});
			i += 1;
		});


		//init
		if ($$('#content-top a').length > 1) {
			timeout = setTimeout(function() {
				changeMenu(0,1);
			}, 6000);
		}
		
		/*
		current = $$('.lead_link.active')[0].get('rel');
		*/
		
	}
});
