var FieldDefault = new Class({
    
    initialize: function(element, defaultValue) {
        element = $(element);
        if (element.value == "") {
            element.value = defaultValue;
            element.addClass("empty");
            element.store("empty", true);
        }
        
        element.addEvents({
            "focus": function() {
                this.removeClass("empty");
                if (this.retrieve("empty")) {
                    this.value = "";
                }
                this.select();
            },
            "blur": function() {
                if (this.value == "") {
                    this.addClass("empty");
                    this.value = defaultValue;
                } else {
                    this.removeClass("empty");
                    this.store("empty", false);
                }
            },
            "change": function () {
                if (this.value != "") {
                    this.store("empty", false);
                } else {
                    this.store("empty", true);
                }
            }
        });
        
        if (element.form) {
            $(element.form).addEvent("submit", function(e) {
                if(element.retrieve("empty")) {
                    element.value = "";
                }
            })
        }
    }
    
});
