/**
 * @author merlyn
 */
(function( $ ){
	$.fn.yToolTip = function(toolTipText) {
  		var fieldID;
		fieldID = this.attr("id");
		
		var getNumber = function(numb)
		{
			retNum = parseFloat(numb);
			if(isNaN(retNum)) {
				return 0;
			} else {
				return retNum;
			}
		};

		this.wrap('<div class="yTipContainer"></div>');		
		this.after('<label for="' + fieldID + '" id="' + fieldID + '_label" class="yLabel">' + toolTipText + '</label>');
		
		marginLeft = getNumber(this.css("margin-left")) + getNumber(this.css("padding-left")) + getNumber(this.css("border-left-width"));
		marginTop = getNumber(this.css("margin-top")) + getNumber(this.css("padding-top")) + getNumber(this.css("border-top-width")); 
		
		$('#'+fieldID+'_label').css("top", marginTop + "px");
		$('#'+fieldID+'_label').css("left", marginLeft + "px");
		if(this.css('vertical-align') == 'middle') {
			$('#'+fieldID+'_label').css("line-height", this.css("height"));
		} else {
			$('#'+fieldID+'_label').css("line-height", this.css("line-height"));
		}
		
		$('#'+fieldID+'_label').css("font-size", this.css("font-size"));
		$('#'+fieldID+'_label').css("font-family", this.css("font-family"));
		
		if(this.val() != "")
		{
			$('#'+fieldID+'_label').hide();
		}
		
		this.focus(function(e){
			$('#'+fieldID+'_label').fadeOut(300);
		});		
		this.blur(function(e){
			if($(this).val() == "") {
				$('#'+fieldID+'_label').fadeIn(300);
			}
		});		
		$('#'+fieldID+'_label').click(function(e){
			$('#'+fieldID).focus();
		});		
	};
})( jQuery );
