function initPageShadow()
{
var bg_color = "#FFFFFF";
var page_bottom_elem;
if (document.getElementById) // IE5+ & Gecko
{
var elem = document.getElementById("body");
if (elem.currentStyle)
bg_color = elem.currentStyle["backgroundColor"];
else if (window.getComputedStyle)
bg_color = window.getComputedStyle(elem, "").getPropertyValue("background-color");
page_bottom_elem = document.getElementById("page_bottom_shadow");
}
page_bottom_elem.innerHTML = providePageBottomShadow(bg_color.toString());
}
function providePageBottomShadow(bg_color)
{
var shadow_code = "
";
var gradient_colors = extractGradientColors(bg_color);
for( var i=0; i";
shadow_code += " | ";
shadow_code += "";
}
shadow_code += "
";
return shadow_code;
}
// The color format is "rgb(rrr, ggg, bbb)" or "#rrggbb"
function extractRGB(color)
{
var rgb = new stringArray(3, 0);
if( color.charAt(0)=='#' )
{
rgb[0] = parseInt(color.substring(1, 3), 16);
rgb[1] = parseInt(color.substring(3, 5), 16);
rgb[2] = parseInt(color.substring(5, 7), 16);
}
else
{
var first_comma = color.indexOf(",");
var second_comma = color.substring(first_comma+1).indexOf(",") + first_comma + 1;
rgb[0] = parseInt(color.substring(4, first_comma));
rgb[1] = parseInt(color.substring(first_comma+1, second_comma));
rgb[2] = parseInt(color.substring(second_comma+1, color.indexOf(")")));
}
return rgb;
}
function extractGradientColors(color)
{
var gradient_colors = new stringArray(7, '000000');
var rgb = extractRGB(color);
var max_red = rgb[0];
var max_green = rgb[1];
var max_blue = rgb[2];
var red = 0;
var green = 0;
var blue = 0;
red += max_red / 2;
green += max_green / 2;
blue += max_blue / 2;
gradient_colors[1] = toHex(red) + toHex(green) + toHex(blue);
red += max_red / 8;
green += max_green / 8;
blue += max_blue / 8;
gradient_colors[2] = toHex(red) + toHex(green) + toHex(blue);
red += max_red / 8;
green += max_green / 8;
blue += max_blue / 8;
gradient_colors[3] = toHex(red) + toHex(green) + toHex(blue);
red += max_red / 10;
green += max_green / 10;
blue += max_blue / 10;
gradient_colors[4] = toHex(red) + toHex(green) + toHex(blue);
red += max_red / 13;
green += max_green / 13;
blue += max_blue / 13;
gradient_colors[5] = toHex(red) + toHex(green) + toHex(blue);
red += max_red / 19;
green += max_green / 19;
blue += max_blue / 19;
gradient_colors[6] = toHex(red) + toHex(green) + toHex(blue);
return gradient_colors;
}
function stringArray(n, init)
{
this.length = n;
for( var i=0; i> 4) + hexchars.charAt(num & 0xF);
}