// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
var timer_id=null;
var timer_name=null;
function open_list(name, object){
    cancel_close(name);
    object = $(object);
    var list = $(name+ "-list");
    if(list.className.include("hidden")){
	list.className="sort-list";
	var adjust_top = Prototype.Browser.IE ? 15 : 12;
	var adjust_left = Prototype.Browser.IE ? 90 : 94;
	list.style.top = object.cumulativeOffset(object)['top'] + adjust_top + "px";
	list.style.left = object.cumulativeOffset(object)['left'] - adjust_left + "px";
	list.observe('mouseout', this.close_list.bind(this,name,object));
	object.observe('mouseout', this.close_list.bind(this,name,object));
	list.observe('mouseover', this.cancel_close.bind(this,name));
	object.observe('mouseover', this.cancel_close.bind(this,name));
    }
}

function close_list(name, object){
    object = $(object);
    var list = $(name+ "-list");
    timer_name=name;
    timer_id = window.setTimeout(function() {
	list.stopObserving('mouseout');
	list.stopObserving('mouseover');
	object.stopObserving('mouseout');
	object.stopObserving('mouseover');
	list.className="sort-list-hidden";
    }, 500);
}

function cancel_close(name){
    if(name==timer_name){
	window.clearTimeout(timer_id);
	timer_id=null;
    }
}
