﻿//variáveis global
var g_feed = null;

String.prototype.formatEx = function () {    
    var pattern = /\{\d+\}/g;    
    var args = arguments;
    return this.replace(pattern, function (capture) { return args[capture.match(/\d+/)]; });
}

// FUNÇÃO DA JANELA MODAL

function LoadOverlay() {
    var trigger = this.getTrigger();
    var titulo = trigger.find(".tituloVideo").attr("value");

    //var url = "http://www.youtube.com/p/C66457A34479E50F" + "&fs=1&amp;&autoplay=1&playerMode=normal";//trigger.attr("href") + "&fs=1&autoplay=1&playerMode=normal";
    var url = trigger.attr("href") + "&fs=1&autoplay=1&playerMode=normal";
    //Cria o Player
    $('#videoHolder').html("<div id='youPlayer'>É necessário instalar o Flash</div>");

    var params = { allowScriptAccess: "always" };
    var atts = { id: "youTubePlayer" };
    swfobject.embedSWF(url, "youPlayer", "580", "380", "8", null, null, params, atts);
    $("#modalWindow .details").html("<h2>" + titulo + "</h2>");
}

function initModalWindow() {

    $(".videoLink[rel]").overlay(
                {
                    effect: 'apple',
                    onBeforeLoad: LoadOverlay,
                    onBeforeClose: function () {
                        $('#videoHolder').html("");                        
                        $("#modalwindow .details").html("");
                    }
                });
}

function youtubeFeedHome(feed) {
//<div class="areaVideo">

//    <div class="video">
//        <img src="images/exemploVideo.jpg" alt="" width="125" height="96" />
//    </div>

//    <div class="descVideo">
//        <h3>CESTA DO POVO</h3>
//        <p>Cesta prevê faturamento de R$ 600 milhões.</p>
//    </div>

    //</div>

    for (var i = 0; i < feed.data.items.length && i < 2; i++) {
        var video = feed.data.items[i].video;
        var htmlVideo = "<div class='areaVideo'><div class='video'>" +
        "<a href='TvSac.aspx?video=" + i + "'><img src='" + video.thumbnail.sqDefault + "' alt='thumb' width='125' height='100' /></a>" +
        "</div> <div class='descVideo'><h3>" + video.title + "</h3></div></div>";
        $("#feedVideo").append(htmlVideo);
    }
}

function youtubeFeedCallback(feed) {
    g_feed = feed;
    //inicializa o primeiro video
    var videoAtual = QueryString("video");
    if (videoAtual != 'undefined' && videoAtual != null) {
        var idVideo = parseInt(videoAtual);
        if (!isNaN(idVideo) && feed.data.items[idVideo] != null) {
            inicializarVideo(feed.data.items[idVideo].video);
        }
        else {
            $(".descricaoVideoAtual h3").html("Video não encontrado");
        }
    }
    else {
        if (feed.data.items.length > 0)
            inicializarVideo(feed.data.items[0].video);
    }

    var i = 0;
    while (i < feed.data.items.length) {
        //inicio da linha
        var htmlVideo = "<div class='linhaOutrosVideos'>";
        var countLinha = 0;
        while (i < feed.data.items.length && countLinha < feed.data.items.length && countLinha < 3) {
            var entry = feed.data.items[i];
            //se for pelo canal
            var video = entry.video;
            //var video = entry;
            if (video.status != undefined && video.status.value === "restricted") {
                i++;
            }
            else {

                countLinha++;

                htmlVideo += "<div class='outroVideo'>" +

                //imagem
                    "<div class='imagemVideo'><a href='javascript:void(0);' onclick='videoClick(\"" + video.content[5] + "\", " + i + ")'>" +
                        "<img src='" + video.thumbnail.sqDefault + "' alt='thumb' width='203' height='153' />" +
                    "</a></div>" +

                //titulo
                    "<div class='descricaoVideo'>" +
                        "<span>" + video.title + "</span>" +
                    "</div>" +

                //inicio blocoVisualizacao
                    "<div class='blocoVisualizacao'>" +

                //visualização
                    "<div class='visualizacao'>" +
                    "Visto: " + video.viewCount +
                    "</div>" +

                //duração
                    "<div class='duracao'>" +
                    "Duração: " + getDuration(video.duration) +
                    "</div>" +

                //final blocoVisualizacao
                    "</div>" +

                //final bloco outroVideo
                    "</div>";

                i++;
            }
        } //while

        htmlVideo += "</div>";
        $("#feedVideo").append(htmlVideo);
    }
}

