var shortbooking = { 

	submit:function( lang, form_id, field_id ){
		
		var form = $(form_id);
		var err = false;
		
			// calc date 
		var date = $(field_id).getValue(); 
		var splittetDate = shortbooking.validate_date( lang, date);
		if ( splittetDate.sucess ){
			$E(".shortbooking_anreise_tag", form).value = splittetDate.day;
			$E(".shortbooking_anreise_mj", form).value  = splittetDate.mj;
		} else {
			alert ( splittetDate.msg );
			err = true;
		}
		
			// calc max price
		/* max_price auskommentiert 09092009: wird nicht mehr benutzt
		
		var input_people = $E('select[name=Personenanzahl]', form);
		var input_prize  = $E('select[name=MAX_PRICE_PPN]', form);
		var input_days   = $E('select[name=Uebernachtungen]', form);
	
		if (input_people && input_prize && input_days) {
			var people = input_people.getValue();
			var prize  = input_prize.getValue();
			var days   = input_days.getValue();
			var max_prize = days * people * prize;
			var trg  = $E('input[name=MAX_PRICE]',form);
			if ( trg ){
				if ( max_prize > 0 ) {
					trg.value = max_prize;
				} else {
					trg.value = "";
				}
			} 
		}*/
		
		if (!err){
			shortbooking.show_msg(form_id);
			form.submit();
			return false;
		}
		
		return false;
	},
	
	show_msg:function(form_id){

		var form = document.getElementById(form_id);
		if (!form) form = $E('form#'+form_id);
		if (!form) $(form_id);
		
		form = new Element(form);
			// show weather a dms_wait_page_inline section is present and show it
		var wait_msg = $E('div.hht_wait_page_inline', form);

		
		if (wait_msg){
			
			var bodysize = document.body.getSize();
			
				// hide all select items
			if(window.ie6){
				$$('select').setStyle('display','none');
			}
			
				// add a div layer on top
				// and show content in layer
			var shadow = new Element('div',{
				id : 'hht_wait_lightbox_shadow',
				styles:{
					'z-index':999,
					'background-color':'black',
					'width':  bodysize.size.x + 'px' ,
					'height': bodysize.size.y + 'px' ,
					'opacity':'0.1',
					'position':'absolute',
					'left':0,
					'top':0
				}
			});
			var lightbox = new Element('div',{
				id : 'hht_wait_lightbox',
				styles:{
					'z-index':1000,
					'position':'absolute',
					'width':  bodysize.size.x + 'px' ,
					'height': bodysize.size.y + 'px' ,
					'opacity':'0.1',
					'left':0,
					'top':0
				}
			});
			
				// add scroll handling
			document.addEvent("scroll",function(){
				var top	= window.getScrollTop();
				var lightbox = $('hht_wait_lightbox');
				if (lightbox) lightbox.setStyle('top',top);
			});
			
			wait_msg.inject(lightbox);
			
			// add close event
			var close = $E('div.hht_wait_page_close',  lightbox);

			if (close){
				close.addEvent('click', function(e){
					var lightbox = $('hht_wait_lightbox');
					var shadow   = $('hht_wait_lightbox_shadow');
					if (lightbox) lightbox.remove();
					if (shadow)   shadow.remove();
				});
				close.setStyle('cursor','pointer');
				var href = window.location.href;
				window.location.href = href+"#stop";
			}
			
			lightbox.injectTop(document.body);
			shadow.injectTop(document.body);
			
			var contentChange = new Fx.Style(lightbox, 'opacity', {duration:500});
			contentChange.start(0, 1);

			var shadowChange = new Fx.Style(shadow, 'opacity', {duration:500});
			shadowChange.start(0, 0.5);
			
		}
	},
	
	extraSearchBooking:function(){

		// find target page / language / cookie 
		var form = $('shortbooking_hotels_form');

		var target_id   = 'hotels_search';
		var target_lang = 0;
		if ($('shortbooking_hotels_lang').getValue() != 'de'){
			var target_lang = 1;
		}

		var cookie_name = 'dms_form_hotels_de';
		if (target_lang > 0){
			cookie_name = 'dms_form_hotels_en';
		} 		 
		
			// last minute
		if ( $E('input#HHTradio_lastminute', form).getValue()  == 2 ){
			target_id = 'hotels_early_bird';
			if (target_lang == 0){
				cookie_name = 'dms_form_last_minute_de';
			} else {
				cookie_name = 'dms_form_last_minute_en';
			}
		}
			// early bird
		if ( $E('input#HHTradio_lastminute', form).getValue()  == 2 ){
			var target_id   = 'hotels_last_minute';
			if (target_lang == 0){
				cookie_name = 'dms_form_early_birds_de';
			} else {
				cookie_name = 'dms_form_early_birds_en';
			}
		}
		
		var format = $('shortbooking_hotels_format').getValue();
		
			// anreise und abreise berechnen 
		var anreise_ts = date_helper.date2ts( $E('#shortbooking_hotels_date', form).getValue(),format  );
		var nacht      = $E('#shortbooking_hotels_nights', form).getValue();
		var abreise_ts = anreise_ts + ( nacht * 86400000 );
			
			// create obj
		var values = {
			anreise    : $E('#shortbooking_hotels_date', form).getValue() ,
			abreise    : date_helper.ts2date( abreise_ts,format ),
			nacht      : $E('#shortbooking_hotels_nights', form).getValue(),
			erwachsene : $E('#shortbooking_hotels_persons', form).getValue()
//			preis      : $E('#shortbooking_hotels_price_max', form).getValue()
		};
		
			// save data to cookie
		var jsn = Json.toString(values);
		Cookie.set( cookie_name, jsn, { path: '/' } );
		
			// go
		window.location.href = "/index.php?id="+target_id+'&L='+target_lang+'&openModule=dms_form_extras';
		return false;
	},
	
	extraSearchPackages:function(){
		// find target page / language / cookie 
		var form = $('shortbooking_packages_form');

		var target_id   = 'packages';
		var target_lang = 0;
		if ($('shortbooking_packages_lang').getValue() != 'de'){
			var target_lang = 1;
		}

		var cookie_name = 'dms_form_packages_de';
		if (target_lang > 0){
			cookie_name = 'dms_form_packages_en';
		} 		 
		
			// anreise und abreise berechnen 
		var format     = $('shortbooking_packages_format').getValue();
		var anreise_ts = date_helper.date2ts( $E('#shortbooking_packages_date', form).getValue(),format  );
		var nacht      = $E('#shortbooking_packages_nights', form).getValue();
		var abreise_ts = anreise_ts + ( nacht * 86400000 );
			
			// create obj
		var values = {
			anreise    : $E('#shortbooking_packages_date', form).getValue() ,
			abreise    : date_helper.ts2date( abreise_ts,format ),
			nacht      : $E('#shortbooking_packages_nights', form).getValue(),
			erwachsene : $E('#shortbooking_packages_persons', form).getValue()
			//preis      : $E('#shortbooking_packages_price_max', form).getValue()
		};
		
			// save data to cookie
		var jsn = Json.toString(values);
		Cookie.set( cookie_name, jsn, { path: '/' } );
		
			// go
		window.location.href = "/index.php?id="+target_id+'&L='+target_lang+'&openModule=dms_form_extras';
		return false;
	},
	

	setDefaultDate:function(e) {
		var d = new Date();
		var offset = 1;
		
		if (e) {
			e = new Event(e);
			t = new Element(e.target);
		} else {
			t = false;
		}
	
		if ($('shortbooking_hotels_date') ) {
			d = new Date();
			offset = 0;
			// alert ($('HHTradio_fruehbucher').checked ); 
			
			 
			if ( t && t.id =="HHTradio_fruehbucher" ) {
				offset = 90;
			}
			
			d.setDate(d.getDate() + offset);	
			day = d.getDate();
			month = (d.getMonth() + 1);
			if (day < 10) { day = '0' + day; }
			if (month < 10) { month = '0' + month; }
			
			if ( $('shortbooking_hotels_lang') && $('shortbooking_hotels_lang').getValue() == 'en' ){
				$('shortbooking_hotels_date').value =  month + "/" + day + "/" + (d.getFullYear());
			} else {
				$('shortbooking_hotels_date').value =  day + "." + month + "." + (d.getFullYear());
			}
			$('shortbooking_hotels_nights').value = 1;		
			
				
		}
		
		if ($('shortbooking_packages_date')) {
			d = new Date();
			offset = 4;
			d.setDate(d.getDate() + offset);
			day = d.getDate();
			month = (d.getMonth()+ 1);
			if (day < 10) { day = '0' + day; }
			if (month < 10) { month = '0' + month; }
			if ( $('shortbooking_packages_lang') && $('shortbooking_packages_lang').getValue() == 'en' ){
				$('shortbooking_packages_date').value =  month + "/" + day + "/" + (d.getFullYear());
			} else {
				$('shortbooking_packages_date').value =  day + "." + month + "." + (d.getFullYear());
			}
			$('shortbooking_packages_nights').value = 2;
		}
	},

	validate_date:function (language, date){
	
		var result = {}; 
		switch (language){	
		
			case "de":
				var dateParts = date.split( '.' );
				if ( dateParts.length == 3) {
					result['sucess'] = true;
					result['day'] = dateParts[0];
					result['mj']  = dateParts[1] + dateParts[2];
				} else {
					result['sucess'] = false;
					result['msg']    = "Sie muessen ein Datum auswaehlen"; 
				}
				break;
			case "en":
				var dateParts = date.split( '/' );
				if ( dateParts.length == 3 ) {
					result['sucess'] = true;
					result['day'] = dateParts[1];
					result['mj']  = dateParts[0] + dateParts[2];
				} else {
					result['sucess'] = false;
					result['msg']    =  "You have to select a valid Date";
				}
				break;
			default :
				result['sucess'] = false;
				result['msg']    =  "ERROR";
				break;
		}
		return result;
	
	}
};

window.addEvent('domready', function()	{
	shortbooking.setDefaultDate();
	
	if ($('HHTradio_lastminute')) {
		// $('HHTradio_lastminute').addEvent('change',function(e) {shortbooking.setDefaultDate(e);});
		$('HHTradio_lastminute').addEvent('click',function(e) {shortbooking.setDefaultDate(e);});
		
	}
	if ($('HHTradio_fruehbucher')) {
		// $('HHTradio_fruehbucher').addEvent('change',function(e) {shortbooking.setDefaultDate(e);});
		$('HHTradio_fruehbucher').addEvent('click',function(e) {shortbooking.setDefaultDate(e);});
	}
});

