<PUBLIC:COMPONENT NAME="ID_COOLRULE">
<PUBLIC:PROPERTY name="startColor"/>
<PUBLIC:PROPERTY name="endColor"/>
<PUBLIC:PROPERTY name="steps"/>
<PUBLIC:PROPERTY name="height"/>

<PUBLIC:ATTACH event="oncontentready" handler="Init" />

<SCRIPT>
// Copyright 1999 InsideDHTML.com, LLC. All rights reserved.
// This behavior can be reused as long as the above copyright
// notice is maintained.

function prefix(s) {
  // Make sure the hex# is 2 characters
  if (1==s.length)
    s="0"+s
  return s
}

function breakApart(start) {
  // Split the hex # into the RGB components
  var temp = new Array()
  temp[0] = parseInt(start.substring(0,2),16)
  temp[1] = parseInt(start.substring(2,4),16)
  temp[2] = parseInt(start.substring(4,6),16)
  return temp
}

function diffParts(startInt, endInt, steps) {
  // Determine the increment amount for each step
  var temp = new Array()
  for (var i=0; i<3; i++)
    temp[i] = Math.round((endInt[i] - startInt[i]) / steps)
  return temp
}


function createHR(start, end, steps, width, height,direction) {
  var startInt = breakApart(start)
  var endInt = breakApart(end)
  var stepList = diffParts(startInt, endInt, steps)
  if (element.align=="") element.align="center"
  if (element.width=="") element.width="100%"
  str = "<TABLE STYLE=\"margin:8 0 12 0;\" align=\"" + element.align + "\" width="+element.width + " height="+element.height  
  str+=" cellspacing=0 cellpadding=0 border=0><TR>"
  for (var r=0; r < steps; r++) {
      var hr = prefix(startInt[0].toString(16))
      var hg = prefix(startInt[1].toString(16))
      var hb = prefix(startInt[2].toString(16))
      // increment color
      for (var i=0; i < 3; i++)
        startInt[i]+=stepList[i]
      str+="<TD BGCOLOR="+hr + hg + hb+">"
      str+="</TD>"
      // Vertical rule
      if ((direction) && (r < steps-1))
        str+="<TR>"

  }
  str+="</TABLE>"
  return str
}

function Init() {
	if (steps==null) steps=32
	element.outerHTML= createHR(startColor,endColor,steps,element.offsetWidth,element.offsetHeight,element.direction)
}
</SCRIPT>
</PUBLIC:COMPONENT>
