// Definición de un calendario
function setupCalendario(idcampo) {
    Calendar.setup( {
        inputField: idcampo,
        ifFormat  : "%d-%m-%Y",
        button    : "trigger_" + idcampo
    } );
}

// Definición de un editor avanzado
function setupEditor(idcampo) {
    var oFCKeditor        = new FCKeditor(idcampo);
    oFCKeditor.BasePath   = "/NUCLEO/FCKeditor/";
    oFCKeditor.ToolbarSet = "mvc_default",
    oFCKeditor.Width      = "505px",
    oFCKeditor.Height     = "200px",
    oFCKeditor.ReplaceTextarea();
}

// Funciones a ejecutar en el submit
var funciones_someter_form = new Array();
function someter_form(form) {
    var res = true;
    var len = funciones_someter_form.length;
	for (someter_form_i=0; someter_form_i<len; someter_form_i++) {
	    eval("res = " + funciones_someter_form[someter_form_i] + "('" + form + "')");
	    if (res==false) return false;
	}
	return true;
}

// Control de validación de campos por JS
var obligatorios = new Array();
funciones_someter_form[funciones_someter_form.length] = "submitForm";
function submitForm(form_name){
	if (!validar_obligatorios(form_name, obligatorios)){
		alert(ERR_OBLIGATORIOS);
		return false;
	}
    return true;
}


/*******
 * COntrola que los caracteres de un textarea no sobrepasen el limite asignado
 * @param objeto el textarea que estamos tratando
 * @param maxLen numero maximo de caracteres
 * @return el texto del textarea con el numero maximo de caracteres permitidos (borra los sobrantes)
 */
function maxLength(objeto, maxLen) {
	if (objeto.value.length > maxLen) objeto.value = objeto.value.substring(0,maxLen); 
}