function videoHomeCallback(feed) {
    var videoId = ".areaVideo";
    g_feed = feed;

    var i = 0;
    var limite = 2;
    while (i < feed.data.items.length && i < limite) {
        var entry = feed.data.items[i];
        //se for pelo canal
        var video = entry.video;
        //var video = entry;
        if (video.status != undefined && video.status.value === "restricted") {
            i++;
            limite++;
        } else {
            renderVideoHome(videoId, video);
            i++;
        }        
    } //while

    initModalWindow();              
}

function videoInternoCallback(feed) {
    var videoId = ".galeriaInterna";
    g_feed = feed;

    var i = 0;    

    while (i < feed.data.items.length) {
        var htmlText = "<div class='linha'>";
        var countLinha = 0;
        while (i < feed.data.items.length && countLinha < feed.data.items.length && countLinha < 4) {
            var entry = feed.data.items[i];
            //se for pelo canal
            var video = entry.video;
            //var video = entry;
            //video restrito, pula o video
            if (video.status != undefined && video.status.value === "restricted") {
                i++;
            } else {
                countLinha++;
                htmlText += renderVideoInterno(videoId, video, i);
                i++;
            }
        }
        htmlText += "</div>";
        $(videoId).append(htmlText);
    } //while

    initModalWindow();
}

function renderVideoInterno(renderIn, video, idx) {
//    <div class="blocoGaleria">
//        <div class="capaGaleria">
//            <img src="Images/exemploCapaGaleria.jpg" />
//            <div class="data">12/08</div>
//            <div class="marcaDagua"></div>

//            <div class="bordaSuperiorEsquerda"></div>
//            <div class="bordaSuperiorDireita"></div>
//        </div>

//        <div class="legendaGaleria">
//            <span>Título</span>
//            <div class="bordaSuperiorPreta"></div>
//            <div class="bordaInferiorPreta"></div>
//        </div>

//        <div class="descricaoGaleria">
//            <span>Chamada Video</span>
//            <div class="top"></div>
//            <div class="base"></div>
//        </div>
//    </div>

    //img src={0}
    //date = {1}
    //titulo={2}
    //chamada={3}
    //id={4} or url
    var htmlVideo = "<div class='blocoGaleria'><div class='capaGaleria'><a href='{4}' class='videoLink' rel='#modalWindow'><img src='{0}' style='height: 199px;' alt='video' /><input type='hidden' name='tituloVideo' class='tituloVideo' value='{2}' /></a><div class='data'>{1}</div><div class='marcaDagua'></div><div class='bordaSuperiorEsquerda'></div><div class='bordaSuperiorDireita'></div></div><div class='legendaGaleria'><span>{2}</span><div class='bordaSuperiorPreta'></div><div class='bordaInferiorPreta'></div></div><div class='descricaoGaleria'><span>{3}</span><div class='top'></div><div class='base'></div></div></div>";
    htmlVideo = htmlVideo.formatEx(video.thumbnail.hqDefault, dateFormat(getDate(video.uploaded.substr(0, 10)), "dd/mm"), video.title, video.description, video.content[5]);

    return htmlVideo;
    //$(renderIn).append(htmlVideo);

}

