function prepareTooltipSERP(settings){
	
	var settings = jQuery.extend({
		element : null,
		url : null,
		id : null
	}, settings || {} );
	
	if( settings.element && settings.url ){
		
		jQuery(
			settings.element
		).unbind(
			"click"
		).bind("click", function(event){
			mbaAvailabilityTooltip({
				currentSelector : jQuery(this),
				eventType : event,
				url : settings.url
			});
		});
	}
	
}


/************************ mbaAvailabilityTooltip - BEGIN ************************/
function mbaAvailabilityTooltip(globalsettings){
		
	var globalsettings = jQuery.extend({
		
		// layout container
		styleContainer : '<div id="availabilityTooltipContainer" class="baurTooltipDisplayContainer baurTooltipStyleContainerDefault baurTooltipStyleContainerFixed baurTooltipAlignCenterTop" style="display:none;">' + 
			'<div class="baurTooltipStyleContainer_surface_left">' + 
				'<div class="baurTooltipStyleContainer_surface_right">' + 
					'<div class="baurTooltipStyleContainerContent">' + 
						'<div class="baurTooltipStyleContainerContentInner"><!-- - --></div>' + 
					'</div>' + 
				'</div>' + 
			'</div>' + 
			'<div class="baurTooltipStyleContainer_corner_topLeft"><!-- - --></div>' + 
			'<div class="baurTooltipStyleContainer_corner_topRight"><!-- - --></div>' + 
			'<div class="baurTooltipStyleContainer_corner_bottomLeft"><!-- - --></div>' + 
			'<div class="baurTooltipStyleContainer_corner_bottomRight"><!-- - --></div>' + 
			'<div class="baurTooltipStyleContainer_surface_top">' + 
				'<div class="baurTooltipStyleContainer_surface_body"><!-- - --></div>' + 
			'</div>' + 
			'<div class="baurTooltipStyleContainer_surface_bottom">' + 
				'<div class="baurTooltipStyleContainer_surface_body"><!-- - --></div>' + 
			'</div>' + 
			'<div class="baurTooltipCloseButton">' + 
				'<a class="closebaurTooltip" href="javascript:void(0);">' + 
					'<span class="closebaurTooltip">' + 
						'<span class="closebaurTooltipText">' + 
							'schliessen' + 
						'</span>' + 
					'</span>' + 
				'</a>' + 
			'</div>' + 
		'</div>' + 
		'<div id="baurTooltipCloseLayer"><!-- - --></div>',
		
		fixed : true,
		position : ['center', 'top', 0, -5],
		
		currentSelector : null,
		
		eventType : null
		
	}, globalsettings || {} );
	
	
	if( globalsettings.currentSelector && globalsettings.url ){
		
		
		var selectorObj = globalsettings.currentSelector;
		
		if( jQuery("div#availabilityTooltipContainer").length == 0 ){
			jQuery('body').append(
				globalsettings.styleContainer
			);
		}
		
		
		var tooltipObj = jQuery("div#availabilityTooltipContainer");
		
		
		tooltipObj.find(
			".baurTooltipStyleContainerContentInner"
		).html(
			'<iframe src="' + globalsettings.url + '" xwidth="300" xheight="1000" frameborder="0"></iframe>'
		);
		
		
		if( tooltipObj.is(":visible") ){
				
			hideTooltip();
			
		} else {
			
			showTooltip({
				element : selectorObj,
				obj : tooltipObj,
				event : globalsettings.eventType
			});
		}
		
		
		// close button
		jQuery(
			".baurTooltipCloseButton"
		).unbind(
			"click"
		).bind("click", function(){
			hideTooltip();
		});
		
		
		// close layer
		jQuery(
			"#baurTooltipCloseLayer"
		).unbind(
			"click"
		).bind("click", function(){
			hideTooltip();
		});
		
	}
	
	
	
	/*~~~~~ hideTooltip / BEGIN ~~~~~*/
	function hideTooltip(){
		
		tooltipObj.hide().removeClass(
			"baurTooltipStatusActive"
		);
		
		jQuery(
			"#baurTooltipCloseLayer"
		).css({
			display : 'none'
		});
	}
	/*~~~~~ hideTooltip / END ~~~~~*/
	
	
	
	/*~~~~~ showTooltip / BEGIN ~~~~~*/
	function showTooltip(settings){
			
		
		var settings = jQuery.extend({
			element : null,
			obj : null,
			event : null
		}, settings || {} );
		
		
		setPosition({
			element : settings.element,
			obj : settings.obj,
			event : settings.event
		});
		
		
		jQuery(
			"#baurTooltipCloseLayer"
		).css({
			display : 'block'
		});
		
		
		if( !settings.obj.hasClass("baurTooltipStatusActive") ){
			settings.obj.show().addClass(
				"baurTooltipStatusActive"
			);
		}
		
	}
	/*~~~~~ showTooltip / END ~~~~~*/
	
	
	
	/*~~~~~ setPosition / BEGIN ~~~~~*/
	function setPosition(settings){
	
		
		var settings = jQuery.extend({
			element : null,
			obj : null,
			event : null,
			posX : 0,
			posY : 0
		}, settings || {} );
		
		// posX
		settings.posX = settings.event.clientX - (settings.obj.outerWidth() / 2);
		
		// posY
		settings.posY = settings.element.offset()["top"] - 5 - settings.obj.outerHeight();
		
		settings.obj.css({
			left : settings.posX + 'px',
			top : settings.posY + 'px',
			position : 'absolute'
		});
		
	}
	/*~~~~~ setPosition / END ~~~~~*/
	
	
	
}
/************************ mbaAvailabilityTooltip - END ************************/
