/* :: Developed By HelpNet :: */


$(document).ready(function(){
    

    
    //verifica si hay un cookie de volumen
    if (getCookie("vol") != null) {
        volume_almacenado = getCookie("vol");
        $("#amount").val(volume_almacenado);

        cambia_img_volume();
    }

    //----------------------------------------------------------

    //Pone el slider del volumen...
    $("#volumen").slider({
        orientation: "vertical",
        range: "min",
        min: 0,
        max: 100,
        value: volume_almacenado,
        slide: function (event, ui) {
            try {
                //pone el valor del volumen ahi
                $("#amount").val(ui.value);
                //pone el video de youtube
                setVolume(document.getElementById('amount').value)


                //graba el cookie para acordarse del valor del volume

                setCookie("vol", document.getElementById('amount').value, 30)

                cambia_img_volume();
            } catch (ex) { }

        }
    });
    $("#amount").val($("#slider-vertical").slider("value"));
    //fin slider volumen
    //----------------------------------------------------------



    //----------------------------------------------------------

    //Pone el video seek bar...
    $("#seek_bar").slider({
        orientation: "horizontal",
        range: "min",
        min: 0,
        max: 100,
        value: 0,
        slide: function (event, ui) {
            try {
                $("#seek_bar_Val").val(parseInt((ui.value * getDuration()) / 100));


                seekTo($("#seek_bar_Val").val(), false);
            } catch (ex) { }



        }
    });
    $("#seek_bar_Val").val(0);
    //fin video seek bar
    //----------------------------------------------------------


    //verifica si hay un cookie de HD
    if (getCookie("calidad_video") != null) {
        calidad_video = getCookie("calidad_video");

        //cambia la imagen de acuerdo a la calidad

        if (calidad_video == "large")
            $('.hd_btn').find('img').attr('src', $('#template_dir').text() + '/imagenes/hd1-01.png');
        else
            $('.hd_btn').find('img').attr('src', $('#template_dir').text() + '/imagenes/hd2-01.png');

    }

    //-----------------------------------------------------------

    //Accion de click de cada video del video playlist

    $('.videos_container ul li').click(function () {

        video_del_playlist_accion_click($(this),true);

         google_analytics($(this).find('a').attr('href'));

        //para que el anchor no haga nada
        return false;
    });

    //-----------------------------------------------------------


    //Accion de hhover del boton de more videos

    $('.more_videos_btn').hover(function () {

        if (!$('.video_playlist').is(":visible")) {
            //cierra el volumen
            $('.volumen_btn .volume').slideUp();

            $('.video_playlist').slideToggle();


            //--------------

            //pone el timer para que se quiten los menu
            clearTimeout(menu_timer);
            menu_timer = setTimeout("quita_menu()", 5000);
        }

        return false;
    },function(){
        //hover out
        cierra_elementos_flotantes()
        
        
    });
    
    //-----------------------------------------------------------
    //Accion del boton pause play...
    
    
    $('.play_pause_big').click(function(){
        
        if(video_reproduciendo==true)
            stop_video();
        else{
            
            //primero cierra el music player, si esta abierto..
            
            if(music_player_activo == true){
                
                if(!player_derecha_Activo)
                    $('.cerrar_player_big').trigger('click');
                
            }
                
        
            play_video();
            
        }
           return false; 
        
    });
    
    
    
    
    

    //-----------------------------------------------------------


    //Accion de click del boton del volumen

    $('.volumen_btn a:first').hover(function () {

        if (!$('.volume').is(":visible")) {
            //cierra el playlist de videos
            $('.video_playlist').slideUp();

            $('.volumen_btn .volume').slideToggle();
        }
        return false;
    });
    //-----------------------------------------------------------

    //cuando se presione el boton de info
    $('#now_playing_hover').hover(function () {

        if (now_playing_a_id != "")
            pone_now_playing(now_playing_a_id)
    });

    
    
    
    
     //----------------------------------------------------------

    //scroll down de la lista de videos...
    $('.go_down').click(function () {
        mueve_lista_video("abajo");
        return false;
    });

    //scroll down de la lista de videos...
    $('.go_up').click(function () {
        mueve_lista_video("arriba");
        return false;
    });







//----------------------------------------------------------

    //Acción boton HD...
    $('.hd_btn').click(function () {

        if ($('.hd_btn').find('img').attr('src') == $('#template_dir').text() + "/imagenes/hd1-01.png") {

            //como estaba apagado, lo prende..
            $('.hd_btn').find('img').attr('src', $('#template_dir').text() + '/imagenes/hd2-01.png')

            calidad_video = "hd720";

        }
        else {
            //como estaba prendido, lo apaga..
            $('.hd_btn').find('img').attr('src', $('#template_dir').text() + '/imagenes/hd1-01.png')


            calidad_video = "large";


        }


        //llama esa funcion de youtube para poner la calidad
        try {
            setQuality(calidad_video);
        } catch (ex) { }

        //graba el cookie para acordarse del valor de HD o no HD

        setCookie("calidad_video", calidad_video, 30)

        return false;
    });

    //hace que el seek del video se vaya moviendo segun pase el video
    setInterval("actualiza_seek_bar()", 2000);



    
});







