﻿var Watermark = new Class({	
    options: 
	{	
	},  
    initialize:function(options)
    {
        this.setOptions(options);
        this.options.selectors.each(
            function(selector)
            {
                this.refresh(selector); 
            },this
        );
                               
		if (this.options.initialize) 
		{
		    this.options.initialize.call(this);
		}                
    },
    setEvents:function(el)
    {
        var target = $(el.id.replace('_watermark',''));
        if(target.value.replace(' ','') == '')
        {
            target.setStyle('display','none');                
            el.setStyle('display','block');
        }
        
        target.addEvent('blur',
        function(event)
        {		        
            this.hide(el,target,event);
        }.bind(this));
        
        
        el.addEvent('keypress',
        function(event)
        {		        
            this.show(el,target,event);
            this.focus.pass(target).delay(25);
        }.bind(this));
          
        el.addEvent('mousedown',
        function(event)
        {		        
            this.show(el,target,event);
            this.focus.pass(target).delay(25);
        }.bind(this));    
    },
    hide:function(el,target,event)
    {
        if(target.value.replace(' ','') == '')
        {
            target.value = '';
            el.setStyle('display','block');
            target.setStyle('display','none');
        }
    },
    show:function(el,target,event)
    {
        el.setStyles({'display':'none'});
        target.setStyles({'display':'block'});
    },
    focus:function(target)
    {
        target.focus();
    },
    refresh:function(selector)
    {        
        $$(selector).each
        (
            function(el)
            {                
                this.setEvents(el)                                                              
                
            },this
        );    
    }
    
});
Watermark.implement(new Options);

