function getPosition(e)
{
    var text = '' ;
    var left = 0  ;
    var top = 0  ;
	while ( e )
    {
        var o = Number(e.offsetLeft) ;
        text += e.nodeName + "," + left + "," + o + "\n" ;
	    left += e.offsetLeft ;
	    top += e.offsetTop ;
	    e = e.offsetParent ;	    
    }
    return new Array( left, top ) ;
}

function setup()
{
    window.framePosition = getPosition(document.getElementById("mainFrame")) ;
    window.frameLeft = framePosition[0] ;
    window.frameTop = framePosition[1] ;
    window.frameWidth = document.getElementById("mainFrame").offsetWidth ;
    window.frameHeight = document.getElementById("mainFrame").offsetHeight ;

    window.getHeight = function() { return frameHeight + frameTop ; }
    window.getWidth = function() { return frameWidth + frameLeft ; }

    var divs = document.getElementsByTagName('DIV');
    var i ;
    for ( i = 0 ; i < divs.length ; i++ )
    {
        divs[i].setupAnimation = setupAnimation ;
        divs[i].setupAnimation() ;
    }
}

function setupAnimation()
{
   this.hDelta = 1 ;
   this.vDelta = 1 ;
   
    this.move = function()
    {
        var x = parseInt(this.offsetLeft ) ;
        var y = parseInt(this.offsetTop ) ;
        this.style.left = x + this.hDelta ;
        this.style.top = y + this.vDelta ;

//        if ( Math.random() > 0.99 ) this.hDelta += 0.1 ;
//        if ( Math.random() > 0.99 ) this.vDelta += 0.1 ;        

        if ( y+this.offsetHeight > getHeight() && this.vDelta > 0 ) this.vDelta = -this.vDelta ;
        if ( x+this.offsetWidth > getWidth() && this.hDelta > 0 ) this.hDelta = -this.hDelta ;
        if ( y <= frameTop && this.vDelta < 0 ) this.vDelta = -this.vDelta ;
        if ( x <= frameLeft && this.hDelta < 0 ) this.hDelta = -this.hDelta ;
    }
}

function animation()
{
    var divs = document.getElementsByTagName('DIV');
    var i ;
    for ( i = 0 ; i < divs.length ; i++ ) divs[i].move() ;
    setTimeout(animation, 12 ) ;    
}

//window.getHeight = function() { return window.innerHeight ? window.innerHeight : document.body.offsetHeight ; }
//window.getWidth = function() { return window.innerWidth ? window.innerWidth : document.body.offsetWidth ; }
