/**
 * Zjistí typ prohlížeče.
 */
function DetectUserAgent()
{
    result = 'unknown';

    navStr = navigator.userAgent.toLowerCase();
    if (navStr.indexOf('msie') >= 0)
        result = 'explorer';
    else if (navStr.indexOf('firefox') >= 0)
        result = 'firefox';
    else if (navStr.indexOf('opera') >= 0)
        result = 'opera';
    else if (navStr.indexOf('safari') >= 0)
        result = 'safari';

    return result;
} // end of DetectUserAgent()

var agent = DetectUserAgent();

/**
 * Vloží značku do textu v prvku <textarea>
 */
function Mark(areaId, mark)
{
    result = true;

    try
    {
        var area = document.getElementById(areaId);
        if (area)
        {
            var retrieved = false;
            var startText = '';
            var selectedText = '';
            var endText = '';

            var frontMark = '';
            var backMark = '';
            
            switch (mark)
            {
                case 'bold':
                    frontMark = '[b]';
                    backMark = '[/b]';
                    break;
                    
                case 'underline':
                    frontMark = '[u]';
                    backMark = '[/u]';
                    break;
                    
                case 'italic':
                    frontMark = '[i]';
                    backMark = '[/i]';
                    break;
                    
                case 'bullets':
                    frontMark = '[odrážky]\n';
                    backMark = '\n[/odrážky]';
                    break;
                    
                case 'numbers':
                    frontMark = '[číslování]\n';
                    backMark = '\n[/číslování]';
                    break;
                    
                case 'item':
                    frontMark = '[položka]';
                    backMark = '[/položka]';
                    break;
                    
                case 'anchor':
                    frontMark = '[odkaz()]';
                    backMark = '[/odkaz]';
                    break;
                    
                case 'image':
                    frontMark = '[obrázek()]';
                    break;
                    
                case 'thumb':
                    frontMark = '[náhled()]';
                    break;
                    
                case 'space':
                    frontMark = '[mezera]';
                    break;
                    
                default:
                    frontMark = mark;
            }

            if (agent == 'firefox' || agent == 'opera' || agent == 'safari')
            {
                if (area.selectionStart != undefined)
                {
                    retrieved = true;
                    startText = area.value.substr(0, area.selectionStart);
                    selectedText = area.value.substr(area.selectionStart, area.selectionEnd - area.selectionStart);
                    endText = area.value.substr(area.selectionEnd);
                }
            }
            else if (document.selection)
            {
                retrieved = true;
                var selText = document.selection.createRange().text;
                var pos = area.value.indexOf(selText);
                if (selText.length > 0 && pos >= 0)
                {
                    startText = area.value.substr(0, pos);
                    selectedText = selText;
                    endText = area.value.substr(pos + selText.length, area.value.length - pos - selText.length);
                }
                else
                {
                    startText = area.value;
                }
            }

            if (retrieved)
            {
                area.value = startText + frontMark + selectedText + backMark + endText;
                if (agent == 'firefox' || agent == 'opera' || agent == 'safari')
                {
                    area.selectionStart = startText.length;
                    area.selectionEnd = startText.length + frontMark.length + selectedText.length + backMark.length;
                }
                result = false;
            }
            else
            {
                area.value = area.value + frontMark + backMark;
                result = false;
            }
            area.focus();
        }
    }
    catch (e)
    {
        window.alert(e);
    }

    return result;
} // end of Mark()

/**
 * Zobrazí / skryje element.
 */
function ToggleDisplay(elementId)
{
    var result = true;
    try
    {
        var element = document.getElementById(elementId);
        if (element)
        {
            if (element.style.display == 'block')
                element.style.display = 'none';
            else
                element.style.display = 'block';
        }
        result = false;
    }
    catch (e)
    {
        window.alert(e);
    }

    return result;
} // end of ToggleDisplay()

