/*
** AUTOTEXT CLASS
*/

var Autotext = new Class({
	initialize: function() {
		this.set(false);
	},
	
	set: function(overwrite){
		this.autoInputs = 	 $(document).getElements('input[autotext]');
		this.autoTextareas = $(document).getElements('textarea[autotext]');
		this.autoInputs.each( function(element){ this.setElement(element, overwrite); }.bind(this));
		this.autoTextareas.each( function(element){ this.setElement(element, overwrite); }.bind(this));
	},
	
	setElement: function(element, overwrite){
		
		var type = element.get('type');
		element.addClass(type);
		
		if ( element.hasClass('password') && Browser.Engine.trident ){
			element.removeClass('autotext');
			element.removeProperty('autotext');
		} else {
			if ( overwrite == true ){
				if ( element.hasClass('password') && !Browser.Engine.trident ) {
					element.set('type','text');
				}
				element.value = element.get('autotext');
				element.addClass('autotext');
			}
			
			if ( element.value == "" || element.value == element.get('autotext')){
				if ( !Browser.Engine.trident ) { if ( element.hasClass('password') ){ element.set('type','text'); } }
				element.set('value',element.get('autotext'));
				element.addClass('autotext');
			}
			element.addEvent('focus', function(){ 
				if ( element.get('value') == "" || element.get('value') == element.get('autotext') ){
					if ( !Browser.Engine.trident ) { if ( element.hasClass('password') ){ element.set('type','password'); } }
					$(element).set('value','');
					element.removeClass('autotext');
				}
			});
			element.addEvent('blur', function(){
				if ( element.value == "" || element.value == element.get('autotext') ){
					if ( !Browser.Engine.trident ) { if ( element.hasClass('password') ){ element.set('type','text'); } }
					element.addClass('autotext');
					element.set('value',element.get('autotext'));
				}
			});
			
		}
	}, 

	isAuto: function(element){
		if ( element.value == element.get('autotext') ){
			return true;
		} else {
			return false;
		}
	},
	
	Reset: function(element){
		if ( element == "all" ){
			this.set(false);
		} else if ( element ) {
			element.value = element.get('autotext')
			element.style.color = "#999999";
		}
	},

        reset: function(element){
          this.Reset(element);
        },
	
	remove: function(){
		this.autoInputs.each( function(element) {
			if ( element.get('autotext') == element.get('value') ){
				element.value = "";
			}
		});
		this.autoTextareas.each( function(element) {
			if ( element.get('autotext') == element.get('value') ){
				element.value = "";
			}
		});
	}

});
