baseAjaxUrl = ""
var filter = function(e){
    this.popUp = null;
    this.isHovering = false;
    this.init(e,this);
};

filter.prototype = {
    actionEvent : null,
    constructor : filter,
    
    init : function(e, context){
        var handleSuccess = function(o){
            var resp = eval("(" + o.responseText + ")");
            context.popUp = new YAHOO.widget.Overlay(e.id + "Data", {visible:false, context:[e,"br","tl"]});
            context.popUp.setBody(resp.result);
            context.popUp.render(document.body);
            
		    YAHOO.util.Event.addListener(resp.id, "click", context.show, context, true);		     
		    YAHOO.util.Event.addListener(resp.id, "mouseout", context.beginhide, context, true);	
		    YAHOO.util.Event.addListener(e.id + "Data", "mouseover", context.hover, context, true);
		    YAHOO.util.Event.addListener(e.id + "Data", "mouseout", context.beginhide, context, true);      
        }
        var handleFailure = function(o){
        }
        var callback =
        {
          success:handleSuccess,
          failure: handleFailure
        };         
        url = baseAjaxUrl + "/rpc.aspx?action=getAllAttributes&attributeName=" + e.id
        var request = YAHOO.util.Connect.asyncRequest('GET', url, callback);        

    },
    show : function(e){
        YAHOO.util.Event.preventDefault(e);
        this.popUp.show();
    },
    beginhide : function(e){
        this.isHovering = false;
        hideFunc = function(context){
            setTimeout(function(){context.hide();},1000);
        }
        
        hideFunc(this);
        
    },
    hide : function(){
        if(!this.isHovering)
            this.popUp.hide();
    },
    hover : function(){    
        this.isHovering = true;
    }     
};
findFilters = function(){
    var elems = YAHOO.util.Dom.getElementsByClassName("extraFilterList","a")
    for (i=0;i<elems.length;i++){
        var action = new filter(elems[i]);
    }
}
YAHOO.util.Event.addListener(window, "load", findFilters);


