(function($)
{
    /**
     * Emula il placeholder di HTML5
     */
    $.fn.emuPlaceholder = function()
    {
        // Controlla se il browser supporta placeholder come da HTML5
        if ('placeholder' in document.createElement('input')) return this;

        return this.each(function()
        {
            var $element = $(this);

            // Funziona solo con gli elementi che hanno placeholder attivo
            if (!$element.attr('placeholder')) return true;

            // Non funziona con gli elementi gia' passati
            if ($element.attr('emu_placeholder')=='done') return true;


            // Vai
            if($element.attr('placeholder')!='' && $element.attr('emu_placeholder')!='done')
            {
                $element.attr('emu_placeholder','done');

                var id = $element.attr('id');
                if (!id) id = Math.random()+ '-' + new Date().getTime();
                id = 'placeholder___' + id;

                var $clone = $element.clone();

                $clone.removeAttr('name');
                $clone.removeAttr('placeholder');
                $clone.removeAttr('value');
                $clone.attr('id',id);
                $clone.val($element.attr('placeholder'));
                $clone.addClass('placeholder');
                $clone.removeClass('obbligatorio');
                $clone.insertAfter($element);

                var style = false;

                try{
                    style = window.getComputedStyle(this,null);
                }catch(e){
                    try{
                        style = this.currentStyle;
                    }catch(e){}
                }
                if (style) for (prop in style)
                {
                    try{
                        $clone.get(0).style[prop]=style[prop];
                    }catch(e){}
                }


                $element.hide();

                $clone.focus(function()
                {
                    $clone.hide();
                    $element.show().focus();
                });
                $element.blur(function(e)
                {
                    if($element.val()=='')
                    {
                        $element.hide();
                        $clone.show();
                    }
                });
            }
        });
    };

})(jQuery);
