var myTools = {
	initialize: function(){
		this.tips();
		if($$('.onetimeTrigger')[0]){this.ontime();}
		if($$('.datePickerFields')[0]){this.datepicker();}
		if($('login-trigger') || $('search-trigger')){this.lsAccordion();}
		if($$('.confirmItem')[0]){this.confirmation();}
	  	/*if($('contentVideo')){this.flashobject();}

	  	},
	flashobject: function(){
	  	var fo = new FlashObject("film-de.swf", "movie", "512", "430", "8", "#FFFFFF");
	  	fo.write("contentVideo");*/
	},

	ontime: function(){
		var myOnetimes = $$('.onetimeTrigger');
		var remove = $$('.remove');
		var myBlocks = $$('.hideBlock');
		var myOnetime = new Onetime(myOnetimes, myBlocks, {opacity: true, remove: remove});
	},

	tips: function(){
		var tiptriggers = [];
		// select all defined tags with a title and delimiter "::" (this seperates tips headline and body)
		$A($$('input', 'a')).each(function(el){
			if(el.title && el.title.test('::')){
				tiptriggers.push(el);
			}
		}, this);
		if(tiptriggers[0]){var myTips = new Tips(tiptriggers);}
	},

	confirmation: function(){
		$A($$('.confirmItem')).each(function(el){
			el.onchange = function(){
				if(el.value > 1){
					var check = confirm(String.sprintf(translations.roomsText, el.value.toInt()));
					if(check == false){
						el.value = "1";
					}
				}
			}.bind(this);
		}, this);
	},

	datepicker: function(){
		var datepickers = $$('.datePickerFields');
		var myDatepicker = new TwinCalendar(datepickers[0],{
			inDDsel: $('checkInDay'),
			inMMsel: $('checkInMonth'),
			inYYYYsel: $('checkInYear'),
			outDDsel: $('checkOutDay'),
			outMMsel: $('checkOutMonth'),
			outYYYYsel: $('checkOutYear'),
			baseOffsetX: -130,
			baseOffsetY: 20,
			IEHack: true,
			triggerURL: '/images/icon-calendar.gif',
			triggerAlt: translations.calOpenText
		});
	},

	lsAccordion: function(){
		  var togglers = [];
		  var stretchers = [];
		  if($('login-trigger')){togglers.push($('login-trigger')); stretchers.push($('login-for-js'));}
		  if($('search-trigger')){togglers.push($('search-trigger')); stretchers.push($('search-for-js'));}
		  /* toDo: find CSS/JS that works in all browsers; workaround: */
		  if (/MSIE (7.)/.test(navigator.userAgent)) {
		   stretchers.forEach(function(el){
		    el.setStyle('position','absolute');
		   });
		  }
		  /**/
		  var myAccordion = new Fx.Accordion(togglers, stretchers, { display: false, alwaysHide: true});
 	}

};

window.addEvent('domready', function(){
	myTools.initialize();

	var galleryElement = $$('select[name=galleryItems]');
	if (galleryElement.length > 0) {
		galleryElement.each(function (element) {
			element.addEvent('change', function () {
				location.href='?gid=' + element.getProperty('value');
			});
		});
	}
});