function renderVideoHome(renderIn, video){
    //<div class="video">
    //    <div class="thumb">
    //        <a href="#"><img src="Images/exemploVideo.jpg" alt="" /></a>
    //    </div>

    //    <div class="dataDuracao">
    //        <span>25/01/2011</span>
    //        <span><img src="Images/relogio.jpg" alt="" /> 12:37</span>
    //    </div>

    //    <div class="titVideo">
    //        <a href="#">Léo levaou o Tchubirabiron para o ensaio do Harmonia</a>
    //    </div>
    //</div>
    var htmlVideo = "<div class='video'>" +

            //imagem
                    "<div class='thumb'><a href='" + video.content[5] + "' class='videoLink' rel='#modalWindow' >" +
                    "<input type='hidden' name='tituloVideo' class='tituloVideo' value='" + video.title + "' />" +
                        "<img src='" + video.thumbnail.sqDefault + "' alt='thumb' width='180' height='136' />" +
                    "</a></div>" +

            //titulo
                    "<div class='dataDuracao'>" +
                        "<span>" + dateFormat(getDate(video.uploaded.substr(0, 10)), "dd/mm/yyyy") + "</span>" +
                        "<span><img src='Images/relogio.jpg' alt='T' />" + getDuration(video.duration) + "</span>" +
                    "</div>" +

            //inicio blocoVisualizacao
                    "<div class='titVideo'>" +
                    
                    "<a href='javascript:void(0);' >" + video.title + "</a>" +

            //final blocoVisualizacao
                    "</div>" +

            //final bloco Video
                    "</div>";

    $(renderIn).append(htmlVideo);
}

function videoClick(url, videoIndex) {
    //fullscreen
    url = url + "&fs=1";
    $('#videoHolder').html("<div id='youPlayer'>É necessário instalar o Flash</div>");
    var params = { allowScriptAccess: "always", allowFullScreen: "true" };
    var atts = { id: "youTubePlayer" };
    swfobject.embedSWF(url, "youPlayer", "400", "296", "8", null, null, params, atts);    
    if (g_feed != null) {
        var video = g_feed.data.items[videoIndex].video;
        $("#modalWindow .details").append("<h2>" + video.title + "</h2>");
        $("#modalWindow .details").append("<span>" + dateFormat(getDate(video.uploaded.substr(0, 10)), "dd/mm/yyyy") + "</span>");
        $("#modalWindow .details").append("<p>" + video.description + "</p>");
    }
}

function inicializarVideo(video) {
    if (video == null || video == 'undefined')
        return;
    //with fullscreen
    var url = video.content[5] + "&fs=1";
    $('#videoHolder').html("<div id='youPlayer'>É necessário instalar o Flash</div>");
    var params = { allowScriptAccess: "always", allowFullScreen: "true" };
    var atts = { id: "youTubePlayer" };
    swfobject.embedSWF(url, "youPlayer", "400", "296", "8", null, null, params, atts);
    $("#modalWindow .details").append("<h2>" +  video.title + "</h2>");
    $("#modalWindow .details").append(dateFormat(getDate(video.uploaded.substr(0, 10)), "dd/mm/yyyy"));    
    $("#modalWindow .details").append(video.description);

}

function getDuration(duration) {
    var min = Math.floor(parseFloat(duration) / 60);
    var sec = parseInt(duration) % 60;
    return min + ":" + sec;
}

function getDate(theDate) {
    var myDateArray = theDate.split("-");
    return new Date(myDateArray[0], myDateArray[1] - 1, myDateArray[2]);
}

//FUNÇÃO QUERY STRING

function QueryString(variavel) {
    qs = new Array();
    variaveis = location.search.replace(/\x3F/, "").replace(/\x2B/g, " ").split("&");
    if (variaveis != "") {
        for (i = 0; i < variaveis.length; i++) {
            nvar = variaveis[i].split("=")
            qs[nvar[0]] = unescape(nvar[1])
        }
    }
    return qs[variavel];
}

