var MAX_ITEMS = 50;
var items_save; 
var the_term; var cont_ini=0;
yt = {};
yt.www = {};
yt.www.suggest = {};
yt.www.suggest.handleResponse = function(suggestions) {
    var searchTerm = parseSuggestionsString(suggestions);
    if (!searchTerm) {
        searchTerm = keyword;
         
        updateSuggestedKeyword(searchTerm+' (Exact search)');
         the_term=searchTerm;
    } else {
      
        updateSuggestedKeyword(searchTerm+' (Suggested) '); 
        the_term=searchTerm;
        if (searchTerm == currentSuggestion) {
            doneWorking();
            return;
        }
    }
    getTopSearchResult(searchTerm);
    currentSuggestion = searchTerm;
}
function updateHTML(elmId, value) {
    document.getElementById(elmId).innerHTML = value;
}
var keyCode
function tecla(e){
if(window.event)keyCode=window.event.keyCode;
else if(e) keyCode=e.which;
if (keyCode==13) {
 login();
 } }
 function et() {
 updateItems(items_save);
 }
function onBodyLoad() {
    currentSearch = '';
    currentSuggestion = '';
    xhrWorking = false; 
    searchPending = false; 
    the_itemsShowing = false; 
    currentMoreVideoNum = 0;
    var searchBox = $('#searchBox');    
    searchBox.keyup(doInstantSearch);
    searchBox.submit(doInstantSearch); 
    searchBox.keyup(function(e){if(e.which == 13){login();}}); 
    searchBox.focus();
    $('#mosaic').click(et);
    loadP();
       
}
function loadP() {
       
        // The video to load
        var videoID = 'ylLzyHk54Z0';
        // Lets Flash from another domain call JavaScript
    var params = { allowScriptAccess: "always",allowFullScreen:"true"};
        // The element id of the Flash embed
        var atts = { id: "ytPlayer" };
        // All of the magic handled by SWFObject (http://code.google.com/p/swfobject/)
        swfobject.embedSWF("http://www.youtube.com/v/" + videoID + 
                           "?version=3&html5=True&rel=0&autoplay=0&enablejsapi=1&disablekb=1&egm=0&showsearch=0&showinfo=0&color1=0xb1b1b1&color2=0xcfcfcf&fs=1&hd=1&showsearch=0&fs=1&feature=player_embedded", 
                           "preview", "300", "0", "8", null, null, params, atts);
                            document.getElementById('preview').style.display='none';                       
      }  
function onYouTubePlayerReady(playerId) {
        ytplayer = document.getElementById("ytPlayer");
        ytplayer.addEventListener("onError", "onPlayerError");
       ytplayer.addEventListener("onStateChange", "onPlayerStateChange");
      }      
function loadV(id) {      
        var videoID =id;          
        if(ytplayer) {
          pauseVideo();
          clearVideo();        
          ytplayer.loadVideoById(videoID);
          ytplayer.playVideo();
          resizePlayer(360, 240);
          document.getElementById('prev_video').innerHTML="<a style='background:#f7f7f7;width:360px' class='boton1' onMouseover='location.href=\"/?v="+videoID+"&q="+the_term+"\"'><b>Go to this video!</b></a>";
             window.frames['player'].pauseVideo();
        } 
        
        }
function clearVideo() { if (ytplayer) {ytplayer.clearVideo();}}
function pauseVideo() { if (ytplayer) {ytplayer.pauseVideo();}}        
function stop() { ytplayer.stopVideo(); } 
function resizePlayer(width, height) {
  var playerObj = document.getElementById("ytPlayer");
  playerObj.height = height;
  playerObj.width = width;
}                      
function onPlayerStateChange(newState) {
      ytState=newState;
      if(ytState==0) {
             resizePlayer(360, 0); 
             document.getElementById('prev_video').innerHTML="";
      }
      if(ytState==1) {
              window.frames['player'].pauseVideo();
      }
      }
function onPlayerError(errorCode) {  }   
function parseSuggestionsString(suggestions) {
    if (suggestions[1][0]) {
        return suggestions[1][0][0]; 
    } else {
        return null;
    }
}
function doInstantSearch() {
    cont_ini=0;
    if (xhrWorking) {
        searchPending = true;
        return;
    }
    var searchBox = $('#searchBox');
    if (searchBox.val() == currentSearch) {
        return;
    }
    currentSearch = searchBox.val();
    if (searchBox.val() == '') {
        $('#the_search').hide('slow');
        the_itemsShowing = false;
        currentSuggestion = '';
        updateSuggestedKeyword('<strong></strong>');
        return;
    }
    keyword = searchBox.val();
    var the_url = 'http://suggestqueries.google.com/complete/search?hl=en&ds=yt&client=youtube&hjson=t&jsonp=window.yt.www.suggest.handleResponse&q='+encodeURIComponent(searchBox.val())+'&cp=1'; 
    $.ajax({
       type: "GET",
       url: the_url,
       dataType: "script"
     });
    xhrWorking = true;
    
}

