Element.Methods.crop_text = function(element, width){
	var container;
	var ratio = 0;
	var nbr_char = 0;
	var content = "";
	var changed = false;
	var finished = false;
	
	element = $(element);
	
	width -= 20;
	
	element.innerHTML = '<span id="SpanDim' + element.id + '">' + element.innerHTML + '</span>'	
	container = $("SpanDim" + element.id);
				
	if(container.getWidth() > width){
		ratio = width / container.getWidth();
		
		nbr_char = Math.round(container.innerHTML.length * ratio);
					
		content = container.innerHTML;
		
		do{
			container.innerHTML = content.left(nbr_char);
							
			if(container.getWidth() > width){
				nbr_char--;
				if(changed){
					container.innerHTML = content.left(nbr_char);
					finished = true;
				}
			}else if(container.getWidth() < width){
				nbr_char++;
				changed = true;
			}else{
				finished = true;
			}
		}while(!finished)
			
		container.innerHTML += "..."
	}
}

Element.Methods.is_numeric = function(element){
	var olRegExp = /^[0-9]+$/;
		
	element = $(element);
	return olRegExp.test(element.innerHTML);
};

Form.Element.Methods.update_select = function(element, value) {
	var i;
	var obj_option;
	var found = false;
	
	element = $(element);
  
	for(i=0; i<element.options.length; i++){
		obj_option = element.options[i];
			
		if (obj_option.value == value) {
			element.options[i].selectedIndex = i;
			obj_option.selected = true;
			found = true;
		}else{
			obj_option.selected = false;
		}
	}
	
	return element;
};

Element.addMethods();