/* ***** Begin ***************************************************** */
function fadeObject(id, c1, c2, s1, s2) {
  var self = this;
  this.id      = id;
  this.elem    = false;
  this.colour  = {
    stt: [parseInt(c1.substr(0, 2), 16), parseInt(c1.substr(2, 2), 16), parseInt(c1.substr(4, 2), 16)],
    end: [parseInt(c2.substr(0, 2), 16), parseInt(c2.substr(2, 2), 16), parseInt(c2.substr(4, 2), 16)],
    now: [parseInt(c1.substr(0, 2), 16), parseInt(c1.substr(2, 2), 16), parseInt(c1.substr(4, 2), 16)]
  };
  this.steps   = [s1, s2];
  this.dir     = false;
  this.active  = false;
  this.queue   = [];
  this.msg     = [];
  this.message = 0;
  function d2h(num) {
    num = Math.round(num);
    return ((num < 16) ? "0" : "") + num.toString(16);
  }
  this.fade = function(message, direction) {
    this.elem = this.elem || document.getElementById(this.id);
    this.queue.push([message, direction]);
    for (var x = 0; x < this.queue.length; x++) {
      for (var y = x + 1; y < this.queue.length; y++) {
        if (this.queue[x][0] == this.queue[y][0] && this.queue[x][1] != this.queue[y][1]) {
          this.queue.splice(x, 1);
          this.queue.splice(y - 1, 1);
        }
      }
    }
    if (!this.active) setTimeout(function() { self.fadeLoop(); }, 0);
  };
  this.fadeLoop = function() {
    if (!this.active && this.queue.length) {
      if (this.dir && this.message != this.queue[0][0]) this.queue.unshift([this.message, false]);
      var msg = this.queue.shift();
      if (this.msg[msg[0]]) {
        this.active = true;
        this.elem.innerHTML = this.msg[this.message = msg[0]];
        this.dir = msg[1];
      }
    }
    if (this.dir) {
      var c1 = this.colour.stt, c2 = this.colour.end, s = this.steps[0];
    } else var c1 = this.colour.end, c2 = this.colour.stt, s = this.steps[1];
    for (var x = 0, cnow = "", inc = 0; x < 3; x++) {
      this.colour.now[x] += inc = (c2[x] - c1[x]) / s;
      cnow += this.colour.now[x] = (inc < 0) ? Math.max(this.colour.now[x], c2[x]) : Math.min(this.colour.now[x], c2[x]);
    } this.elem.style.color = "#" + d2h(this.colour.now[0]) + d2h(this.colour.now[1]) + d2h(this.colour.now[2]);
    if (cnow == c2.join("")) {
      this.active = false;
      if (!this.queue.length) {
        if (!this.dir) {
          if (this.msg[0]) {
            this.queue.push([0, true]);
            setTimeout(function() { self.fadeLoop(); }, 0);
          } else this.elem.innerHTML = "&nbsp;";
        }
      } else setTimeout(function() { self.fadeLoop(); }, 0);
    } else setTimeout(function() { self.fadeLoop(); }, 0);
  };
  if (window.addEventListener) {
    window.addEventListener('load', function() { self.fade(0, true); }, false); 
  } else if (window.attachEvent)
    window.attachEvent('onload', function() { self.fade(0, true); });
}
/* ***** End ******************************************************* */



var fader = [new fadeObject('fade0', 'dddddd', 'FEA701', 20, 20)];
fader[0].msg[0] = "";
fader[0].msg[1] = "Fade object one, message one";
fader[0].msg[2] = "Fade object one, message two";

fader[1] = new fadeObject('fade1', '000055', 'FEA701', 30, 30);


