function getLink()
{
    var url = document.getElementById('url').value;
    if (!url.match(/\?v=([^&]+)/))
    {
        return;
    }

    var id = RegExp.$1;

    Element.hide('loader');
    Element.hide('link_block');
    Element.show('loading');

    var url  = 'http://YouTubeCapture.com';
    var pars = 'id='+id+'&redirect=1';
    
    new Ajax.Request(
        url,
        {
            parameters:pars,
            onSuccess:
                function(r)
                {
                    var url = r.responseText;
                    Element.hide('loading');
                    Element.show('link_block');
                    if (url == '')
                    {
                        document.getElementById('link').innerHTML = 'Error: invalid url';
                    }
                    else
                    {
                        document.getElementById('link').innerHTML = '<a href="'+url+'">Click here to download</a>';
                    }
                },
            onFailure:
                function()
                {
                    Element.hide('loading');
                    Element.show('link_block');
                    document.getElementById('link').innerHTML = 'Error';
                }
        }
    );
}

function reset()
{
    Element.hide('loader');
    Element.hide('link_block');
    Element.hide('loading');
    Element.hide('help');
    document.getElementById('url').value = '';
    document.getElementById('url').focus();
}

function bodyOnLoad(video_id)
{
    urlObject = document.getElementById('url');
    urlObject.focus();
    if (typeof video_id == 'string')
    {
        var url = 'http://www.youtube.com/watch?v=' + video_id;
        urlObject.value = url;
        getLink();
    }
    else
    {
        var url = '';
    }
    new Form.Element.Observer('url', 1, onURLChanged);
}

function onURLChanged()
{
    var url = document.getElementById('url').value;
    var id = getVideoID(url);
    if (id != '')
    {
        Element.show('loader');
    }
    else
    {
        Element.hide('loader');
    }
}

function getVideoID(url)
{
    if (url.match(/\?v=([^&]+)/))
    {
        return RegExp.$1;
    }
    return '';
}
