
var Daterequest = {
	formUrl: '',
	overlayCssObj: {
		'background-color' : '#000',
		'width' : '100%',
		'height' : '100%',
		'z-index' : '999',
		'position' : 'absolute',
		'top' : '0',
		'left' : '0'
	},
	windowCssObj: {
		'width' : '396px',
		'height' : 'auto',
		'min-height' : '200px'
	},
	
	windowWrapperCssObj: {
		'z-index' : '1000',
		'position' : 'absolute',
		'top' : '169px',
		'left' : '35%'
	},
	
	init: function(obj) {
		var items = obj;
		var splitNumber = 5;

		Daterequest.setOverlayObject();

		jQuery.each(items, function(index, value) {
			if(splitNumber == (index + 1)) {
				jQuery(this).addClass('last');
				splitNumber = splitNumber*2;
			}
			
			if(jQuery(this).hasClass('closed') || jQuery(this).hasClass('full')) {
				jQuery(this).css('cursor', 'default');
			}
			else {
				jQuery(this).click(function() {
					Daterequest.openAjaxWindow(this);
				});			
			}
		});
	},

	setOverlayObject: function() {
		var overlayHeight = '100%';
		
		if(typeof(window.innerWidth) == 'number') {
			//Non-IE
			overlayHeight = window.outerHeight +350;
		}
		else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
			overlayHeight = document.documentElement.clientHeight + 300;
		}
		
		jQuery('body').append('<div id="overlay"></div>');
		jQuery('#overlay').css(Daterequest.overlayCssObj);
		jQuery('#overlay').css('height', overlayHeight);
		
		jQuery('#overlay').fadeTo(0, 0.8);
		jQuery('#overlay').hide();
		
		jQuery('#overlay').click(function() {
			Daterequest.closeWindow();
		});
	},
	
	activateOverlayObject: function() {
		jQuery('#overlay').show();
	},
	
	openAjaxWindow: function(thisObj) {
		var timeAttr = thisObj.getAttribute('id').replace('date-', '');
		if(jQuery('#ajax-window-wrapper').length > 0) {
			jQuery('#ajax-window-wrapper').show();
			Daterequest.activateOverlayObject();		
		}
		else {
			Daterequest.createWindow();
			Daterequest.activateOverlayObject();
		}
		
		jQuery.ajax({
			url: Daterequest.formUrl + '&daterequest=' + timeAttr,
			success: function(data) {
				jQuery('#ajax-window').html(data);
				
				// activate Powermail Validation
				function formCallback(result, form) {
					window.status = "valiation callback for form '" + form.id + "': result = " + result;
				}
				var valid = new Validation('termin-formular', {immediate : true, onFormValidate : formCallback});
				
				jQuery('#ajax-window').append('<div id="ajax-window-close"><!-- --></div>');
				jQuery('#ajax-window-close').click(function() {
					Daterequest.closeWindow();
				});
				
				jQuery('#ajax-window .tx_powermail_pi1_fieldwrap_html_button input').click(function() {
					Daterequest.closeWindow();	
				});
			}
		});
	},
	
	createWindow: function() {
//		jQuery('body').append('<div id="ajax-window-top"></div><div id="ajax-window"></div><div id="ajax-window-bottom"></div>');
		jQuery('body').append('<div id="ajax-window-wrapper"></div>');	
//		jQuery('#ajax-window-wrapper').append('<div id="ajax-window"></div>');
		
		jQuery('#ajax-window-wrapper').append('<div id="ajax-window-top"></div>');
		jQuery('#ajax-window-wrapper').append('<div id="ajax-window"></div>');
		jQuery('#ajax-window-wrapper').append('<div id="ajax-window-bottom"></div>');
				
		jQuery('#ajax-window-wrapper').css(Daterequest.windowWrapperCssObj);
		jQuery('#ajax-window').css(Daterequest.windowCssObj);
		if(jQuery.browser.safari) bodyelem = jQuery("body")
		else bodyelem = jQuery("html,body")
		var offset_top = bodyelem.scrollTop();
		if(offset_top > 0) {
			offset_top = offset_top + 39 ;
			var offset_top = bodyelem.scrollTop();
			jQuery('#ajax-window-wrapper').css({top:offset_top+'px'});
		}
	},
	
	closeWindow: function() {
		jQuery('#overlay').fadeOut(300);
		jQuery('#ajax-window-wrapper').fadeOut(300);
//		jQuery('#ajax-window-top').fadeOut(300);
//		jQuery('#ajax-window-bottom').fadeOut(300);
		jQuery('#ajax-window').html(' ');
	}
};

