
var urlText = "Enter YouTube video URL or keyword(s)";

var vi = {
    mouseOver : function(item) {
        item.className = 'videoItemHover';
    },
    
    mouseOut : function(item) {
        item.className = 'videoItem';
    },
    
    download : function(url) {
        $('durl').value = url;
        $('df').submit();
    }
}

var loaded = false;
var timer;
function mouseOverImage(name,id,nr){

    if (!loaded) return;
    
    if(name)
        imname = name;
    
        imname.className = 'hover';
        imname.src = "http://img.youtube.com/vi/" + id + "/" + nr + ".jpg";
        nr++;
        if (nr > 3) 
            nr = 1;
        timer = setTimeout("mouseOverImage(false,'" + id + "'," + nr + ");", 1000);
}


function mouseOutImage(name){
    
    if (!loaded) return;

    if(name)
        imname = name;
    //make border back to greyish
    
    //imname.style.border =     '4px solid #333333';
    imname.className = '';
    if(timer)
        clearTimeout(timer)

}


var currentOpenVideoId = null;

// perform request
function pr() {
    var input = jQuery.trim($('#url')[0].value);
    if (!input.length || input == urlText) {
        return false;
    }
    var sort = $('#sort')[0].options[$('#sort')[0].selectedIndex].value;
    pr2(input, 0, sort);
}

function pr2(input, index, sort) {
    var args = 'sender=f&args=' + encodeURIComponent(input);
    args += '&i=' + encodeURIComponent(index);
    args += '&s=' + encodeURIComponent(sort);
    $.post('.', args, callback, 'json');
}

function mp() {
    var args = 'sender=f&args=popular';
    $.post('.', args, callback, 'json');
}



function nv() {
    var args = 'sender=f&args=new';
    $.post('.', args, callback, 'json');
}

function nvw() {
    var args = 'sender=f&args=newweek';
    $.post('.', args, callback, 'json');
}

function tc() {
    var args = 'sender=f&args=tagcloud';
    $.post('.', args, callback, 'json');
}

function t(tagid) {
     var args = 'sender=f&args=tag&id=' + tagid;
    $.post('.', args, callback, 'json')
}

function cat(catid) {
     var args = 'sender=f&args=cat&id=' + catid;
    $.post('.', args, callback, 'json')
}

function callback(data, textStatus) {
    if (data.url) {
        $('#resultUrl')[0].href = data.url;
        $('#resultUrl')[0].title = data.title;
         $('#resultUrl').text(data.title);
        $.blockUI({ message: $('#resultDlg'), css: { width: '420px', border: '0px' } });
        return false;
    }
    if (data.searchResult) {
        $('#mainContent').html(data.searchResult);
        $(BT_init);
        $.unblockUI();
    }
    if (data.scrollUp) {
        scroll(0,0);
    }
    if (data.id) {
        $('#' + data.id).html(data.content);
        if (data.id == 'panel') {
            var links = $("a[@rel^='shadowbox']");
            if (links)
                Shadowbox.setup();
        }
        //if (data.scrollTop) {
            scroll(0,0);
        //}
        if (data.debug) {
            alert(data.debug);
        }
    }
    if (data.error) {
        alert(data.error);
        $.unblockUI();
    }
}

// block when ajax activity starts
$().ajaxStart(function() { $.blockUI({ css: { padding: '.5em', border: '1px solid #d76300', color: '#fff', backgroundColor:'#222' }, message: '<h1 style="lineheight:1em;vertical-align:middle"><img src="images/load.gif" />&nbsp;&nbsp;&nbsp;Please wait <span class="green">...</span></h1>' }); });
// unblock when ajax activity stops 
//$().ajaxStop($.unblockUI); 






function getVideoId(url){

    if (!loaded) return;

    var id = false;
    var fIndex = url.indexOf("watch?v=");
    if (fIndex != -1) {
        var str = url.substr(fIndex + 8);
        var lIndex = str.indexOf('&');
        if (lIndex != -1) {
            id = str.substr(0, lIndex);
        }
        else {
            id = str;
        }
    }
    return id;
}

var DirectLink = {
    _last: null,
    
    toggle: function(e) {
        if (this._last == e) {
            this._last.style.display = 'none';
            this._last = null;
            return false;
        }
        
        if (this._last != null) {
            this._last.style.display = 'none';
        }
        
        this._last = e;
        this._last.style.display = 'block';
        return false;
    },
    
    listItemOnMouseOver: function(e) {
    },
    
    listItemOnMouseOut: function(e) {
    }
};

$(document).ready(function(){
    var url = $('url');
    $("form").bind("go", pr);
    if (url && url.focus) url.focus();
    
    $('#closeResultDlg').click(function() { 
            $.unblockUI(); 
            return false; 
        });             
        
    $("form").bind("submit", pr);
    $("#url").bind("focus", function(e){
        $(this).removeClass('urlBlur');
        $('#sort').removeClass('urlBlur');
        $(this).removeClass('urlBlurEmpty');
        $(this).addClass('urlFocus');
        $('#sort').addClass('urlFocus');
        
        if ($('#url')[0].value == urlText) {
          $('#url')[0].value = '';
        }
    });
    $("#url").bind("blur", function(e){
        $(this).removeClass('urlFocus');
        $('#sort').removeClass('urlFocus');
        $(this).addClass('urlBlur');
        $('#sort').addClass('urlBlur');
        
        if (jQuery.trim($('#url')[0].value) == '') {
          $('#url')[0].value = urlText;
          $(this).addClass('urlBlurEmpty');
        }
    });
    $("#sort").bind("focus", function(e){
        $(this).removeClass('urlBlur');
        $('#url').removeClass('urlBlur');
        $(this).removeClass('urlBlurEmpty');
        $(this).addClass('urlFocus');
        $('#url').addClass('urlFocus');
    });
    $("#sort").bind("blur", function(e){
        $(this).removeClass('urlFocus');
        $('#url').removeClass('urlFocus');
        $(this).addClass('urlBlur');
        $('#url').addClass('urlBlur');        
    });
    $('#url')[0].focus();
    
    $('#resDemo').bind("click", function (e) {
        e.preventDefault();
        $('#resContainer').modal({
                close: false,
                overlayId: 'res-overlay',
                containerId: 'res-container',
                onOpen: res.open,
                onShow: res.show,
                onClose: res.close
            });
    });

    // preload images
    var img = ['load.gif','download.gif','view.gif','downloads.gif','closes.gif'];
    $(img).each(function () {
        var i = new Image();
        i.src = 'images/' + this;
    });
});

Shadowbox.loadSkin('classic', 'js/shadowbox/js/skin');
Shadowbox.loadLanguage('en', 'js/shadowbox/js/lang');
Shadowbox.loadPlayer(['flv', 'html', 'iframe', 'img', 'qt', 'swf', 'wmp'], 'js/shadowbox/js/player');
    
window.onload = function(){
loaded = true;
Shadowbox.init({ loadingImage: 'images/load.gif' });
}
