//+---------------------------------------------------------------------------------------
// Author.......: Codeware Consultancy
// Version......: 0.2
// Description..: Here are my uber-cewl javascript efx, to spice up the site a bit
// 
//
//----------------------------------------------------------------------------------------

function NumToHexString(hexnumber) {
// takes a number as sole argument, returns the hex value. Will make
// the return value at leats two places long by adding zeroes.
// I.e., NumToHexString(10)=="0a".
   var hexstring="";
   var hexchar;
   var hexones;
   var i=0;

   hexnumber=Math.floor(hexnumber);
   while (hexnumber != 0) {
       i++;
       hexones=hexnumber % 16;
       hexnumber -= hexones;
       hexnumber /= 16;

       if (hexones>9) {
	  if (hexones==10) hexchar="a";
	  if (hexones==11) hexchar="b";
	  if (hexones==12) hexchar="c";
	  if (hexones==13) hexchar="d";
	  if (hexones==14) hexchar="e";
	  if (hexones==15) hexchar="f";
       }
       else hexchar=hexones;

      hexstring = hexchar + hexstring;
   }

   for (;i<2;i++) {
      hexstring="0"+hexstring;
   }

   return hexstring;
}


// Effectname : ColorFade
// Description: Fades a color from one shade to another. Nice for DIVs and SPANners.
// Usage: ColorFade('div1', 0xff,0xff,0xff, 0xf1,0x5d,0x9b,20); 
function ColorFade(id_div, red1, grn1, blu1, red2, grn2, blu2, steps) {
   sred = red1; 
   sgrn = grn1; 
   sblu = blu1; 
   ered = red2; 
   egrn = grn2; 
   eblu = blu2;
   divid = id_div;
   inc = steps; 
   step = 0; 
   RunColorFader();
}

function RunColorFader() {

   var epct = step/inc; 
   var spct = 1 - epct; 
   if (document.getElementById(divid))
   {
      var newColor = Math.floor(sred * spct + ered * epct)*256*256 +
      Math.floor(sgrn * spct + egrn * epct)*256 +
      Math.floor(sblu * spct + eblu * epct);
      
      document.getElementById(divid).style.color = '#'+ NumToHexString(newColor);

   }

   if ( step < inc ) {
      setTimeout('RunColorFader()',50); 
   }
   step++;
}

// Effectname : tabPage
// Description: hiddes all object elements except the one given
// Usage: tabPage('div1')
function tabPage(p_id) {
   // Get a collection of the objectType that match element ID.
   var spancollection = document.getElementsByTagName( document.getElementById(p_id).tagName );

   for (i=0;i<spancollection.length;i++)
   {
       spancollection[i].style.visibility = 'hidden';
       spancollection[i].style.display= 'none';
   }
   document.getElementById(p_id).style.visibility = 'visible';
   document.getElementById(p_id).style.display = '';
 }

