
var timer;
var interval=10000; /* time in ms */
var failCount;
var maxFail=10;
var currData;
var loadedImages;
var requestNumber;

function initDestaques() {
    requestNumber=1;
    failCount=0;
    timer=null;
    currData = new Object(); 
    fetchDestaques();
}



function fetchDestaques() {
    jQuery.ajax( { url: "homefeed.php?round="+requestNumber,
                    success: onFetchDestaquesOK,
                    error: onFetchDestaquesFail,
                    context:document.body,
                    dataType: "xml"} )  ;
    requestNumber++;
}

function updateData(id) {
    divId = "#" + id + "highlight";
    
    $(divId).find('a').attr("href",currData[id]["link"]);
    $(divId).find('#image_frame').css("background-image",currData[id]["bgimage"]);
    $(divId).find('#description').html(currData[id]["txt"]);   
}

function displayNewData() {

    updateData("sp");
    updateData("rj");
    updateData("br");
    
    timeNextCycle();
}

function onFetchDestaquesOK(data, textStatus, XMLHttpRequest) {
    loadedImages = 0;
    destaques = new Array();
    $('info',data).each(function(i) {
            id = $(this).attr("id");
            divId = "#" + id + "highlight";
            
            //alert($(divId).find('a').attr("href"));
           // alert($(this).find("link").text());
           
           // assign
            //$(divId).find('a').attr("href",$(this).find("link").text());
            
            //alert($(divId).find('#image_frame').css("background-image"));
            //alert("url(resizer.php?w=332&h=250&file=imgdin/'~" + $(this).find("img").text() +"~')");
            
            // assign
            //$(divId).find('#image_frame').css("background-image","url(resizer.php?w=332&h=250&file=imgdin/" + $(this).find("img").text() +")");
           
           // assign 
            //$(divId).find('#description').html($(this).find("txt").text());
            
            currData[id] = {
                "link":$(this).find("link").text(), 
                "bgimage": "url(resizer.php?w=332&h=250&file=imgdin/" + $(this).find("img").text() +")",
                "txt":  $(this).find("txt").text()
            }
            
            var img = new Image();
            $(img).load(function() {
                loadedImages++;
                if(loadedImages == 3) displayNewData();
            }).error(function() {
                loadedImages++;
                if(loadedImages == 3) displayNewData();
            });
            
            $(img).attr('src', "resizer.php?w=332&h=250&file=imgdin/" + $(this).find("img").text());
            
            /*
            $("#destaque"+destaques.length).show();
        
            destaques.push({url: $(this).attr("url"),
                src: $(this).attr("src"),
                local: $(this).find("local").text(),
                titulo: $(this).find("titulo").text(),
                texto: $(this).find("texto").text()
            });
            */
            
        });
        
    

}


/* try again...   */
function onFetchDestaquesFail(XMLHttpRequest, textStatus, errorThrown) {

    failCount++;
    if(failCount <maxFail) {
        fetchDestaques();
    }
    else {
        alert("Os Destaques não puderam ser mostrados.");
    }
}

function stopFetchingData() {
    if(timer != null) {
        clearInterval(timer);
        timer=null;
    }
}

function timeNextCycle() {
    stopFetchingData(); // just in case
    timer = setInterval(nextData, interval);
}

function nextData() {
    stopFetchingData();
    fetchDestaques();
    
    /*
    $("#localDestaque").each(function() {
        
        this.innerHTML = destaques[currentIndex].local;
    });
    
    $("#tituloDestaque").each(function() {
        this.innerHTML = destaques[currentIndex].titulo;
    });

    
    $("#textoDestaque").each(function() {
        this.innerHTML = destaques[currentIndex].texto;
    });
    */

    
}




