Team:Grenoble/script

From 2012.igem.org

(Difference between revisions)
Line 79: Line 79:
var e=this.elem.style;
var e=this.elem.style;
         this.from=(b===undefined?(parseFloat(e.opacity)):b);
         this.from=(b===undefined?(parseFloat(e.opacity)):b);
-
        d=d||{};
 
-
    this.duration=d.duration||500;
 
-
    this.frameRate=d.frameRate||30;
 
-
    this.onFinish=d.onFinish;
 
-
    this.totalFrames=Math.ceil(this.duration/1000*this.frameRate);
 
-
    this.perFrame=(this.to-this.from)/this.totalFrames;
 
-
    this.frameNb=0;var f=this;
 
-
    this.next=function(){
 
-
this.prog=setTimeout(function(){f.frame()},1000/this.frameRate)};
 
-
this.frame=function(){
 
-
    p(this.elem,this.from+this.perFrame*this.frameNb);
 
-
    if(this.frameNb===this.totalFrames){
 
-
p(this.elem,this.to);
 
-
if(typeof this.onFinish=='function'){
 
-
    setTimeout(this.onFinish,1)
 
-
}
 
-
    }else{
 
-
this.frameNb++;
 
-
this.next()}};
 
-
this.next()}function A(c,a,b){
 
-
    var d,e,f,j,k,l,i,g,h;
 
-
    b=b||{};
 
-
    d=b.max_w;
 
-
    e=b.min_w;
 
-
    f=b.max_h;
 
-
    j=b.max_h;
 
-
    k=b.round===undefined?1:b.round;
 
-
    l=c/a;
 
-
    i=a/c;
 
-
    g=a;
 
-
    h=c;
 
-
    if(h<e){
 
-
h=e;
 
-
g=h*i
 
-
    }
 
-
    if(g<j){
 
-
g=j;
 
-
h=g*l
 
-
    }
 
-
    if(d&&(h>d)){
 
-
h=d;
 
-
g=h*i
 
-
    }
 
-
    if(f&&(g>f)){
 
-
g=f;
 
-
h=g*l
 
-
    }
 
-
    h=h<0?0:h;
 
-
    g=g<0?0:g;
 
-
    return{w:k?Math.round(h):h,h:k?Math.round(g):g}
 
-
}
 
-
var q={
 
-
    defaults:{
 
-
mode:'max',
 
-
enlarge:1,
 
-
reduce:1,
 
-
ffHack:0,
 
-
zIndex:-1,
 
-
position:'absolute',
 
-
align:'center',
 
-
vertAlign:'top',
 
-
fadeAfter:400,
 
-
fadeOptions:{duration:1000,frameRate:25}
 
-
    },
 
-
    redim:function(){
 
-
      var c=q,a,b,d=w(),e,f,j,k,l,i,g,h,m,n;
 
-
      a=c.img;f=j=k=l='';
 
-
      b=c.opt;
 
-
      i=a.fileDim;
 
-
      if(i){
 
-
  if(b.mode=='full'){
 
-
      g=m=d.w;
 
-
      h=n=d.h;
 
-
      if(!b.enlarge){
 
-
  if(g>i.w){
 
-
      g=m=i.w
 
-
  }
 
-
  if(h>i.h){
 
-
      h=n=i.h
 
-
  }
 
-
      }
 
-
      if(!b.reduce){
 
-
  if(m<i.w){
 
-
      m=i.w;
 
-
      g=Math.max(m,g)
 
-
  }
 
-
  if(n<i.h){
 
-
      n=i.h;
 
-
      h=Math.max(n,h)
 
-
  }
 
-
      }
 
-
  }else{
 
-
      m=g=d.w;
 
-
      n=h=0;
 
-
      if(!b.reduce){
 
-
  g=0
 
-
      }
 
-
  }
 
-
  i=A(i.w,i.h,{min_w:m,win_h:n,max_w:g,max_h:h,round:1});
 
-
  a.width=i.w;
 
-
  a.height=i.h;
 
-
  if(!a.width){
 
-
      a.removeAttribute("width")
 
-
  }
 
-
  if(!a.height){
 
-
      a.removeAttribute("height")
 
-
  }
 
-
  switch(b.align){
 
-
      case'left':k='0px';
 
-
break;
 
-
      case'right':l='0px';
 
-
  break;
 
-
      default:k=-Math.round((i.w-d.w)/2)+'px'
 
-
  }
 
-
  if(b.vertAlign=='bottom'){
 
-
      j='0px'
 
-
  }else if(b.vertAlign=='middle'){
 
-
      e=b.position=="fixed"?d.h:x().h;
 
-
      f=(-b.ffHack+(e-a.offsetHeight)/2)+"px"
 
-
  }else{
 
-
      f=a.hack||'0px'
 
-
  }
 
-
  s(a,{left:k,right:l,top:f,bottom:j})
 
-
      }
 
-
  }
 
-
    ,show:function(){
 
-
var c=q,a;
 
-
a=c.img;
 
-
a.fileDim={
 
-
    w:a.naturalWidth||a.clientWidth,h:a.naturalHeight||a.clientHeight
 
-
};
 
-
c.redim();
 
-
if(c.fadeIt){
 
-
    z(c.img,1,0,c.opt.fadeOptions)
 
-
}else{
 
-
    p(a,1)
 
-
}
 
-
    },
 
-
init:function(c,a){
 
-
var b=q,d=v('body')[0],e,f,j;
 
-
a=u(a,this.defaults);
 
-
if(t&&t<7){
 
-
    a.position='absolute'
 
-
}
 
-
b.opt=a;
 
-
e=a.fadeAfter;
 
-
f=b.img=o.createElement('img');
 
-
f.id="bgMax";
 
-
s(f,{zIndex:a.zIndex,position:a.position});
 
-
j=navigator.userAgent.match(/Firefox.(\d+(\.\d+))/);
 
-
if(j&&parseFloat(j[1])<3){
 
-
    s(d,{zIndex:0,position:'relative',top:0,left:0});
 
-
    f.hack='-'+a.ffHack}d.insertBefore(f,d.childNodes[0]);
 
-
    f.onload=b.show;
 
-
    if(e!==false){
 
-
p(f,0);
 
-
if(e){
 
-
    setTimeout(function(){b.fadeIt=1},e)
 
-
}else{
 
-
    b.fadeIt=1
 
-
}
 
-
    }
 
-
    y(r,'resize',b.redim);
 
-
    f.src=c
 
-
    }
 
-
};
 
-
r.bgMax=q
 
-
})
 
-
(window,document);
 
-
alert("coucou");
 
-
 
     }
     }

Revision as of 16:34, 11 July 2012