// ******************
// **** marquee ****
// ******************
function Marquee(objTargetDIV) {
    
    
    //variables
    var divMarquee = objTargetDIV
    
    
    //constructor
    this.constructor = constructor;
    function constructor() {
        var marqueeTimeout = parseInt("0" + divMarquee.getAttribute("marqueeTimeout"), 10);
        if (marqueeTimeout==0) {
            marqueeTimeout = 2000;
            divMarquee.setAttribute("marqueeTimeout", marqueeTimeout);
        }
        setTimeout(this.mouMarqueeVertical, marqueeTimeout);
    }
    
    
    //metodes
    this.mouMarqueeVertical = mouMarqueeVertical;
    function mouMarqueeVertical(marqueeId) {
        var childs = divMarquee.getElementsByTagName("div");        
        if (childs.length==0) return;
        var h = objAjax.getAbsoluteHeight(childs[0]);
        var desp = 1; //(h / 20);
        var marginTop = parseInt((childs[0].style.marginTop=="" ? "0px" : childs[0].style.marginTop).replace("px",""));
        if ( (-1*marginTop) < h) {
            setTimeout(mouMarqueeVertical, 25);
            if ((-1)*marginTop + desp > h) {
                desp = h+marginTop;
            }
            childs[0].style.marginTop = (marginTop - desp) + "px";
        } else {
            var marqueeTimeout = parseInt("0" + divMarquee.getAttribute("marqueeTimeout"), 10);
            var objFirstNodeCloned = childs[0].cloneNode(true);         
            objFirstNodeCloned.style.marginTop = "0px";
            divMarquee.appendChild(objFirstNodeCloned);
            divMarquee.removeChild(childs[0]);
            setTimeout(mouMarqueeVertical, marqueeTimeout);
        }
    }
    
    
    //llama al constructor
    this.constructor();
}    


