/**
 * Controle dos destaque na Home
 * do UNS Competition
 *
 * Requer jQuery
 *
 * @author Henrique Moody
 */
var BASE_URL = '';
$(function() {
    var container = $('#destaque .destaque-middle');

    var imgLoad = false;
    function loadImages(fotoNode){
        imgDsp = new Array();

        for(n=0;n<fotoNode.length;n++){
            imgDsp[n] = new Image();
            imgDsp[n].src = BASE_URL + '/images/destaque/'+fotoNode[n].firstChild.nodeValue;
        }
        imgLoad = true;
    }

    var self = this;

    var interval = 8000;
    var count = 0;

    getDestaque(0);

    /**
     * Função resposavel por exibir um destaque
     *
     * @param int|string offset Posição do registro exibido
     *
     */
    function getDestaque(nodeNumber) {

        var self = this;
        // URL padrão
        var _url = BASE_URL + '/app.xml?doc=DestaqueUm&o=id+desc&porraDeIE' + new Date();

        nodeNumber = parseInt(nodeNumber);

        // Inicia o ajax
        $.ajax({
            type: "GET",
            url: _url,
            dataType: "xml",
            error: function(xml) { // Caso de erro

            },
            success: function(xml) { // Caso seja sucesso

                var myTimeOut = setTimeout(function() {
                    $('.destaque-text').empty();
                    $('.destaque-image').fadeTo("normal", 0.0, function() {
                        getDestaque(nextNodeNumber);
                    });
                }, 8000);

                container.empty();
                container.fadeIn();

                // No pai
                var item = $(xml).find('item').children('destaque');

                if (nodeNumber == null || nodeNumber == item.length) {
                    nodeNumber = 0;
                }

                if (nodeNumber == (item.length-1)) {
                    nextNodeNumber = 0;
                } else {
                    nextNodeNumber = nodeNumber+1;
                }
                if (nodeNumber == 0) {
                    prevNodeNumber = item.length-1;
                } else {
                    prevNodeNumber = nodeNumber-1;
                }

                if (imgLoad == false) {

                    loadImages($(xml).find('item').find('destaque_imagem'));
                }


                // Conteúdo dos nos filhos
                var tituloText        = item[nodeNumber].childNodes[2].childNodes[0].nodeValue;
                var descricaoText    = item[nodeNumber].childNodes[3].childNodes[0].nodeValue;
                var imagemText        = item[nodeNumber].childNodes[4].childNodes[0].nodeValue;
                var linkText        = item[nodeNumber].childNodes[5].childNodes[0].nodeValue;

                // Principais elementos
                var contentNodo            = $('<div class="lacucarathxa"></div>');
                var linkNodo            = $('<a href="' + linkText + '"></a>');
                var imagemElement        = new Image();
                var textNodo            = $('<div class="destaque-text"></div>');
                var tituloNodo            = $('<div class="destaque-title"></div>');
                var descricaoNodo        = $('<div class="destaque-description"></div>');
                var controlsNodo        = $('<div class="controls"></div>');
                var leftImageControl    = new Image();
                var rightImageControl    = new Image();

                // Configura as propriedades da imagem em destaque
                imagemElement.src = BASE_URL + '/images/destaque/' + imagemText;
                imagemElement.className = 'destaque-image';


                // Adiciona o texto à div com o titulo
                tituloNodo.text(tituloText);
                tituloNodo.appendTo(textNodo);


                // Adiciona o texto à div com as descrições
                descricaoNodo.text(descricaoText);
                descricaoNodo.appendTo(textNodo);


                linkNodo.append(imagemElement);
                linkNodo.append(textNodo);

                // Configura as propriedades do botão (imagem) de controle "Proxíma"
                leftImageControl.src = BASE_URL + '/assets/theme/img/destaque-control-left.png';
                leftImageControl.className = 'destaque-contol-left';
                leftImageControl.onclick = function() {
                    $('.destaque-text').empty();
                    $('.destaque-image').fadeTo("normal", 0.0, function() {
                        getDestaque(prevNodeNumber);
                        clearTimeout(myTimeOut);
                    });
                };

                // Configura as propriedades do botão (imagem) de controle "Anterior"
                rightImageControl.src = BASE_URL + '/assets/theme/img/destaque-control-right.png';
                rightImageControl.className = 'destaque-contol-right';
                rightImageControl.onclick = function() {
                    $('.destaque-text').empty();
                    $('.destaque-image').fadeTo("normal", 0.0, function() {
                        getDestaque(nextNodeNumber);
                        clearTimeout(myTimeOut);
                    });
                };

                // Adiciona as imagens de controle (Próximo e Anterior) à <div.contol>
                controlsNodo.append(leftImageControl);
                controlsNodo.append(rightImageControl);

                // Adiciona imagem, descrição e controles à <div.destaque-middle>
                contentNodo.append(linkNodo);
                container.append(contentNodo);
                container.append(controlsNodo);

            } // success:
        }); // fim $.ajax({
    }


    var latestPosts = $('.latest-posts');

    // URL padrão
    var _url = BASE_URL + '/app.xml?doc=DestaqueDois&o=id+desc&l=4&porraDeIE' + new Date();

    var document;
    // Inicia o ajax
    $.ajax({
        type: "GET",
        url: _url,
        dataType: "xml",
        error: function(xml) { // Caso de erro

        },
        success: function(xml) { // Caso seja sucesso

            latestPosts.empty();

            $(xml).find('item').each(function(e){

                var linkNodo = $('<a href="' + $(this).find('destaque_link').text() + '"></a>');
                var latestPostItem = $('<div class="latest-post-item"></div>');
                var latestPostItemTop = $('<div class="latest-post-item-top">&nbsp;</div>');
                var latestPostItemMiddle = $('<div class="latest-post-item-middle"></div>');
                var latestPostItemBottom = $('<div class="latest-post-item-bottom">&nbsp;</div>');

                var image = new Image(125, 82);
                image.src = BASE_URL + '/images/destaque/'+$(this).find('destaque_imagem').text();
                image.style.margin = '0px';

                linkNodo.append(image);
                linkNodo.append('<p style="font-weight: bold">'+$(this).find('destaque_titulo').text() + '</p>');
                linkNodo.append('<p>'+$(this).find('destaque_descricao').text() + '</p>');
                linkNodo.appendTo(latestPostItemMiddle);

                latestPostItem.append(latestPostItemTop);
                latestPostItem.append(latestPostItemMiddle);
                latestPostItem.append(latestPostItemBottom);
                latestPostItem.appendTo(latestPosts);

            });
        }
    });
});