/* This script and many more are available free online at
The JavaScript Source!! http://javascript.internet.com
Created by: Tony Tschopp :: http://www.goodturnwebdesign.com */

/* comp = name (ID="comp") of the HTML page component to fade
cbeg = start value for color in #rrggbb format
cend = end value for color in #rrggbb format
iter = number of steps in the fade from start color to end color
time = number of milliseconds to display each step
rbeg = start value for red component of rbg color
gbeg = start value for green component of rbg color
bbeg = start value for blue component of rbg color
rend = end value for red component of rbg color
gend = end value for green component of rbg color
bend = end value for blue component of rbg color */

var hstr = '#';
var hdig = "0123456789abcdef";
function mOvr(comp, cbeg, cend, iter, time) {
  var rbeg = hdig.indexOf(cbeg.substr(1,1))*16 + hdig.indexOf(cbeg.substr(2,1));
  var gbeg = hdig.indexOf(cbeg.substr(3,1))*16 + hdig.indexOf(cbeg.substr(4,1));
  var bbeg = hdig.indexOf(cbeg.substr(5,1))*16 + hdig.indexOf(cbeg.substr(6,1));
  var rend = hdig.indexOf(cend.substr(1,1))*16 + hdig.indexOf(cend.substr(2,1));
  var gend = hdig.indexOf(cend.substr(3,1))*16 + hdig.indexOf(cend.substr(4,1));
  var bend = hdig.indexOf(cend.substr(5,1))*16 + hdig.indexOf(cend.substr(6,1));
  for ( i = 1, r = rbeg, g = gbeg, b = bbeg;
    i <= iter;
    r = Math.round(rbeg + i * ((rend - rbeg) / (iter-1))),
    g = Math.round(gbeg + i * ((gend - gbeg) / (iter-1))),
    b = Math.round(bbeg + i * ((bend - bbeg) / (iter-1))), i++ )	 {
    hstr = '#' + hdig.charAt(Math.floor(r/16)) + hdig.charAt(r%16) +
      hdig.charAt(Math.floor(g/16)) + hdig.charAt(g%16) +
      hdig.charAt(Math.floor(b/16)) + hdig.charAt(b%16);
    setTimeout('var el = document.getElementById("' + comp + '"); el.style.backgroundColor = "' + hstr + '";', i * time);
  }
}

function mOut(comp, cbeg, cend, iter, time) {
  var rbeg = hdig.indexOf(cbeg.substr(1,1))*16 + hdig.indexOf(cbeg.substr(2,1));
  var gbeg = hdig.indexOf(cbeg.substr(3,1))*16 + hdig.indexOf(cbeg.substr(4,1));
  var bbeg = hdig.indexOf(cbeg.substr(5,1))*16 + hdig.indexOf(cbeg.substr(6,1));
  var rend = hdig.indexOf(cend.substr(1,1))*16 + hdig.indexOf(cend.substr(2,1));
  var gend = hdig.indexOf(cend.substr(3,1))*16 + hdig.indexOf(cend.substr(4,1));
  var bend = hdig.indexOf(cend.substr(5,1))*16 + hdig.indexOf(cend.substr(6,1));
  for ( i = 1, r = rend, g = gend, b = bend;
    i <= iter;
    r = Math.round(rend - i * ((rend - rbeg) / (iter-1))),
    g = Math.round(gend - i * ((gend - gbeg) / (iter-1))),
    b = Math.round(bend - i * ((bend - bbeg) / (iter-1))), i++ )	 {
    hstr = '#' + hdig.charAt(Math.floor(r/16)) + hdig.charAt(r%16) +
      hdig.charAt(Math.floor(g/16)) + hdig.charAt(g%16) +
      hdig.charAt(Math.floor(b/16)) + hdig.charAt(b%16);
    setTimeout('var el = document.getElementById("' + comp + '"); el.style.backgroundColor = "' + hstr + '";', i * time);
  }
}
// End -->

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
//   obj.visibility=v;
//    alert(args[i]);
//    alert(v); 



    if (args[i] == "messagebox" && v == "hidden"){
    obj.left="0px";
    obj.top="0px";
    obj.width="0px";
    obj.height="0px";
    } else if (args[i] == "messagebox" && v == "visible") {
    obj.left="370px";
    obj.top="160px";
    obj.width="500px";
    obj.height="300px";	
    }

    if (args[i] == "pointhing" && v == "hidden"){
    obj.left="0px";
    obj.top="0px";
    obj.width="0px";
    obj.height="0px";
    } else if (args[i] == "pointhing" && v == "visible") {
    obj.left="250px";
    obj.top="100px";
    obj.width="640px";
    obj.height="400px";
    }
	
	    if (args[i] == "addpointbox" && v == "hidden"){
    obj.left="0px";
    obj.top="0px";
    obj.width="0px";
    obj.height="0px";
    } else if (args[i] == "addpointbox" && v == "visible") {
    obj.left="350px";
    obj.top="100px";
    obj.width="450px";
    obj.height="280px";
    }
 
obj.visibility=v;
if (v == "visible") {
obj.zIndex=1;
} else {
obj.zIndex=0;
}

}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


<!-- Hide from older browsers
stdBrowser=(document.getElementById)?true:false
function toggleMenu(currElem,nextPos) {
menuObj=
(stdBrowser)?document.getElementById(currElem).style
: eval("document." + currElem)
if (toggleMenu.arguments.length == 1) {
 nextPos = (parseInt(menuObj.top)==-5)?-110 : -5 }
menuObj.top=(stdBrowser)?nextPos+"px" : nextPos }
// End hiding -->

