////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    public void OnButtonAddElementClicked(BasicButton sender)
    {
        int counter=0;

        if(elementType==ElementTypes.chapters){
            iObject newChapter;
            newChapter = Data.newChapter("", "", -1, -1, null);
            listButtons.Add(Instantiate(mButtons[1]) as GameObject);
            counter=GetCount();
            listButtons[counter].GetComponent<BasicButton>().iObj = newChapter;
            mGUIManager.CurrentCharacter=null;
            mGUIManager.CurrentBackground=null;
        }
        else if(elementType==ElementTypes.blocks){
            iObject newBlock;
            newBlock = Data.selChapter.newBlock(Data.Chapter.Block.blockTypes.Time, Data.Chapter.Block.shotTypes.CloseUP, Data.Chapter.Block.filterType.Off, 25, 1, 1, null);
            listButtons.Add(Instantiate(mButtons[1]) as GameObject);
            counter=GetCount();
            listButtons[counter].GetComponent<BasicButton>().iObj = newBlock;
        }

        listButtons[counter].transform.position = listButtons[0].transform.position;
        listButtons[counter].transform.localScale = new Vector3(ButtonProperties.buttonSize, ButtonProperties.buttonSize, 1);
        listButtons[counter].transform.parent = transform;
        listButtons[counter].GetComponent<BasicButton>().Refresh();
        listButtons[counter].GetComponent<BasicButton>().Show(0.2f, 0.2f);
        ButtonPressed(listButtons[counter].GetComponent<BasicButton>());

        listButtons[0].GetComponent<BasicButton>().Hide(0 ,0.2f);
        listButtons[0].GetComponent<BasicButton>().Checked=true;

        stateElements = StatesElements.adding_element;

        mGUIManager.HideAllButtonBars();
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    private void Message_Delete(TVR.Utils.Message.ButtonClicked buttonClicked, int Identifier)
    {
        if(buttonClicked == TVR.Utils.Message.ButtonClicked.Yes){
            currentSelected.Hide(0, 0.2f);
            currentSelected.iObj.Delete();
            CurrentSelectedDeleted=currentSelected;
            MoveButtonsAfterDelete();
            stateElements=StatesElements.deleting_element;
            mSpeed.End();

            mGUIManager.DisableButtons(elementType);
            mGUIManager.HideAllButtonBars();

            if(elementType==ElementTypes.chapters){
                mGUIManager.CurrentCharacter=null;
                mGUIManager.CurrentBackground=null;
                mGUIManager.inputText.enable = false;
                mGUIManager.inputText.Fade(0, Globals.ANIMATIONDURATION, true, false, 0);
            }
        }
        mGUIManager.blur = false;
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    protected override void Update()
    {
        base.Update();

        //Adding elements (show add elements button)
        if(stateElements==StatesElements.adding_element && listButtons[0].GetComponent<BasicButton>().state == BasicButton.States.hidden){
            listButtons[0].transform.position = listButtons[GetCount()].transform.position - new Vector3(0, ButtonProperties.buttonMargin+ButtonProperties.buttonSize, 0);
            listButtons[0].GetComponent<BasicButton>().Show(0, 0.2f);
            listButtons[GetCount()].GetComponent<BasicButton>().Checked=true;
            ResizeButtonBarAfterAdd();
            stateElements=StatesElements.idle;
        }
        //Deleting elements (destroy button object)
        else if(stateElements==StatesElements.deleting_element &&
                listButtons[0].GetComponent<BasicButton>().state == BasicButton.States.idle &&
                (listButtons[1].GetComponent<BasicButton>().state == BasicButton.States.idle ||
                 listButtons[1].GetComponent<BasicButton>().state == BasicButton.States.hidden)){
            listButtons.RemoveAt(CurrentSelectedDeleted.iObj.Number);
            Destroy(CurrentSelectedDeleted.gameObject);
            CurrentSelectedDeleted=null;
            stateElements=StatesElements.idle;
            ResizeButtonBarAfterDelete();
        }
    }