var gradients = new Array();
var main_gradient_timeout;
var made_gradients = false;

function main_init()
{
    common_init();

    var canvas = document.createElement("canvas");
    if(canvas.getContext)
    {
        gradients["find"]   = ["0x8ac8eb", "0x006699"];
        gradients["browse"] = ["0xf9b344", "0xdf5400"];
        gradients["ask"]    = ["0xb2dc65", "0x8ad118"];
        gradients["about"]  = ["0xeb9d72", "0xde753a"];

        for(name in gradients)
        {
            var div = document.getElementById("main_"+name);
            gradients[name].push(div);
        }
    }

    window.onresize = main_resize;
    main_resize();
}

function main_resize()
{
    common_resize();
    var max_height = 0;

    for(name in gradients)
    { gradients[name][2].style.height = null; }

    for(name in gradients)
    {
        if(gradients[name][2].clientHeight > max_height)
        { max_height = gradients[name][2].clientHeight; }
    }

    for(name in gradients)
    {
        var height_change = max_height - gradients[name][2].clientHeight;
        gradients[name][2].style.height = max_height+"px";
        var ps = gradients[name][2].getElementsByTagName("p");
        if(ps.length)
        {
            var p = ps[0];
            p.style.position = "relative";
            p.style.top = height_change+"px";
        }
    }

    main_set_gradient();
}

function main_set_gradient()
{
    if(!made_gradients)
    {
        made_gradients = true;
        make_gradients();
        return;
    }

    if(main_gradient_timeout)
    { clearTimeout(main_gradient_timeout); }
    main_gradient_timeout = setTimeout("make_gradients();", 500);
}

function make_gradients()
{
    clear_gradients();

    for(name in gradients)
    {
        var div = document.getElementById("main_"+name);
        div.removeAttribute("class");
        OSGradient.applyGradient(make_style(name), div);
    }
}

function clear_gradients()
{
    var canvases = document.getElementsByTagName("canvas");
    for(var i=canvases.length-1; i>=0; --i)
    { canvases[i].parentNode.removeChild(canvases[i]); }

    if(canvases.length == 0)
    {
        var divs = document.getElementsByTagName("div");
        for(var i=divs.length-1; i>=0; --i)
        {
            var div = divs[i];
            if(div.className == "gradient")
            { div.parentNode.removeChild(div); }
        }
    }
}

function make_style(name)
{
    return {"gradient-start-color": gradients[name][0],
            "gradient-end-color" : gradients[name][1],
            "border-radius" : 0};
}

