function create_cookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function read_cookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function erase_cookie(name)
{
	create_cookie(name,"",-1);
}

days_to_expiration = 3*30;

function save_state()
{
    function set_from_dom(id)
    {
        var display = document.getElementById(id).style.display;
        if (display) create_cookie(id,display,days_to_expiration);
    }
    set_from_dom('tagcloud');
    set_from_dom('new_posts');
    set_from_dom('popular_posts');
    set_from_dom('search_form');
    set_from_dom('login_panel');
    // XXX set_from_dom('comments_div');
}

function load_state()
{
    function set_from_cookie(id)
    {
        var display = read_cookie(id);
        if (display) document.getElementById(id).style.display = display;
    }
    
    set_from_cookie('tagcloud');
    set_from_cookie('new_posts');
    set_from_cookie('popular_posts');
    set_from_cookie('search_form');
    set_from_cookie('login_panel');
    // XXX set_from_cookie('comments_div');
}

function toggle_element(id,headline_id)
{
    var div = document.getElementById(id);
    if (div.style.display == 'none')
    {
        div.style.display='block';
    }
    else
    {
        div.style.display='none';
    }
    save_state()
}


window.onload = function() //Wait for the page to load.
{
    load_state();
};