fader[1].msg[1] = "ISTORIC";
fader[1].msg[2] = "PRODUSE";
fader[1].msg[3] = "PARTENERI";
fader[1].msg[4] = "CLIENTI";
fader[1].msg[5] = "CERTIFICARI SI CERCETARE";
fader[1].msg[6] = "NOUTATI";
fader[1].msg[7] = "TEHNICI";
fader[1].msg[8] = "FUN";
fader[1].msg[9] = "TRAUMA";
fader[1].msg[10] = "PROTEZE";
fader[1].msg[11] = "ARTROSCOPIE";
fader[1].msg[12] = "VISCOSUPLIMENTARE";
fader[1].msg[13] = "INSTRUMENTAR CHIR.";
fader[1].msg[14] = "WOUND MANAGEMENT";
fader[1].msg[15] = "PRODUSE SPECIALE";
fader[1].msg[16] = "CAMPURI STERILE";
fader[1].msg[17] = "SURUBURI";
fader[1].msg[18] = "PLACI";
fader[1].msg[19] = "DHS/DCS";
fader[1].msg[20] = "TIJE";
fader[1].msg[21] = "FIXATOARE";
fader[1].msg[22] = "BMF";
fader[1].msg[23] = "COLOANA";
fader[1].msg[24] = "INSTRUMENTAR";
fader[1].msg[25] = "PRIMARE SOLD";
fader[1].msg[26] = "REVIZIE SOLD";
fader[1].msg[27] = "METAL-METAL";
fader[1].msg[28] = "OXINIUM";
fader[1].msg[29] = "GENUNCHI";
fader[1].msg[30] = "CIMENT";
fader[1].msg[31] = "SPACERE";
fader[1].msg[32] = "PRODUSE SPECIALE";
fader[1].msg[33] = "GENUNCHI";
fader[1].msg[34] = "COLOANA";
fader[1].msg[35] = "UMAR";
fader[1].msg[36] = "SOLD";
fader[1].msg[37] = "ARTICULATII MICI";
fader[1].msg[38] = "INSTRUMENTAR";
fader[1].msg[39] = "APARATURA";
fader[1].msg[40] = "TEHNICI";
fader[1].msg[41] = "Synvisc (Hylan G-F 20)";
fader[1].msg[42] = "Arthrum H 2%";
fader[1].msg[43] = "Coxarthrum";
fader[1].msg[44] = "DUROLANE";
fader[1].msg[45] = "Tehnici";
fader[1].msg[46] = "HIDROCHIRURGIE";
fader[1].msg[47] = "PANSAMENTE AG";
fader[1].msg[48] = "PRESIUNE NEGATIVA";
fader[1].msg[49] = "PANSAMENTE ABSORBANTE";
fader[1].msg[50] = "SOLUTII DEBRIDARE";
fader[1].msg[51] = "PANSAMENTE POST-OP";
fader[1].msg[52] = "FIXARE CATETER";
fader[1].msg[53] = "CICATRICI CHELOIDE";
fader[1].msg[54] = "S-MART";
fader[1].msg[55] = "MEMORIE TERMICA";
fader[1].msg[56] = "TENOLIG";
fader[1].msg[57] = "CHIRURGIE PLASTICA";
fader[1].msg[58] = "MANUSI";
fader[1].msg[59] = "MOTOARE ORTOPEDICE";
fader[1].msg[60] = "SUBSTITUENTI OSOSI";
fader[1].msg[61] = "HALATE STERILE";
fader[1].msg[62] = "SETURI CAMPURI ORTOPEDIE";
fader[1].msg[63] = "SETURI CHIRURGIE GENERALA";
fader[1].msg[64] = "SETURI NEUROLOGIE";
fader[1].msg[65] = "SETURI GINECOLOGIE";
fader[1].msg[66] = "SETURI PERSONALIZATE";
fader[1].msg[67] = "FOLIE INCIZIE";
fader[1].msg[68] = "PROTECTIE INDIVIDUALA";
fader[1].msg[69] = "LAMA PLACA CONDILIANA";
fader[1].msg[70] = "LAMA PLACA TROHANTERIANA";
fader[1].msg[71] = "DHS CONTACT LIMITAT";
fader[1].msg[72] = "DCS CONTACT LIMITAT";
fader[1].msg[73] = "LAMA BIFURCATA PLATOU TIBIAL";
fader[1].msg[74] = "DHS/DCS";
fader[1].msg[75] = "DHS CU 2 SURUBURI";
fader[1].msg[76] = "SURUBURI DE COL";
fader[1].msg[77] = "ENDER/KUNTSCHER";
fader[1].msg[78] = "GAMBA / FEMUR";
fader[1].msg[79] = "DE RECONSTRUCTIE GAMBA / FEMUR / HUMERUS";
fader[1].msg[80] = "UNIVERSALA DE FEMUR";
fader[1].msg[81] = "RETROGRADA";
fader[1].msg[82] = "HUMERUS CU EXPANDARE";
fader[1].msg[83] = "GAMMA/PFN";
fader[1].msg[84] = "CUBITUS/PERONEU";
fader[1].msg[85] = "TSF";
fader[1].msg[86] = "GAMBA/FEMUR";
fader[1].msg[87] = "ANTEBRAT";
fader[1].msg[88] = "ARTICULATIE ANTEBRAT";
fader[1].msg[89] = "ILIZAROV";
fader[1].msg[90] = "PLACI";
fader[1].msg[91] = "SURUBURI";
fader[1].msg[92] = "FIXATOARE";
fader[1].msg[93] = "SARMA";
fader[1].msg[94] = "ATELE BUTONATE";
fader[1].msg[95] = "<span style='font-size:24px;'>SURUBURI TRANSPEDICULARE MONOAXIALE</span>";
fader[1].msg[96] = "<span style='font-size:24px;'>SURUBURI TRANSPEDICULARE POLIAXIALE</span>";
fader[1].msg[97] = "BARE";
fader[1].msg[98] = "CONECTOR TRANSVERSAL";
fader[1].msg[99] = "CUSCA INTERVERTEBRALA";
fader[1].msg[100] = "PROTEZE TOTALE DE SOLD CIMENTATE";
fader[1].msg[101] = "PROTEZE TOTALE DE SOLD NECIMENTATE";
fader[1].msg[102] = "LEFEVRE";
fader[1].msg[103] = "ESPACE";
fader[1].msg[104] = "JUMP";
fader[1].msg[105] = "ELEMENTE DE RANFORSARE";
fader[1].msg[106] = "SPACERE";
fader[1].msg[107] = "TARGOS";
fader[1].msg[108] = "TIJA INTEGRA";
fader[1].msg[109] = "SUBSTITUENT";
fader[1].msg[110] = "GENESIS";
fader[1].msg[111] = "ACCURIS";
fader[1].msg[112] = "DEUCE";
fader[1].msg[113] = "JOURNEY";
fader[1].msg[114] = "LEGION";
fader[1].msg[115] = "PATELOFEMURALA";
fader[1].msg[116] = "NEW WAVE";
fader[1].msg[117] = "MAEVA";
fader[1].msg[118] = "EUROBONE";
fader[1].msg[119] = "EUROCER";
fader[1].msg[120] = "CU/FARA ANTIBIOTIC";
fader[1].msg[121] = "CRANIOPLASTIE";
fader[1].msg[122] = "VERTEBROPLASTIE";
fader[1].msg[123] = "PROTEZA DE GLEZNA RAMSES";
fader[1].msg[124] = "PROTEZA DE UMAR ARROW";
fader[1].msg[125] = "PROTEZA DE CAP RADIAL";
fader[1].msg[126] = "<span style='font-size:20px;'>PROTEZA PENTRU ARTICULATIA METARCAPO-FALANGIANA A POLICEULUI</span>";
fader[1].msg[127] = "PROTEZA DE COT";
fader[1].msg[171] = "Rhizarthrum";
fader[1].msg[128] = "DIAGNOSTIC";
fader[1].msg[129] = "ANESTEZIE";
fader[1].msg[130] = "CHIRURGIE GENERALA";
fader[1].msg[131] = "ORTOPEDIE";
fader[1].msg[132] = "NEUROCHIRURGIE";
fader[1].msg[133] = "OFTALMOLOGIE";
fader[1].msg[134] = "ORL";
fader[1].msg[135] = "CHIRURGIE CARDIOVASCULARA";
fader[1].msg[136] = "CUPA ORTOVIT";
fader[1].msg[137] = "OXINIUM COLENTINA";
fader[1].msg[138] = "IDET MILITAR";
fader[1].msg[139] = "TSF CURIE";
fader[1].msg[140] = "BHR URGENTA";
fader[1].msg[141] = "CHIR. ANTEPICIORULUI";
fader[1].msg[142] = "PLACA CERVICO-OCCIPITALA";
fader[1].msg[143] = "FEMUR";
fader[1].msg[144] = "TIBIE";
fader[1].msg[145] = "HUMERUS";
fader[1].msg[146] = "ANTEBRAT";
fader[1].msg[147] = "SPECIALE";
fader[1].msg[148] = "PLACI CONDIL FEMURAL";
fader[1].msg[149] = "PLACI DREPTE/LC-DCP";
fader[1].msg[150] = "PLACI CU GHEARE";
fader[1].msg[151] = "PLACI DREPTE/LC-DCP";
fader[1].msg[152] = "PLACI IN T,L";
fader[1].msg[153] = "PLACI TIP SPOON";
fader[1].msg[154] = "PLACI TIP CLOVERLEAF";
fader[1].msg[155] = "PLACI SEMITUBULARE";
fader[1].msg[156] = "PLACI HUMERALE";
fader[1].msg[157] = "PLACI IN Y";
fader[1].msg[158] = "PLACI RECONSTRUCTIE";
fader[1].msg[159] = "PLACI RADIUS";
fader[1].msg[160] = "PLACI DIFERITE CONFIGURATII";
fader[1].msg[161] = "PLACI CU STABILITATE ANGULARA";
fader[1].msg[162] = "PLACI CALCANEU";
fader[1].msg[163] = "PLACI CLAVICULARE";
fader[1].msg[164] = "FEMUR";
fader[1].msg[165] = "GAMBA";
fader[1].msg[166] = "DHS/DCS";
fader[1].msg[167] = "GAMMA";
fader[1].msg[168] = "HUMERUS";
fader[1].msg[169] = "CUBITUS/PERONEU";
fader[1].msg[170] = "COLOANA";
fader[1].msg[173] = "Mobilizare pasiva - KINETEC";
fader[1].msg[174] = "COT";
fader[1].msg[175] = "GLEZNA";
fader[1].msg[176] = "GENUNCHI";
fader[1].msg[177] = "MANA";
fader[1].msg[178] = "PICIOR PEDIATRIC";
fader[1].msg[179] = "SOLD";
fader[1].msg[180] = "UMAR";
fader[1].msg[205] = "IN CURAND";
fader[1].msg[207] = "TABLOURI";


fader[1].msg[1001] = "TRAUMA";
fader[1].msg[1002] = "ARTROSCOPIE";
fader[1].msg[1003] = "VISCOSUPLIMENTARE";
fader[1].msg[1004] = "PROTEZE";
fader[1].msg[1005] = "WOUND MANAGEMENT";
fader[1].msg[1006] = "PRODUSE SPECIALE";
fader[1].msg[1007] = "MOTOARE ORTOPEDICE";
fader[1].msg[1008] = "INSTRUMENTAR <br /><span>CHIRURGICAL GENERAL</span>";
fader[1].msg[1009] = "INSTRUMENTAR";




