var YUIEditorConfig = {
    height: '300px',
    width: '620px',
    dompath: false,
    animate: true,
    focusAtStart: true,
    handleSubmit: true,
    removeLineBreaks: true,
    toolbar: {
        collapse: false,
        titlebar: 'Edición de texto',
        draggable: false,
        buttonType: 'advanced',
        buttons: [
            {
                group: 'fontstyle',
                label: 'Fuentes',
                buttons: [
                    {
                        type: 'select',
                        label: 'Arial',
                        value: 'fontname',
                        disabled: true,
                        menu: [
                            {
                                text: 'Arial',
                                checked: true
                            },
                            {
                                text: 'Arial Black'
                            },
                            {
                                text: 'Comic Sans MS'
                            },
                            {
                                text: 'Courier New'
                            },
                            {
                                text: 'Lucida Console'
                            },
                            {
                                text: 'Tahoma'
                            },
                            {
                                text: 'Times New Roman'
                            },
                            {
                                text: 'Trebuchet MS'
                            },
                            {
                                text: 'Verdana'
                            }
                        ]
                    },
                    {
                        type: 'spin',
                        label: '13',
                        value: 'fontsize',
                        range: [ 9, 75 ],
                        disabled: true
                    }
                ]
            },
            {
                type: 'separator'
            },
            {
                group: 'textstyle',
                label: 'Estilos',
                buttons: [
                    {
                        type: 'push',
                        label: 'Negrita',
                        value: 'bold'
                    },
                    {
                        type: 'push',
                        label: 'Cursiva',
                        value: 'italic'
                    },
                    {
                        type: 'push',
                        label: 'Subrayado',
                        value: 'underline'
                    },
                    {
                        type: 'separator'
                    },
                    {
                        type: 'push',
                        label: 'Subíndice',
                        value: 'subscript',
                        disabled: true
                    },
                    {
                        type: 'push',
                        label: 'Superíndice',
                        value: 'superscript',
                        disabled: true
                    },
                    {
                        type: 'separator'
                    },
                    {
                        type: 'color',
                        label: 'Color de fuente',
                        value: 'forecolor',
                        disabled: true
                    },
                    {
                        type: 'color',
                        label: 'Color de fondo',
                        value: 'backcolor',
                        disabled: true
                    },
                    {
                        type: 'separator'
                    },
                    {
                        type: 'push',
                        label: 'Eliminar formato',
                        value: 'removeformat',
                        disabled: true
                    },
                    {
                        type: 'push',
                        label: 'Mostrar/Ocultar elementos',
                        value: 'hiddenelements'
                    }
                ]
            },
            {
                type: 'separator'
            },
            {
                group: 'alignment',
                label: 'Alineación',
                buttons: [
                    {
                        type: 'push',
                        label: 'Izquierda',
                        value: 'justifyleft'
                    },
                    {
                        type: 'push',
                        label: 'Centrado',
                        value: 'justifycenter'
                    },
                    {
                        type: 'push',
                        label: 'Derecha',
                        value: 'justifyright'
                    },
                    {
                        type: 'push',
                        label: 'Centrado',
                        value: 'justifyfull'
                    }
                ]
            },
            {
                type: 'separator'
            },
            {
                group: 'parastyle',
                label: 'Párrafo',
                buttons: [
                    {
                        type: 'select',
                        label: 'Normal',
                        value: 'heading',
                        disabled: true,
                        menu: [
                            {
                                text: 'Normal',
                                value: 'none',
                                checked: true
                            },
                            {
                                text: 'Header 1',
                                value: 'h1'
                            },
                            {
                                text: 'Header 2',
                                value: 'h2'
                            },
                            {
                                text: 'Header 3',
                                value: 'h3'
                            },
                            {
                                text: 'Header 4',
                                value: 'h4'
                            },
                            {
                                text: 'Header 5',
                                value: 'h5'
                            },
                            {
                                text: 'Header 6',
                                value: 'h6'
                            }
                        ]
                    }
                ]
            },
            {
                type: 'separator'
            },
            {
                group: 'indentlist',
                label: 'Listas',
                buttons: [
                    {
                        type: 'push',
                        label: 'Sangría interior',
                        value: 'indent',
                        disabled: true
                    },
                    {
                        type: 'push',
                        label: 'Sangría exterior',
                        value: 'outdent',
                        disabled: true
                    },
                    {
                        type: 'push',
                        label: 'Crear lista sin orden',
                        value: 'insertunorderedlist'
                    },
                    {
                        type: 'push',
                        label: 'Crear lista ordenada',
                        value: 'insertorderedlist'
                    }
                ]
            },
            {
                type: 'separator'
            },
            {
                group: 'insertitem',
                label: 'Enlaces',
                buttons: [
                    {
                        type: 'push',
                        label: 'Insertar enlace',
                        value: 'createlink',
                        disabled: true
                    }
                ]
            }
        ]
    }
};

var configExtended = false;

function onInsertImageClick() {
    //Get the selected element
    var _sel = this._getSelectedElement();
    //If the selected element is an image, do the normal thing so they can manipulate the image
    if (_sel && _sel.tagName && (_sel.tagName.toLowerCase() == 'img')) {
        
    } else {
        var elementId = this.get('element').id;
        var win = window.open('/admin/advance_images?editor_id=' + elementId, 'IMAGE_BROWSER', 'left=20,top=20,width=600,height=600,toolbar=0,resizable=0,status=0');
        if (!win) {
            alert('Deshabilite su bloqueador de pop-ups para ver la galería');
        }
        return false;
    }
}

function onToolbarLoaded() {
    //When the toolbar is loaded, add a listener to the insertimage button
    this.toolbar.on('insertimageClick', onInsertImageClick, this, true);
}

function onAfterOpenWindow() {
    var url = Dom.get(this.get('id') + '_insertimage_url');
    if (url) {
        url.disabled = true;
    }
}

function setImageUpload(editor) {
    editor.on('toolbarLoaded', onToolbarLoaded, editor, true);
    editor.on('afterOpenWindow', onAfterOpenWindow, editor, true);
    return editor;
}

function createYUIEditor(elementId, buttonId) {
    //set the config for the editor
    var config = $.extend({}, YUIEditorConfig, { handleSubmit: false });
    if (!configExtended) {
        configExtended = true;
        config.toolbar.buttons[10].buttons.push({ type: 'push', label: 'Insertar imagen', value: 'insertimage' });
    }

    //create the editor
    var YUIEditor = new YAHOO.widget.Editor(elementId, config);
    setImageUpload(YUIEditor);
    YUIEditor.render();

    $("#" + buttonId).bind('click', function(e) {
        YUIEditor.saveHTML();
        return true;
    });
}

function insertImage(filename, editorId) {
    var editor = window.opener.YAHOO.widget.EditorInfo.getEditorById(editorId);
    editor.execCommand('insertimage', filename);

}
