var min_y=0;

function puntonegro(id,x,y,sz){
  new Effect.Scale(id,100, Object.extend({
    beforeStart:function(effect){
      $(effect.element).style.display = 'block';
      $(effect.element).setOpacity(0);
    },
    afterUpdate:function(effect){
      $(effect.element).setOpacity(effect.position);
    },
    scaleFrom:0,
    scaleFromCenter:true
  }, arguments[4] || {}));        
}

function quita_punto(p_i)
{
       p_id = 'punto'+p_i;
      new Effect.Puff(p_id);
}
  
var sizes = {'pn0.gif':140, 'pn1.gif':108, 'pn2.gif':76, 'pn3.gif':56, 'pn4.gif':39};     
var window_width;
var window_height;    
function mide_pantalla()
{
  if (window.innerWidth) {
    // Mozilla variants (i.e., Gecko-based browsers, e.g. Firefox)
    window_width  = window.innerWidth;
    window_height = window.innerHeight;
  }
  else if (document.body.parentNode.clientWidth != 0) {
    // IE standards mode
    window_width  = document.body.parentNode.clientWidth;
    window_height = document.body.parentNode.clientHeight;
  }
  else {
    // IE quirks mode
    window_width  = document.body.clientWidth;
    window_height = document.body.clientHeight;
  }
}

function pon_punto(p_i)
{
       var pns = $('pns');    
       p_id = 'punto'+p_i;
       if (Math.random()<0.05)
         p_src = 'pn0.gif';
       else {
        var n = (Math.floor(Math.random()*5)+1);
        if (n>4) n=4;
         p_src = 'pn'+n+'.gif';
      }
       p_sz = sizes[p_src];
       p_x = Math.floor(Math.random()*window_width);
       p_y = Math.floor(Math.random()*(window_height-min_y))+min_y;
       //p_src = pns_data[p_i][0];
       //p_x = pns_data[p_i][1];
       //p_y = pns_data[p_i][2];
       //p_sz = pns_data[p_i][3];
       //p = document.createElement('div');         
       //img = document.createElement('img');
       p = document.createElement('img');
       p.id = p_id;
       p.className = "punto";
       // img.src = p_src;         
       p.src = p_src;         
       p_dur = 100+Math.floor(Math.random()*4000)
       // p_del = Math.floor(Math.random()*3000)
       p_del = Math.floor(Math.random()*1000)
       p.style.left = p_x-p_sz/2+"px";
       p.style.top  = p_y-p_sz/2+"px";
       //p.style.width='0px';
       //pns.appendChild(p);
      //p.appendChild(img);
       pns.appendChild(p);
       puntonegro(p_id, 100,100,100, { delay:p_del/1000.0, duration:p_dur/1000.0 });
}

var p_n = 0;
var otro_punto = function()
{
  p_n += 1;
  pon_punto(p_n);
  if (p_n>20)
    quita_punto(p_n-20);
};


var n_pns = 20;
function fondo_puntos(my)
{
  min_y = my;
  mide_pantalla();
  new PeriodicalExecuter(otro_punto,1);    
}
function fondo_puntos_fijos()
{
  mide_pantalla();
  for (p_i=0; p_i<20; p_i++) {
    pon_punto(p_i);
  }  
}