//==================================================================================================================
//Cambia la imagen del volumen de acuerdo al nivel que tenga...
function cambia_img_volume() {



    //cambia el icono del volume de acuerdo a la magnitud...

    if (parseInt(document.getElementById('amount').value) == 0) {
        $('#img_vol').attr("src", $('#template_dir').text() + "/imagenes/volumen0_3.png")
    }
    else if (parseInt(document.getElementById('amount').value) <= 33) {
        $('#img_vol').attr("src", $('#template_dir').text() + "/imagenes/volumen1_3.png")
    }
    else if (parseInt(document.getElementById('amount').value) <= 66) {
        $('#img_vol').attr("src", $('#template_dir').text() + "/imagenes/volumen2_3.png")
    }
    else if (parseInt(document.getElementById('amount').value) <= 100) {
        $('#img_vol').attr("src", $('#template_dir').text() + "/imagenes/volumen3_3.png")
    }


}

//==================================================================================================================
//Mueve la lista de video hacia abajo/arriba

var movimiento_px = 0;
var pixels_incremento = 120;

function mueve_lista_video(direccion) {


    if (direccion == "abajo") {

        //tama~no del slider(tabla)
        var tamano = $('#videos_slider').height();
        //tama~no del container
        var tamano_Container = $('.videos_container').height();

        //este if evita que se efectue la accion del boton go_down, cuando la lista no tenga tanto items como para hacerle scroll para abajo...
        if (tamano > tamano_Container) {
            //al tama~no del slider le resto el del container
            tamano = (tamano - tamano_Container) * (-1);

            if ((movimiento_px - pixels_incremento) > tamano)
                movimiento_px -= pixels_incremento; //aun no ha llegado la final de la lista y por eso sigue decrementando el valor
            else
                movimiento_px = tamano; //eso quiere decir que llego al final de la lista, por lo que le pongo el valor de tamano
        }
   
   

    }
    else if (direccion == "arriba") {

        //lo moverá hacia arriba siempre y cuando se haya movido hacia abajo anteriormente
        if (movimiento_px != 0) {
        
            //si no se pasa de 0, lo sube de acuerdo a la cantidad especificada en movimiento_px, sino lo pone en 0
            if (movimiento_px + pixels_incremento < 0)
                movimiento_px += pixels_incremento;
            else
                movimiento_px = 0;

        }
  
    }
    else {
        //si no se pasan parametros, lo mueve para el principio...
        movimiento_px = 0;
   
    }
        



    $('#videos_slider').stop().animate({
        'margin-top': movimiento_px
    }, 800);


}






/*
========================================================================
esta función es llamada desde el flash para retornarle el ID del primer video para cargar...
========================================================================
*/

var timer_parar_video;

