YAHOO.namespace('BEBO');

YAHOO.BEBO.flashBox = (function() {
    var uniqueInstance;
    function constructor() { 
    	
    	 var disableForm = function(evt,args) {
    	 	if(args[0].update === undefined){
    	 		return;
    	 	}
        	YAHOO.BEBO.textCounter.reset();
        	var A = YAHOO.util.Dom.get('flashboxform');
        	var B = YAHOO.util.Dom.get('flashboxcomments');
        	var trs =  _proxy_jslib_handle(B, 'getElementsByTagName', '', 1, 0)('TR');
        	var last = trs[2];
       
                var anim = new (YAHOO.util.Anim)(A, {
                    height: {
                        to: 0
 }, opacity: {to:0}
                },
                1, YAHOO.util.Easing.easeOut);
                
                anim.onComplete.subscribe(function() {
                    YAHOO.util.Dom.setStyle(A, 'visibility', 'hidden');
                     
                });
                
                var attributes = {
        				backgroundColor: { to: '#FFFFFF' }
    				 };
    			var color = new (YAHOO.util.ColorAnim)(last, { backgroundColor: { from: '#FF0000', to: '#FFFFFF' } }, 3, YAHOO.util.Easing.easeOut); 
    			color.animate();
                anim.animate();
            
           
         };
        
        var init = function() {
            var MAXCHAR = 1000;
            var flashboxform = {};
            flashboxform.link = YAHOO.util.Dom.get('flashboxform');
            flashboxform.consumer = new (YAHOO.BEBO.ajaxNess)(flashboxform.link, {
                trigger: ['progresslabel', 'Saving'],
                update: ['replace', 'flashboxcomments'],
                message: ['message', 'status'],
                done: disableForm
 });
            textarea = YAHOO.util.Dom.get("flashboxformtextarea");
            YAHOO.BEBO.textCounter.getInstance(textarea, textarea.form.counter, MAXCHAR)

 };
      
        YAHOO.util.Event.onAvailable('flashboxform', init);
    }
    return {
        getInstance: function() {
            if (!uniqueInstance) {
                //Instantiate only if the instance doesn't exist
                uniqueInstance = constructor();
            }
            return uniqueInstance;
        }
    }
})();

YAHOO.BEBO.flashBox.getInstance(); ;
_proxy_jslib_flush_write_buffers() ;