var canceled = false;

function $(id)
{
    return document.getElementById(id);
}

function hide(ids)
{
    ids = ids.split(',');
    for (var i = 0; i < ids.length; i++)
    {
        var o = $(ids[i]); 
        if (o) 
            o.style.display = 'none';
    }
}

function show(ids)
{
    ids = ids.split(',');
    for (var i = 0; i < ids.length; i++)
    {
        var o = $(ids[i]); 
        if (o) 
            o.style.display = '';
    }
}

function clearurl()
{
    o = $('url');
    if (o.value=="paste image URL here..") 
    {
        o.value='';
        o.style.color='black';
    }
}

function totext()
{
    hide('videocomment');
    show('textcomment,textentry');
    $('text_comment_tab').className = 'selected';
    $('video_comment_tab').className = 'ser';
}

function tovideo()
{
    $('text_comment_tab').className = 'ser';
    $('video_comment_tab').className = 'selected';
    hide('textcomment');
    show('videocomment,textentry');
    detect_video_toolbar();
}

function get_tag(text, name)
{
    var start = '<' + name + '>';
    var spos = text.indexOf(start);
    if (spos < 0)
        return null;
    var end = '</' + name + '>';
    var epos = text.indexOf(end);
    if (epos < 0)
        return null;
    return text.substring(spos + start.length, epos);
}

function detect_video_toolbar()
{
    var _ver     = toolbar_version();
    var _browser = is_known_browser();
    if (!_ver)
    {
        if (_browser)
        {
            show('video_toolbar_wrong_version');
            hide('video_toolbar_wrong_browser');
            hide('video_toolbar_enabled');
        }
        else
        {
            hide('video_toolbar_wrong_version');
            show('video_toolbar_wrong_browser');
            hide('video_toolbar_enabled');
        }
    }
    else
    {
        if (_ver[0] == 4 && _ver[1] >= 3 || _ver[0] > 4)
        {
            hide('video_toolbar_wrong_version');
            hide('video_toolbar_wrong_browser');
            show('video_toolbar_enabled');
        }
        else
        {
            show('video_toolbar_wrong_version');
            hide('video_toolbar_wrong_browser');
            hide('video_toolbar_enabled');
        }
    }

}

function toolbar_version()
{   
    var _search = 'ImageShackToolbar/';
    var _pos = navigator.userAgent.indexOf(_search);
    if (_pos < 0)
    {
        _search = 'ImageShack Toolbar ';
        _pos = navigator.userAgent.indexOf(_search);
        if (_pos < 0)
            return false;
    }
    var _s = navigator.userAgent.substring(_pos + _search.length);
    _pos = _s.indexOf(' ');
    if (_pos < 0)
    {
        _pos = _s.indexOf(')');
        if (_pos < 0)
            return false;
    }
    var _tokens = _s.substring(0, _pos).split('.');
    if (_tokens.length < 3)
        return false;
    var _maj = parseInt(_tokens[0], 10);
    var _min = parseInt(_tokens[1], 10);
    var _bld = parseInt(_tokens[2], 10);
    return [_maj || 0, _min || 0, _bld || 0];
}

function is_known_browser()
{
    if (navigator.platform.indexOf('Win') < 0)
        return false;
    var _ver = 0;
    var _is_ff = navigator.userAgent.indexOf('Firefox/') > 0;
    if (_is_ff)
        _ver = parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('Firefox/') + 8)); 
    var _is_ie = navigator.userAgent.indexOf('MSIE') > 0;
    if (_is_ie)
        _ver = parseFloat(navigator.userAgent.substring(navigator.userAgent.indexOf('MSIE') + 4)); 
    if (isNaN(_ver))
        _ver = 0;
    return _is_ie && _ver >= 6.0 || _is_ff && _ver >= 1.5 ? [_is_ie, _ver] : false;
}

function openJSUploadDialog()
{
    try
    {
        var uploader = new ActiveXObject("ImageShackToolbar.FileUploader");
        uploader.destination = document;
        uploader.progress = document;
        uploader.OpenUploadDialog();
    }
    catch(e)
    {
        alert(e);
    }
}

function uploadShowProgress(bShow)
{    
    if (bShow)
    {
        show('progress,progress_cur_file');
        hide('ImageShack-JS-Upload,cancelbutton,videoformcontrols');
    }
    else
    {
        hide('progress,progress_cur_file');
        show('ImageShack-JS-Upload,cancelbutton,videoformcontrols');
        canceled = false;
    }
}

function uploadSetItemName(fileName)
{
    $('cur_file_name').innerHTML = fileName;
}

function uploadSetItemCount(iFile, iFileCount)
{
}

function uploadProgressChange(iProgress, iProgressMax)
{
    var completion = 20 * iProgress / iProgressMax;
    for (var i = 0; i < 20; i++)
    {
        var p = $('p' + i);
        if (p)
            p.style.background = '#FFFFFF';
    }
    for (var i = 0; i < completion; i++)
    {
        var p = $('p' + i);
        if (p)
            p.style.background = '#0000FF';
    }
    $('cur_progress').innerHTML = Math.ceil(iProgress * 100 / iProgressMax);
    return !canceled;
}

function uploadSetSize(size_str)
{
}

function uploadShowError(error_msg, details)
{
    alert('Upload failed: ' +  error_msg);
    return "cancel";
}

function uploadComplete(xml)
{
   $('media').value = xml;
   $('videotext').value = $('textentryarea').value;
   $('videoform').submit();
}

function cancelUpload()
{
    canceled = true;
    hide('progress,progress_cur_file');
    show('ImageShack-JS-Upload,cancelbutton,videoformcontrols');
}
