var Animate = {
    nbFrames : 15,
    toAnimate : new Array(),
    
    start : function (id) {
        this.process(id);
    },
    
    process : function (id) {
        which = document.getElementById(this.toAnimate[id][0]);
        if (!which) return;
        state = this.toAnimate[id][1];
        actFrame = this.toAnimate[id][2];
        params = this.toAnimate[id][3];
       
        fmin = params[state][0] / 100 * this.nbFrames;
        fmax = params[state + 1][0] / 100 * this.nbFrames;
        wmin = params[state][1]; hmin = params[state][2];
        wmax = params[state + 1][1]; hmax = params[state + 1][2];
        newW = this.next(fmin,fmax,wmin,wmax,actFrame);
        newH = this.next(fmin,fmax,hmin,hmax,actFrame);
        
        if ((actFrame / this.nbFrames * 100) >= params[state + 1][0])
            this.toAnimate[id][1]++;
        this.toAnimate[id][2]++;
 
        style = which.style;
        style.width = newW + "px";
        style.height = newH + "px";
 
        if (this.toAnimate[id][1] < (params.length - 1) )
            setTimeout("Animate.process("+id+")",1);  
		
    },
    
    next : function (fmin,fmax,lmin,lmax,act) {
        return lmin + ((lmax - lmin) * ((act - fmin) / (fmax-fmin)));
    },
    
    newScenario : function (which) {
        id = this.toAnimate.length;
        this.toAnimate[id] = new Array(which,0,0,new Array());
        return id;
    },
 
    nextStep : function (id,percent,w,h) {
        this.toAnimate[id][3][this.toAnimate[id][3].length] = new Array(percent,w,h);
    },
 
    init : function (id,w,h) {
        style = document.getElementById(this.toAnimate[id][0]);
        if (!style) return;
        style = style.style;
        style.width = w + "px";
        style.height = h + "px";
        this.nextStep(id,0,w,h);
    },
    
    endWith : function (id,w,h) {
        this.nextStep(id,100,w,h);
    }
}	  
function launch_graph() {
	id = Animate.newScenario('conteneur_graph');
	Animate.init(id,712,0);
	Animate.endWith(id,712,600);
	Animate.start(id);
}
function stop_graph() {
	id = Animate.newScenario('conteneur_graph');
	Animate.init(id,712,600);
	Animate.endWith(id,712,0);
	Animate.start(id);	  
}