var SiteClass = new Class({

	initialize: function(){
	
	}, // initialize

	domReady: function() {
		
		this.setActiveMenu();
		this.pngFix('h1#logo, a.more, div#main-boxes, div#gradient-left, div#gradient-right');
		
		Cufon.replace('.cufon', { hover: true, fontFamily: 'GaramondPremier' });
		Cufon.replace('div#main-contact-box span', { fontFamily: 'GaramondPremier', textShadow: '#555 2px 2px' });
		Cufon.now();
		
		$$('a#gotop').each(function(a){
			a.addEvent('click', function() {
				var scrollFx = new Fx.Scroll(window, { transition: Fx.Transitions.Quad.easeInOut });
				scrollFx.toTop();
			});
		});
		
		$$('a#goback').each(function(a){
			a.addEvent('click', function(){ window.history.go(-1); });
		});
		
		if($('gmap')) this.loadMap();
		
		if($('booking_list')) this.activateBooking();

		if($('header-flash')) {
			new Swiff('/public/flash/front.swf', {
				id: 'headerFlash',
				container: $('header-flash'),
				width: '100%',
				height: '100%',
				params: {
					wmode: 'tranaparent',
					allowFullScreen: 'false',
					allowscriptaccess: 'always'
				}
			});
		}

		if($('pano')) {
			new Swiff($('pano').innerHTML, {
				id: 'panorama',
				container: $('pano'),
				width: '100%',
				height: '100%',
				params: {
					wmode: 'tranaparent',
					allowFullScreen: 'true',
					allowscriptaccess: 'always'
				}
			});
		}
		
	}, // domReady

	activateBooking: function() {
		window.tmp = 0;
		$$('ul#booking_list li').each(function(li, i){
			var height = li.getStyle('height').toInt();
			if(window.tmp < height) window.tmp = height;
			li.setStyle('display', 'none');
			if(i == 0) li.addClass('active');
		});
		$('booking_list').setStyle('height', window.tmp);
		$('booking-loader').setStyle('height', window.tmp);
		
		myCal = new Calendar({ date_from: 'd/m/Y', date_to: 'd/m/Y' }, { direction: 1, offset: 1 }); 
		
		var chartTips = new Tips('span.tip', { className: 'tooltip', offset: {'x': 15, 'y': 0} });

		$('booking_prev').addEvent('click', function(){
			Site.bookingPrev();
		});
		$('booking_next').addEvent('click', function(){
			Site.bookingNext();
		});
		
	}, //activateBooking

	bookingPrev: function() {
		$('booking-loader').setStyle('display', 'none');
		$$('ul#booking_list li.active').each(function(li){
			if(li.getPrevious()) {
				li.removeClass('active');
				$('booking-loader').setStyle('display', 'block');
				//waiting
				(function() {
					$('booking-loader').setStyle('display', 'none');
					li.getPrevious().addClass('active');
					if(li.getPrevious().getPrevious()) $('booking_prev').addClass('visible');
						else $('booking_prev').removeClass('visible');
					$('booking_next').addClass('visible');
				}).delay(500);

			}
		});
	},

	bookingNext: function() {
		$('booking-loader').setStyle('display', 'none');
		$$('ul#booking_list li.active').each(function(li){
			if(li.getNext()) {
				li.removeClass('active');
				$('booking-loader').setStyle('display', 'block');
				//waiting
				(function() {
					$('booking-loader').setStyle('display', 'none');
					li.getNext().addClass('active');
					if(li.getNext().getNext()) $('booking_next').addClass('visible');
						else $('booking_next').removeClass('visible');
					$('booking_prev').addClass('visible');
				}).delay(500);
			}
		});
	},
	
	pngFix: function(pattern) {
		if(Browser.Engine.trident4) {
			$$(pattern).each(function(el){
				var background = el.getStyle('background-image');
				if(background != 'none') {
					var regex = /\/public(.+)\.png/;
					var result = regex.exec(background);
					if(result[0]) {
						el.setStyle('background', 'none');
						el.style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + result[0] + '\', sizingMethod=\'scale\')';
					}
				}
			});
		}

	}, //pngFix

	setActiveMenu: function() {
		var path = document.location.pathname.substr(1);
		if(path.charAt(path.length-1) == '/') path = path.substr(0, path.length-1);
			else if(path == '') path = '/'; // main page
		path = path.replace(/\/\d+\/?$/, '').replace(/\/[0-9a-z-]+\.html\/?$/, '');//.replace(/(pl|en|de|ua)$/, '/');
		
		var links = $$('ul#menu a[href='+path+']');
		while(links.length == 0 && path != '') {
			path = path.split('/');
			path.pop();
			path = path.join('/');
			links = $$('ul#menu a[href='+path+']');
		}
		if(links.length == 1) {
			var a = links[0];
			a.addClass('active');
		}
		
	}, //setActiveMenu
	
	map: null,
	loadMap: function() {
		
		var myLatlng = new google.maps.LatLng(49.78733233370679,22.796244621276855); //49.78716608970983,22.79585838317871
		var myOptions = {
		zoom: 15,
		center: myLatlng,
		navigationControlOptions: {
			style: google.maps.NavigationControlStyle.SMALL//google.maps.NavigationControlStyle.ZOOM_PAN
		},
		mapTypeId: google.maps.MapTypeId.ROADMAP
		}
		
		this.map = new google.maps.Map($('gmap'), myOptions);
		
		var marker = new google.maps.Marker({
			position: myLatlng, 
			map: this.map
		});
		
	}, // loadMap
	
	showMail: function(user, domain, contry, attr) {
		var start = "<a href=\"mailto:" + user + "@" + domain + "." + contry + "\"" + attr + ">"+user+'@'+domain+'.'+contry;
		var end = "</a>";
		document.write(start + end);
		return false;
	} // showMail
	
});

var Site = new SiteClass();
window.addEvent('domready', function(){ Site.domReady(); });