function carga_primer_video() {

  //verifica a ver si hay un popup abierto, si es asi, detiene el video...
    if($('#popup').is(':visible'))
       timer_parar_video =  setTimeout("stop_video_popup_abierto()",3000);


    //verifica si hay un query string de video, sino, carga el primer video
    if (querySt("vid") != null){
        
        //busca un anchor que contenga en el href el termino especificado en el querystring
        pone_now_playing($('.videos_container ul li a[href*="'+querySt("vid")+'"]'));
        return querySt("vid");
    }
    else
    {
        //extrae el ID del video del URL del Anchor de video presionado
        var url_separada_array = new Array();
        
        url_separada_array = $('.videos_container ul li a:first').attr('href').split("?");
        
        var v_id = url_separada_array[1].replace("vid=","");
    
        //pone el now playing y selecciona el video
        pone_now_playing($('.videos_container ul li a:first'));
    
        return v_id;
    }
}

//para el video si el popup esta abierto

function stop_video_popup_abierto(){
    stop_video();
    clearTimeout(timer_parar_video);
}


//Esta funcion es llamada cada vez que comienza un video a tocarse, y sirve para detectar si hay un query string de a?=music,que abre el
//popup de musica para tocarlo de inmediato. Esta función verifica ese query string, y si lo encuentra, detiene el video y setea una variable
//para que no se vuelva a ejecutar.
var query_str_a_verificado = false;

function verificar_query_string_a_music()
{
    if(query_str_a_verificado==false){
        //siempre que haya un query string a
        if (querySt("a") != null){
            
            stop_video();
            //setea esta var para que esta funcion no se ejecute más...
            query_str_a_verificado = true;
        }
    }
        
        
}

//le devuelve el valor del volumen al flash para que el sepa el nivel que debe poner...

function obtiene_volumen() { return volume_almacenado; }



//le devuelve el valor del HD al flash para que el sepa el nivel que debe poner...

function obtiene_valor_Calidad() { return calidad_video; }



//muestra el nombre de la canción cuando a la canción le resten 30 segundos...

function pone_nombre_cancion_final() {

    if (now_playing_a_id != "")
        pone_now_playing(now_playing_a_id)

}




//==================================================================================================================
//Hace que el seek se mueva segun avance el video


//mueve el seek bar de acuerdo a lo que indique el flash
function actualiza_seek_bar() {
try{
    if(video_reproduciendo){
        
   
        //obtiene el % actual que lleva el video
        var porciento = (getCurrentTime() * 100) / getDuration();
        $("#seek_bar").slider("option", "value", parseInt(porciento));
        
      
      }   
    }
    catch(ex){}
}



//-----------------------------------
//Pone la barra de now playing...
//-----------------------------------



function pone_now_playing(id) {

    clearTimeout(timer_nowplaying);

    //almacena el id
    now_playing_a_id = id;

    //Pone el HTML del id pasado como parametro
    $('.now_playing_indicador').html("Now Playing:<br />" + $(id).text())


    //quita la clase de activo de todos los LI de videos, para poner el actual...

    $.each($(id).parent().parent().find("li"), function () {

        //quita el atributo de class
        $(this).removeAttr('class');
    });

    //pone como activo el LI del video que se esta tocando...
    $(id).parent().attr("class","activo");
    




    $('.now_playing_indicador').animate({
        'margin-bottom': '-2px'
    }, 500);

    timer_nowplaying = setTimeout("quita_nowplaying()", 20000);

}
//==================================================================================================================

function quita_nowplaying() {

    clearTimeout(timer_nowplaying);

    $('.now_playing_indicador').animate({
        'margin-bottom': '-41px'
    }, 500);

}
//-----------------------------------
//==================================================================================================================


