function initWysiwyg(){
    tinyMCE.init({language : "es", skin:"cirkuit", mode : "textareas", editor_selector : "mceEditor", theme : "advanced", theme_advanced_toolbar_location : "top", theme_advanced_statusbar_location : "bottom", theme_advanced_toolbar_align : "left", theme_advanced_resizing : true,
    theme_advanced_buttons1 : "bold,italic,underline,|,cut,copy,paste,pastetext,pasteword,|,bullist,numlist,|,link,unlink",
    theme_advanced_buttons2 : "",
    theme_advanced_buttons3 : ""});
}

function validarEmail(valor) {
    if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
        return (true);
    } else {
        return (false);
    }
}

function abrirVentana(source, nombre){
    window.open(source, nombre, 'width=380, height=500, status=yes, scrollbars=yes, location=no, resizable=no, manu=no');
}

function redireccionarPadre(source){
    opener.location = source;
    self.close();
}

function confirmarBorrar(formulario){
    var agree=confirm("Realmente desea eliminarlo?");
    if (agree) {
        document.forms[formulario].submit();
    }
}

function validarNombre(formulario){
    if (formulario.nombre.value.length < 3) {
        alert("El nombre debe tener un minimo de 3 caracteres");
        return false;
    }
    else{
        return true;
    }
}

function validarDescripcion(formulario){
    if (formulario.descripcion.value.length < 3) {
        alert("El nombre debe tener un minimo de 3 caracteres");
        return false;
    }
    else{
        return true;
    }
}

function validarDescripcionTraduccion(formulario){
    try{
        if (formulario.idioma.value == ""){
            alert("Debe seleccionar el idioma de la traduccion");
            return false;
        }
        else if(formulario.nombre_trad.value == ""){
            alert("El nombre debe tener un minimo de 3 caracteres");
            return false;
        }
        else{
            return true;
        }
    }
    catch(e){
        return validarDescripcion(formulario);
    }
}

function cambiarIdiomaFront(idioma){
    document.frm_idioma.idioma.value = idioma;
    document.frm_idioma.submit();
}

function cambiarIdioma(idioma, dfpanel){
    var default_panel = "";
    if ( (dfpanel != undefined) && (dfpanel > 0) ){
        default_panel = "?dfpanel="+dfpanel;
    }
    document.frm_idioma.idioma.value = idioma;
    document.frm_idioma.action = document.frm_idioma.action + default_panel;
    document.frm_idioma.submit();
}

function redimensionarFrame() {
    if (navigator.appName == 'Microsoft Internet Explorer') {
        document.getElementById('tabla').style.height = '100%';
    } 
    else {
        document.getElementById('tabla').style.height = window.innerHeight + 'px';
    }
}

function valida_extension(input_file, tipo_archivo){

    // Valida que se haya indicado un tipo de archivo
    if(!tipo_archivo){
        alert("No se ha establecido ningun tipo de archivo valido para este campo");
        input_file.value = '';
        return false;
    }

    // Establece las extensiones permitidas, segun el tipo de archivo indicado
    tipo_archivo = tipo_archivo.toLowerCase();
    switch (tipo_archivo){
        case 'imagen':
            extensiones_permitidas = new Array(".gif", ".jpg", ".jpeg", ".png");
            break;
        case 'video':
            extensiones_permitidas = new Array(".mpg", ".avi", ".flv");
            break;
        case 'audio':
            extensiones_permitidas = new Array(".mp3");
            break;
        case 'documento':
            extensiones_permitidas = new Array(".pdf", ".doc", ".docx", ".odt");
            break;
        default:
            extensiones_permitidas = new Array("."+tipo_archivo);
    }

    var archivo = "";
    var extension = "";
    var permitida = false;

    // Determina el valor del input y la extension del archivo
    archivo = input_file.value;
    extension = (archivo.substring(archivo.lastIndexOf("."))).toLowerCase();

    // Comprueba si le extension esta dentro de las permitidas
    for (var i = 0; i < extensiones_permitidas.length; i++) {
        if (extensiones_permitidas[i] == extension) {
            permitida = true;
            break;
        }
    }

    // Si la exension no es permitida, indica el error, limpia el input y retorna falso
    if (!permitida) {
        alert("Compruebe la extensión del archivo. \nSólo se pueden subir archivos con extensiones: " + extensiones_permitidas.join());
        input_file.value = "";
        return false;
    }
    else{
        return true;
    }

}

function actionListaEntidad(elemento, id, tipo, ruta){
    var form = elemento.form;
    if(ruta!=undefined && ruta!=null){
        form.action = ruta;
    }
    if(tipo == 1){
      form.ideditar.value = id;
      form.idborrar.value = 0;
      form.submit();
    }
    else if(tipo == 2){
      form.ideditar.value = 0;
      form.idborrar.value = id;
      if(confirm("Realmente desea eliminarlo?")){
            form.submit();
      }
    }
    else if(tipo == 3){
      form.ideditar.value = id;
      form.idborrar.value = 0;
      form.traducir_.value = 1;
      form.submit();
    }	
}

// Autor: Libardo Diaz Florez Bucaramanga(Colombia)
// Tomado de: http://www.programacion.com/codigo/validar_fecha_59
// Adicionados algunos cambios, para adaptarlo a las necesidades
function validarFecha(fecha){   // fecha en formato DD-MM-AAAA
    fechaValida = true;
    if (fecha){
        borrar = fecha;
        if ((fecha.substr(2,1) == "-") && (fecha.substr(5,1) == "-")){
            for (i=0; i<10; i++){
                if (((fecha.substr(i,1)<"0") || (fecha.substr(i,1)>"9")) && (i != 2) && (i != 5)){
                    borrar = '';
                    break;
                }
            }
            if (borrar){
                a = fecha.substr(6,4);
                m = fecha.substr(3,2);
                d = fecha.substr(0,2);
                if((a < 1900) || (a > 2050) || (m < 1) || (m > 12) || (d < 1) || (d > 31)){
                    borrar = '';
                }
                else{
                    if((a%4 != 0) && (m == 2) && (d > 28)){
                        borrar = ''; // AÃ±o no viciesto y es febrero y el dia es mayor a 28
                    }
                    else{
                        if ((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29))){
                            borrar = '';
                        }
                    }
                }
            }
        }
        else{
            borrar = '';
        }
        if (borrar == ''){
            fechaValida = false;
        }
    }
    else{
        fechaValida = false;
    }
    return fechaValida;
}


