String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}


function formtool_count_chars(textField, countField, maxlen, show_alert) {
    if(textField != null && textField.value != null) {
	    if (textField.value.length > maxlen){
            if(show_alert)
               alert('Aquest camp no pot exedir els ' +  maxlen + ' caràcters.');
            textField.value = textField.value.substring(0, maxlen);
	    } else {
            //countField.value = maxlen - textField.value.length;
            $(countField).innerHTML = (maxlen - textField.value.length); 
	    }
    }
}

// Input text que només poden ser numbers
function onKeyPressNumbers(e) {
	var key = window.event ? e.keyCode : e.which;
 	return key == 0 || key == 8 || (44 <= key && key <= 46) || (48 <= key && key <= 57);
}


// funcions ajax
function chgSelect(sltOrigen, sltDesti) {
	aRes = getValuesMultSelect(sltOrigen);
	alert(aRes);
	addSelectOptions(sltDesti, getData($(sltOrigen).value));
}
function getValuesMultSelect(slt) {
	arr_values = new Array();
	for(i=$(slt).length-1; i>=0; i--) {
		if ($(slt).options[i].selected == true) {
			arr_values.push($(slt).options[i].value);
		}
	}
	return arr_values;
}

function updateDependentSelect(sltOrigen, sltDesti, sURL){
	$(sltDesti).disable();
	new Ajax.Request(sURL, { method: 'post',
		parameters: $(sltOrigen).serialize(true),
  		onSuccess: function(transport) {
  			var response = transport.responseText || "no response text";
			var json_data;
			eval('json_data = ' + response);
  			addSelectOptions(sltDesti, json_data);
  			$(sltDesti).enable();
  		}
	});
}


function getData(val) {
	new_val = new Array();
	new_val[0] = new Array();
	new_val[0]['TEXT']="Hola_22";
	new_val[0]['VALUE']=33;
	new_val[1] = new Array();
	new_val[1]['TEXT']="Hola_24";
	new_val[1]['VALUE']=34;
	return new_val;
}
function addSelectOptions(att, data) {
	deleteSelectOptions(att);
	var o = $(att);
	for(j=0; j < data.length; j++) {
		var elOptNew = document.createElement('option');
		elOptNew.value = data[j]['VALUE'];
		elOptNew.text = data[j]['TEXT'];
		try {
			o.add(elOptNew, null); // standards compliant; doesn't work in IE
		}
		catch(ex) {
			o.add(elOptNew); // IE only
		}
	}
}
function deleteSelectOptions(att) {
	var n_elems = $(att).length; 
	for(i=0; i<n_elems; i++)
		$(att).remove(0);
}
function unselectSelectOptions(att) {
	for(i=0; i<$(att).length; i++)
		$(att)[i].selected = false;
}
function sendRequest() {
	alert("Enviat");
	$('results').hide();
	$('loading').show();
}

function isEmpty(s) {
	s = s.trim();
	return ((s == null) || (s.length == 0))
}