/*
  show partenaires
*/

var partenaires = {

images:new Array(), imageID:new Array(), imageIDA:null, imageIDB:null,

howmanyImages:3, shift:0, number:1, notLoaded:true,

start:function()
{
  for (var i = 0; i < this.howmanyImages; i++)
    this.images[i] = new Image();

  this.imageIDA = document.getElementById('imageA'  );
  this.imageIDB = document.getElementById('imageB'  );

  this.images[1].src = 'images/partenaires1.jpg';

  var text = '';

  for(var i = 0; i < 20; i++)
    text += '<img style="position:absolute; left:0px; top:0px; width:600px; height:200px; clip:rect(0px 0px 200px 0px)" id="image' + i + '"  src="">';

  this.imageIDB.innerHTML = text;

  for(var i = 0; i < 20; i++)
  {
    this.imageID[i] = document.getElementById('image' + i);

    this.imageID[i].src = this.images[1].src;
  }

  pasVous.start();

  partLink.start();

  setTimeout("partenaires.move()",4000);
},

move:function()
{
  this.shift = ++this.shift % 31;

  for(var i = 0, offset = 0; i < 20; i++, offset += 30)
    this.imageID[i].style.clip = 'rect(0px ' +  (offset + this.shift) + 'px 200px ' + offset + 'px)';

  if(this.shift == 30)
    this.imageIDA.src = this.images[this.number].src;

  if(this.shift == 1)
    partLink.hide();

  if(this.shift == 0)
  {
    partLink.show(this.number);

    this.number = ++this.number % this.howmanyImages;

    if(this.number == 1) this.notLoaded = false;

    if(this.notLoaded)
      this.images[this.number].src = 'images/partenaires'+ this.number + '.jpg';

    for(var i = 0; i < 20; i++)
      this.imageID[i].src = this.images[this.number].src;

    if(this.number == 0)
      setTimeout("pasVous.type()",100);
    else
      setTimeout("partenaires.move()",4000);
  }
  else
    setTimeout("partenaires.move()",80);
}
}

var pasVous = {

length:0, steps:12, angles:0, n:0, k:0,

textIDA:null, textIDB:null, spanID:new Array(),

stepx:new Array(), stepy:new Array(), rotx:new Array(), roty:new Array(),

start:function()
{
  for(var m = 0; m <= this.steps; m++)
  {
    this.stepx[m] = 4 * m * m;
    this.stepy[m] = Math.floor(0.5 * m * m);
  }

// points for skew ellips

  for(var h = 10; h <= 360; h += 10)
  {
    var angle = Math.PI * h / 180;

    var A = 10 * Math.cos(angle) - 10;
    var B = 25 * Math.sin(angle);

    this.rotx[this.angles] = Math.round(A + B);
    this.roty[this.angles] = Math.round(A - B); 

    this.angles++;
  }

  this.textIDA = document.getElementById('textA');
  this.textIDB = document.getElementById('textB');

  var message = 'Et pourquoi pas vous ?';

  this.textIDA.innerHTML = '<br>' + message;

  this.length = 0;

  var divtext = '<br>';

  for(var m = 0; m < message.length; m++)
    if(message.charAt(m) == ' ')
      divtext += ' ';
    else
    {
      divtext += '<span id="textBChar'+ this.length +'" style="position:relative">' + message.charAt(m) + '</span>';

      this.length++;
    }

  this.textIDB.innerHTML = divtext;

  for(var m = 0; m < this.length; m++)
    this.spanID[m] = document.getElementById("textBChar" + m).style;
},

type:function()
{
  this.k = this.steps;

  for(var m = 0; m < this.length; m++)
    this.spanID[m].left = this.stepx[this.k];

  this.textIDB.style.visibility = 'visible';

  this.n = 0;

  this.character();
},

character:function()
{
  this.k--;

  this.spanID[this.n].left = this.stepx[this.k];
  this.spanID[this.n].top  = this.stepy[this.k];

  if(this.k > 0)
    setTimeout("pasVous.character()",30);
  else
  {
    this.n++;

    if(this.n < this.length)
    {
      this.k = this.steps;

      setTimeout("pasVous.character()",30);
    }
    else
    {
      this.textIDA.style.visibility = 'visible';

      this.k = 0;

      setTimeout("pasVous.rotate()",200);
    }
  }
},

rotate:function()
{
  this.textIDA.style.left = -this.rotx[this.k];
  this.textIDA.style.top  = -this.roty[this.k];

  this.textIDB.style.left =  this.rotx[this.k];
  this.textIDB.style.top  =  this.roty[this.k];

  this.k++;

  if(this.k < this.angles)
    setTimeout("pasVous.rotate()",50);
  else
    setTimeout("pasVous.hide()",1000);
},

hide:function()
{
  this.textIDA.style.visibility = 'hidden';

  this.k = 20;

  this.fadeDown();
},

fadeDown:function()
{
/*
    background yellow RGB: 253, 241, 183
    foreground blue   RGB:  72, 124, 218 
*/

  this.k--;

  var fact = this.k / 20;

  var R = 253 + fact * ( 72 - 253);
  var G = 241 + fact * (124 - 241);
  var B = 183 + fact * (218 - 183);

  this.textIDB.style.color = 'rgb('+ R + ',' + G + ',' + B + ')';

  if(this.k > 0)
    setTimeout("pasVous.fadeDown()", 50);
  else
  {
    this.textIDB.style.visibility = 'hidden';

    this.textIDB.style.color = 'rgb(72,124,218)';

    setTimeout("partenaires.move()",500);
  }
}
}

var partLink = {

offset:172, steps:40, pos:0, shift:1, partIDA:null, partIDB:null,

active:new Array(true, true, false), 
URL:new Array('www.safagap.peugeot.fr', 'www.meilleurtaux.com', ''),

start:function()
{
  this.partIDA = document.getElementById('partA');
  this.partIDB = document.getElementById('partB');

  this.show(0);
},

show:function(number)
{
  if(this.active[number])
  {
    this.partIDB.innerHTML = 'http://' + this.URL[number];

    this.shift = 1;

    this.move();
  }
},

hide:function()
{
    this.shift = -1;

    this.move();
},

move:function()
{
  this.pos = Math.min(Math.max(this.pos + this.shift,0),this.steps);

  this.partIDA.style.top = this.offset + this.pos;
  
  if(this.pos > 0 && this.pos < this.steps)
    setTimeout("partLink.move()",10);
}
}