function login() {   
currentSearch = '';
    currentSuggestion = '';
    xhrWorking = false; 
    searchPending = false; 
    the_itemsShowing = false; 
    currentMoreVideoNum = 0;
    var searchBox = $('#searchBox');
    if (xhrWorking) {
        searchPending = true;
        return;
    }
    var searchBox = $('#searchBox');
    keyword = searchBox.val(); 
    searchTerm = keyword;
    updateSuggestedKeyword(searchTerm+' (Exact search)');
    xhrWorking =true;
 getTopSearchResult(keyword);
 the_term=keyword;
}
function tipos(filtro) {

 if (xhrWorking) {
        searchPending = true;
        return;
    }
    var searchBox = $('#searchBox');
    the_term = searchBox.val(); 
    keyword =  the_term + " " +filtro; 
    searchTerm = keyword;
    updateSuggestedKeyword(searchTerm+' (Exact search)');
    xhrWorking =true;
 getTopSearchResult(keyword,0);
}
function getTopSearchResult(keyword) { 
    
    var ini=(cont_ini*30)+1;
    var the_url = 'http://gdata.youtube.com/feeds/api/videos?q='+encodeURIComponent(keyword)+'&format=5&start-index='+ ini  +'&max-results=30&category=Music&v=2&alt=jsonc';
    $.ajax({
        type: "GET",
        url: the_url,
        dataType: "jsonp",
        success: function(responseData, textStatus, XMLHttpRequest) {
                    if (responseData.data.items) {
                        items_save=responseData.data.items;
                        updateItems(responseData.data.items);
                    } else {
                        updateSuggestedKeyword('No results for "'+keyword+'"');
                    }
                    doneWorking();
                 }
        });
        
}
function more_items() {
    $('#the_search').fadeOut(300);
    cont_ini++;
   getTopSearchResult(the_term);
}
function less_items() {
   if (cont_ini>0) { cont_ini--;}
   getTopSearchResult(the_term);
}
 
function updateItems(item) {  
        
    var numThumbs = (item.length >= MAX_ITEMS) ? MAX_ITEMS : item.length;
     var the_search = $('#the_search');
     var q_search= $('#searchBox').val();
    currentMoreVideoNum = -1; 
     document.getElementById('who').innerHTML = ''; document.getElementById('more').innerHTML = '';
    var the_items = $('<div />').attr('id', 'the_items'); 
    
  if ($('#mosaic').attr('checked')) {
     for (var i = 0; i < numThumbs; i++) {
        var videoID = item[i].id;
        var titleID = (item[i].title); 
     var a="<span><a href='/?v="+videoID+"&q="+q_search+"'><img src='http://img.youtube.com/vi/"+videoID+"/1.jpg' title=\""+titleID+"\" width='120' height='75' hspace='2px' vspace='2px'></a></span>";                   
        the_items.append(a);    
   
   }

   
   } else {
    for (var i = 0; i < numThumbs; i++) {
        var videoID = item[i].id;
        var titleID = (item[i].title); 
     var a="<div><a onclick='javascript:window.parent.frames[\"playlist\"].location = \"pl.php?a="+videoID+"\"' title='add to my playlist'>+ </a><img src='img/preview.png' onMouseover='javascript:loadV(\""+videoID+"\")' onclick='location.href=\"/?v="+videoID+"&q="+the_term+"\"'><a class='Ntooltip' href='/?v="+videoID+"&q="+the_term+"'>&nbsp;&nbsp;"+titleID+"<span><img src='http://img.youtube.com/vi/"+videoID+"/1.jpg'></span></a></div>";                   
        the_items.append(a);    
    }
    
   }
   $('#the_items').remove();
    the_items.append("<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class='boton2' onclick='javascript:more_items()'> more & more & more results</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a class='boton2' onclick='javascript:less_items()'> less :(</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='http://www.youtube.com' target='_blank' ><img style='align:left' src='/img/yt.png'></a>");
    the_search.append(the_items);
    if (!the_itemsShowing) {
        the_search.show('slow');
        the_itemsShowing = true;
    } 
    check=document.getElementById("player").offsetHeight;
    
    if (check>275) {
    window.parent.frames['player'].normalPlayer();
    
  
    
    }
    $('#the_search').fadeIn(300);
}
function updateSuggestedKeyword(keyword) {
   
    updateHTML('searchTermKeyword', keyword);
}
function doneWorking() {
    xhrWorking = false;
    if (searchPending) {
        searchPending = false;
        doInstantSearch();
    }
    var searchBox = $('#searchBox');
}

 
