//input textarea behavior onblur/onfocus behavior
Element.Behavior.add({
	/* CASSE LA COMPATIBILITÉ IE.... */
	/*'a, button': function(el) {
		if(!el._onclick) {
			el._onclick = el.onclick || function(){return true;};
			el.onclick = function(){return true;};
			
			el.observe('click', function(event) {
				if(el.getAttribute('disabled')) {
					event.stop();
					return false;
				}

				if(el.getAttribute('lock') && !lock('id:'+el.identify()+'-lock')) {
					event.stop();
					return false;
				}
				
				if(el._onclick.bind(el).call() == false) {
					event.stop();
					return false;
				}
				
				
			}, false);
		}
	},
	'input, textarea': function(el) {
		$(document).ready(function(){
			if(el.value.length == 0 && el.hasAttribute('help') && el.getAttribute('help').length > 0) {
				el.value = el.getAttribute('help');
			}
		});
	},
	'input:focus, textarea:focus': function(el) {
		if(el.getAttribute('help') == el.value) {
			el.value = '';
		}
	},
	'input:blur, textarea:blur': function(el) {
		if(el.value.length == 0 && el.hasAttribute('help') && el.getAttribute('help').length > 0) {
			el.value = el.getAttribute('help');
		}
	},*/
	'.scrollbar': function(el) {
		if(!el._scrollbar && Control.ScrollBar) {
			var scrollable = $(el.getAttribute('rel'));
			if(scrollable) {
				el.down('.track').setStyle({height: scrollable.getStyle('height')}); 
				el._scrollbar = new Control.ScrollBar(scrollable, el);
				
				_callback = function(e) {
					el._scrollbar.recalculateLayout();
					//selection = scrollable.selectionEnd;
					//el._scrollbar.scrollTo($(scrollable).scrollHeight);
	
					//console.log($(scrollable).scrollHeight);
					//console.log($(scrollable).clientHeight);
	
				};
				scrollable.observe('onchange', _callback);
				scrollable.observe('keydown', _callback);
				scrollable.observe('click', _callback);
				
				
				//Automatically clean objects
				$(document).observe('dom:gc', function() {
					if(!$(el.getAttribute('rel'))) {
						delete el._scrollbar;
					} else {
						el._scrollbar.recalculateLayout();
					}
				});
			}
		}
	},
	'.tooltip': function(el) {
		if(!el._tooltip && Control.Tooltip) {
			var target = $(el.getAttribute('rel'));
			if(target) {
				//Move to the end of the body
				$(document.body).childElements().last().insert({before:el});

				el._tooltip = new Control.Tooltip(target, el, {
					tooltipOffsetY : el.getHeight() / 2,
					tooltipOffsetX : el.getWidth() / 2,
					offsetY: 25,
					offsetX: -25
				});
				
				
				//Automatically clean objects
				$(document).observe('dom:gc', function() {
					if(!$(el.getAttribute('rel'))) {
						delete el._tooltip;
					}
				});
			}
		}
	}
});
