$(document).ready(function() {
	//
	// line_life app
	
	$j('img.lineLifeImg').mouseenter(function() {
		var dLayer = {
			LAYER: $j('#descrLayer'),
			CONTENT: $j('#descrLayer').children("#descrLayerContent")
		}
		$j(this).parent().before(dLayer.LAYER);
		piccolino.getLifeLineEvent($j(this).attr('id'),function(data) {
			dLayer.CONTENT.html("");
			var title = data.title || "";
			var t_layer = document.createElement("div");
			$j(t_layer).addClass('t_header');
			$j(t_layer).html("<h3>"+title+"</h3>"+data.date);
			dLayer.CONTENT.append($j(t_layer));
			$j(t_layer).after(data.content);
			dLayer.LAYER.show();
		});
		$j('.closeLayer').click(function() {
			dLayer.LAYER.hide();
		})
	}).mouseleave(function() {
		clearTimeout(t);
	});

	//
	// disable autocomplete
	
	$j('.disableAutocomplete').each(function() {
		$j(this).attr("autocomplete","off");
	});

	//
	// init autosuggest
	
	$j('input#tags_list').each(function() {
		var $this = $j(this);
		if($this.val() == "") {
			$this.AutoSuggest({ suggest: "tag1, tag2, tag3...",	clearValue: false });
		}
	});
	$j('input#user_session_email').AutoSuggest({ suggest: "E-mail",	clearValue: true });
	$j('input#user_session_password').AutoSuggest({ suggest: "Hasło", clearValue: true });
	$j('input#height_value').AutoSuggest({ suggest: "np. 55", clearValue: true });
	$j('.addChild input#child_height').AutoSuggest({ suggest: "np. 55", clearValue: true });
	$j('input#weight_value').AutoSuggest({ suggest: "np. 3,400", clearValue: true });
	$j('.addChild input#child_weight').AutoSuggest({ suggest: "np. 3,400", clearValue: true });
	
});


jQuery.fn.AutoSuggest = function(data) {
	var defaultOptions = {
		suggest: "",
		clearValue: false
	}
	var options = $j.extend(defaultOptions, data);

	var $field = $j(this);
	if(options.clearValue) {
		clearFieldValue($field);
	}
	
	// create fake field
	var $fakeField = $field.clone();
	if($fakeField.attr("type") == "password") { 
		var $temp_fakeField = document.createElement('input');
		$temp_fakeField.setAttribute('type','text');
		$fakeField = $j($temp_fakeField);
		$fakeField.addClass($field.attr("class"));
	}
	$fakeField.attr({
		id: "fake_"+$field.attr("id"),
		name: "",
		value: options.suggest
	});
	$fakeField.addClass("fake_fields");
	$fakeField.insertBefore($field);
	$field.hide();
	
	// events
	$fakeField
	.click(function() {
		hideAutoSuggest($fakeField, $field);
	})
	.focus(function() {
		hideAutoSuggest($fakeField, $field);
	});
	
	function hideAutoSuggest(fake_el, el) {
		fake_el.remove();
		el.show().focus();
		if(options.clearFieldValue) {
			clearFieldValue(el);
		}
	}
	
	function clearFieldValue(field) {
		field.attr("value","");
	}
};
 