//accion de cuando presiono un video del playlist.
function video_del_playlist_accion_click(elemen,cerrar_popup)
{
    //para modificar el url/titulo
    modifica_history_url(elemen.find('a'));

    try {
        
        //extrae el ID del video del URL del Anchor de video presionado
        var url_separada_array = new Array();
        
        url_separada_array = elemen.find('a').attr('href').split("?");
        
        var v_id = url_separada_array[1].replace("vid=","");
        
            loadVideo(v_id, '0', calidad_video);


            pone_now_playing(elemen.find('a'));

            //cierra la barra de videos
            cierra_elementos_flotantes();

            //por si el player de musica esta abierto, lo cierra.
            $('.cerrar_player_big').trigger("click");


            //si hay popup abierto lo cierra, siempre que se le pase com o parametro a esta funcion que se cierre el popup que este abierto
            if (cerrar_popup) {
                $('#popup').hide();
                $('#popup .container').hide();
            }
            
            //esconde el boton de play
            $('.play_pause_big').slideUp(function(){
                
                //cuando acabe...
                //borra las clases play pause
            $('.play_pause_big').removeClass('play').removeClass('pause');
                
            });


        } catch (ex) { }

}



//Pone el siguiente video... (Esta funcion la llama el Flash cuando el tiempo alla llega al final)

function siguiente_video() {
 

    //para saber el video que se está tocando actualmente, busco el "LI" de la lista de videos que tenga la clase "activo"
   var activo =  $('.videos_container').find('li[class=activo]')



   //este if verifica si el siguiente video existe, o sea que el actual NO es el ultimo...
   //entonces salta al primero...
   if ($(activo).next().length != 0) {

       //ahora, al siguiente boton luego del "LI"encontrado anteriormente, le aplico un "CLICK"
       video_del_playlist_accion_click($($(activo).next()),false);

     

       //verifica si tiene que hacer scroll para abajo de la lista de videos.. Esto  es para que el video actual siempre se
       //este mostrando en la lista...

       //posiciones...

       //primero oculto el div de lista de videos usando visibility y luego lo muestro con display block (show), porque
       //"$(activo).next().position().top" retorna CERO cuando el div esta display none
       //esto hace que el usuario no se de cuenta pero realmente cada vez que cambie un video esto pasará...

      $('.video_playlist').css("visibility", "hidden")
      $('.video_playlist').show();

       var posicion_li_actual = $(activo).next().position().top;
       //posicion del final del container de videos
       var posicion_container = $('.videos_container').position().top + $('.videos_container').height() ;

       if (posicion_li_actual > posicion_container-50) { 
            mueve_lista_video("abajo");
        }



        //quito la propiedad de visibility poniendola como visible, y escondo el div de videos...
        $('.video_playlist').css("visibility", "visible")
        $('.video_playlist').hide();


   }
   else {

   //si luego de este no hay mas LI, entonces pone el primero..., le aplico un "CLICK"
       $($('.videos_container').find('li:first')).trigger('click');
       
       //mueve la lista de videos hacia el inicio.
       mueve_lista_video();
      
   }
}


//==================================================================================================================





function play_video() {

    try{
        
        
        //este if evita que el video se reproduzca si anteriormente ya le habia dado al boton de pause (manualmente), o si el player de audio de la derecha no está activo...
        if (music_audio_reproduciendo == false) {
    
            video_reproduciendo = true;
            
            
                play();
                
             //lo esconde
            $('.play_pause_big').slideUp(function(){
                
                //cuando acabe...
                //borra las clases play pause
            $('.play_pause_big').removeClass('play').removeClass('pause');
                
            });

        
            //pone el titulo
            $('.play_pause_big').attr('title','Pause video');

        }
        
     }
    catch(ex){}

}

function stop_video() {

    try{
    
        video_reproduciendo = false;
        pause();
        
        //borra las clases play pause
        $('.play_pause_big').removeClass('play').removeClass('pause');
            
        
            
        //agrega la clase de play
        $('.play_pause_big').addClass('play');
        
            //muestra el btn de play
            $('.play_pause_big').slideDown();
        
        //pone el titulo
            $('.play_pause_big').attr('title','Play video');
            
    }
    catch(ex){}
        
}



