/*

Script : Dfv.js
	Default Fields Values
	
Author :
	Benjamin David, <http://benjamindavid.cc/>
	
Dependencies :
	Mootools 1.2, <http://mootools.net/>

Example :

	new Dfv("[field id]", "[default value]");
	
	new Dfv("user-email", "Email");

*/

var Dfv = new Class({
    initialize: function(fieldId, defValue){
        this.fieldId = fieldId;
        this.defValue = defValue;
        this.fobj = $(fieldId);
        this.initFields();
        this.initEventsHandlers();
    },
    
    initFields: function() {
    	
    	var fobj = this.fobj;
    	
    	if(!$defined(fobj)) { return false; }
    	
    	if(this.fobj.value != this.defValue) {
    		if(this.fobj.value == "") {
    			this.fobj.value = this.defValue;
	    		this.fobj.addClass('dfv');
    		} else {
	    		this.fobj.removeClass('dfv');
    		}
    	} else {
    		this.fobj.addClass('dfv');
    	}
    	
    },
    
    initEventsHandlers: function() {
    	
    	if(!$defined(this.fobj)) { return false; }
    	
    	var mthis = this;
    	this.fobj.addEvent('focus', function() {
	    	if(mthis.fobj.value == mthis.defValue) {
	    		mthis.fobj.value="";
	    		mthis.fobj.removeClass('dfv');
	    	}
		});
		
		this.fobj.addEvent('blur', function() {
	    	if(mthis.fobj.value == "") {
	    		mthis.fobj.value=mthis.defValue;
	    		mthis.fobj.addClass('dfv');
	    	}
		});
    }
});

/* Ends Default Field Value Class */
