if(typeof Clientcide != 'undefined'){
	Clientcide.setAssetLocation('/assets');
}

MooTools.lang.setLanguage('hu-HU')

var pageLoader = new Class({
	Implements: [Options],
	options: {
		pages: $empty(),
		folder: $empty(),
		extension: '.html'
	},
	msgEffect: $empty(),
	container: $empty(),
	initialize: function(container, options){
		var self = this;
		self.setOptions(options);
		self.container = container;

		$$(self.options.pages).addEvent('click', function(){
			var hash = new URI(this.get('href')).get('fragment');
			self.loadPage(hash);
		});
		
		this.msgEffect = new Fx.Tween($('msg'), {duration: 'long', transition: Fx.Transitions.Elastic.easeInOut});
	},
	loadPage: function(page) {
		var self = this;
		var uri = self.options.folder + page + self.options.extension;		
		
		var req = new Request.HTML({
			url: uri,
			update: self.container,
			useWaiter: false,
			waiterOptions: {
				fxOptions: {duration: 500}
			},			
			onSuccess: function(){
				self.setPageDefaults();
			},
			onFailure: function(xhr) {
				self.container.set('html', '<h1>A keresett oldal nem található.</h1>');
			}
		});
		req.get();
		this.setMenuStatus(page);
	},
	setMenuStatus: function(page){
		$$(this.options.pages).removeClass('on');
		$$(this.options.pages).each(function(elem){
			if(elem.get('href') == '#' + page)
			{
				elem.addClass('on');
				return;
			}	
		});
	},
	setPageDefaults: function() {
		var self = this;
		new Lightbox();
		
		if($('contact-form'))
		{
			new Form.Validator.Tips($('contact-form'), {
				pointyTipOptions: {
					point: 'right'
				}
			});
			new Form.Request($('contact-form'), $('msg'), {
				resetForm: false,
				onSuccess: function(){
					self.msgEffect.start('top', [-24, 24]);
					
					(function(){
						self.msgEffect.start('top', [24, -24]);
					}).delay(5000);
				}
			});
		}
		
		if($('scrollarea'))
		{
			new MooScroller($('text-content'), $('scrollarea').getElement('.scrollKnob'),
			{
				hideWhenNoOverflow: true,
				scrollLinks: {
					forward: $('right-block').getElement('div.scrollForward'),
					back: $('right-block').getElement('div.scrollBack')
				}
			});
		}
		
		if(!Browser.Engine.webkit && !Browser.Engine.presto)
		{
			$$('ul.image-blocks > li > span').setStyle('opacity', 0);
			$$('ul.image-blocks > li').addEvents({
				'mouseenter': function(){
					
					this.getElement('span').tween('opacity', [0, 1]);
				},
				'mouseleave': function(){
					this.getElement('span').tween('opacity', [1, 0]);
				}
			});
			
			$$('ul.gallery > li > a > img').setStyle('opacity', 0);
			$$('ul.gallery > li > a').addEvents({
				'mouseenter': function(){
					this.getElement('img').tween('opacity', [0, 1]);
				},
				'mouseleave': function(){
					this.getElement('img').tween('opacity', [1, 0]);
				}
			});
		}
	}
});

window.addEvent('domready', function(){
	var pload = new pageLoader($('content'),{
		pages: $$('#menu a'),
		folder: 'pages/',
		extension: '_page.html'
	});
	
	var hash = new URI(document.location.href).get('fragment');
	hash = (!hash.length) ? 'intro' : hash;
	
	if(hash){
		pload.loadPage(hash); 
	}
});
