jQuery.fn.tooltip= function(options) {
		counter=0;	
	this.each(function(){
		var settings = {
			tooltipcontentclass:"searchTipcontent",
			width:376,
			postion:"absolute",
			zindex:100 
		};
		jQuery(this).addClass('test'+counter++ );
		klickid_array = '';
			klickid = jQuery(this).parent().attr("class");
			klickid_array = klickid.split(" ");
			jQuery('#tooltip'+klickid_array[1]).hide();
			//alert(klickid_array);
		if(options) {
			jQuery.extend(settings, options);
		}
		jQuery(this).children("."+settings.tooltipcontentclass).hide();
		
		jQuery(this).click(function() {
		if (jQuery('#tooltip'+klickid_array[1]).css('display') != 'none') {
		// Code ausführen, wenn DIV Element vorhanden. Funktioniert!
		//jQuery("#NT").remove();
			klickid_array = '';
			klickid = jQuery(this).parent().attr("class");
			klickid_array = klickid.split(" ");
		jQuery('#tooltip'+klickid_array[1]).hide();
		
		}
		else
		{
			klickid_array = '';
			klickid = jQuery(this).parent().attr("class");
			klickid_array = klickid.split(" ");
			jQuery('#tooltip'+klickid_array[1]).hide();
			//alert(klickid_array);
		   // jQuery("#NT").remove();
			var de = document.documentElement;
			test = jQuery(this).children("."+settings.tooltipcontentclass);
			var w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
			var hasArea = w - jQuery.fn.getAbsoluteLeftObject(this);
			var clickElementy = jQuery.fn.getAbsoluteTopObject(this) - 3; //set y position
			var title="&nbsp;";
			
			var controllWidth = jQuery.fn.getAbsoluteLeftObject(this) + arrowOffset+settings.width;

		//	jQuery("body").html(jQuery("body").html()+"<div id='NT' class='"+this.className+"'><div id='NT_copy'><div >"+jQuery(this).children("."+settings.tooltipcontentclass).html()+"</div></div></div>");//right side
	
			//jQuery("body").append("<div id='NT' class='"+this.className+"'><div id='NT_copy'><div >"+jQuery(this).children("."+settings.tooltipcontentclass).html()+"</div></div></div>");//right side
			
			
			var arrowOffset =  this.offsetWidth + 11;
			var topOffset =  jQuery('#tooltip'+klickid_array[1]).outerHeight()-14;//this.offsetHeight;
			var middleOffset =  this.offsetWidth / 2;
			var clickElementx = jQuery.fn.getAbsoluteLeftObject(this) + arrowOffset;
			var controllWidth = jQuery.fn.getAbsoluteLeftObject(this) + arrowOffset+settings.width;
			var maxWidth = jQuery(window).width();
		
			if(controllWidth > jQuery(window).width())
			{
			var clickElementx = jQuery.fn.getAbsoluteLeftObject(this)- arrowOffset - (settings.width/4);
			//alert(jQuery(".kunde_nose").css("background-image"));
			jQuery(".kunde_nose").css("background-image","url('typo3conf/ext/bm_zfkunde/res/images/tooltip_nose_right.png')");
			//alert(jQuery(".kunde_nose").css("background-image"));
			jQuery('#tooltip'+klickid_array[1]).css({left: clickElementx+"px", top: clickElementy-topOffset+"px"});	
			}
			else
			{
			jQuery('#tooltip'+klickid_array[1]).css({left: clickElementx-middleOffset+"px", top: clickElementy-topOffset+"px"});
			jQuery(".kunde_nose").css("background-image","url('typo3conf/ext/bm_zfkunde/res/images/tooltip_nose_left.png')");			
			}
			jQuery('#tooltip'+klickid_array[1]).css({width: settings.width+"px"});
			jQuery('#tooltip'+klickid_array[1]).css({position: settings.postion});
			jQuery('#tooltip'+klickid_array[1]).css("z-index",settings.zindex);
			jQuery('#tooltip'+klickid_array[1]).show();

			//alert(jQuery('#tooltip'+klickid_array[1]).attr("class"));
		} }),
		jQuery(this).hover(function() {
			var de = document.documentElement;
			test = jQuery(this).children("."+settings.tooltipcontentclass);
			var w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
			var hasArea = w - jQuery.fn.getAbsoluteLeftObject(this);
			var clickElementy = jQuery.fn.getAbsoluteTopObject(this) - 3; //set y position
			var title="&nbsp;";
			
			var controllWidth = jQuery.fn.getAbsoluteLeftObject(this) + arrowOffset+settings.width;
			klickid_array = '';
			klickid = jQuery(this).parent().attr("class");
			klickid_array = klickid.split(" ");
			jQuery('#tooltip'+klickid_array[1]).hide();
			//jQuery("body").append("<div id='NT' class='"+this.className+"'><div id='NT_copy'><div >"+jQuery(this).children("."+settings.tooltipcontentclass).html()+"</div></div></div>");//right side
			var arrowOffset =  this.offsetWidth + 11;
			var topOffset =  jQuery('#tooltip'+klickid_array[1]).outerHeight()-14;//this.offsetHeight;
			var middleOffset =  this.offsetWidth / 2;
			var clickElementx = jQuery.fn.getAbsoluteLeftObject(this) + arrowOffset;
			var controllWidth = jQuery.fn.getAbsoluteLeftObject(this) + arrowOffset+settings.width;
			var maxWidth = jQuery(window).width();
		
			if(controllWidth > jQuery(window).width())
			{
			var clickElementx = jQuery.fn.getAbsoluteLeftObject(this)- arrowOffset - (settings.width/4);
			//alert(jQuery(".kunde_nose").css("background-image"));
			jQuery(".kunde_nose").css("background-image","url('typo3conf/ext/bm_zfkunde/res/images/tooltip_nose_right.png')");
			//alert(jQuery(".kunde_nose").css("background-image"));
			jQuery('#tooltip'+klickid_array[1]).css({left: clickElementx+"px", top: clickElementy-topOffset+"px"});	
			}
			else
			{
			jQuery('#tooltip'+klickid_array[1]).css({left: clickElementx-middleOffset+"px", top: clickElementy-topOffset+"px"});
			jQuery(".kunde_nose").css("background-image","url('typo3conf/ext/bm_zfkunde/res/images/tooltip_nose_left.png')");			
			}
			jQuery('#tooltip'+klickid_array[1]).css({width: settings.width+"px"});
			jQuery('#tooltip'+klickid_array[1]).css({position: settings.postion});
			jQuery('#tooltip'+klickid_array[1]).css("z-index",settings.zindex);
			jQuery('#tooltip'+klickid_array[1]).show();
			
		} ,
		function() {
			//jQuery("#NT").remove();
			//jQuery("body").html(htmlinhalt);
			jQuery('#tooltip'+klickid_array[1]).hide();
	}
		
		)
	

	});
}
jQuery.fn.getAbsoluteLeftObject=function(o) {
	// Get an object left position from the upper left viewport corner
	oLeft = o.offsetLeft            // Get left position from the parent object
	while(o.offsetParent!=null) {   // Parse the parent hierarchy up to the document element
		oParent = o.offsetParent    // Get parent object reference
		oLeft += oParent.offsetLeft // Add parent left position
		o = oParent
	}
	return oLeft
}

jQuery.fn.getAbsoluteTopObject=function (o) {
	// Get an object top position from the upper left viewport corner
	oTop = o.offsetTop            // Get top position from the parent object
	while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element
		oParent = o.offsetParent  // Get parent object reference
		oTop += oParent.offsetTop // Add parent top position
		o = oParent
	}
	return oTop
}




