var FormDefaulter = {
    init: function() {
        this.addEvent(window, 'load', this.set());
    },

    set: function() {
        var self = this;
        return function() {
            self.defaulter();
        }
    },

    defaulter: function() {
        var self = this;
        var f = document.getElementsByTagName("form");
        for(var i=0;i<f.length;i++){
            this.addEvent(f[i],"submit",function(){
                var inp = this.getElementsByTagName("input");
                self.defaulter_remove(inp);
                var txa = this.getElementsByTagName("textarea");
                self.defaulter_remove(txa);
                return false;
            });
        }
		
        var t1 = document.getElementsByTagName("input");
        this.defaulter_event(t1);
        var t2 = document.getElementsByTagName("textarea");
        this.defaulter_event(t2);
    },
	
    defaulter_event: function(o){
        for(var i=0;i<o.length;i++){
            var e = o[i];
            var c = e.className;
            if(c.match(/defaulter/i)){
                var e2 = 2;
                this.addEvent(e,"focus",function(){
                    if(this.value == this.title) this.value = "";
                });
                this.addEvent(e,"blur",function(e2){
                    if(this.value == "") this.value = (this.title != "") ? this.title : this.name;
                });
            }
        }
    },
   
    defaulter_remove: function(o){
        for(var i=0;i<o.length;i++){
            var e = o[i];
            var c = e.className;
            if(c.match(/defaulter/i)){
                if(e.value == e.title || e.value == e.name) e.value = "";
            }
        }
    },
   
    addEvent: function(elm, type, event) {
        if(elm.addEventListener) {
            elm.addEventListener(type, event, false);
        } else if(elm.attachEvent) {
            elm.attachEvent('on'+type, event);
        } else {
            elm['on'+type] = event;
        }
    }
}
    FormDefaulter.init();
