String.prototype.format = function() {    var formatted = this;    for (var i = 0; i < arguments.length; i++) {        var regexp = new RegExp('\\{'+i+'\\}', 'gi');        formatted = formatted.replace(regexp, arguments[i]);    }    return formatted;};var TextRequester = Class.create({    initialize: function(params) {        this.objectForRequest = new Hash()        this.userIdSender = params.userIdSender        this.userIdReceiver = params.userIdReceiver//so che se l'user id receiver è settato e non a null sono nel pubblic profile        this.userFacebookIdReceiver = params.userFacebookIdReceiver        this.userNameSender = params.userNameSender        this.roomId = params.room_id        this.userNameReceiver = params.userNameReceiver        this.urlForRequest = params.urlForRequest || "/commons/json_request_for_text.php"        this.boxRequester = params.boxRequester        this.containerBox = params.containerBox        this.titleRoom = params.titleRoom        this.kindActivity = params.kind_activity        this.btnActivity = null        this.userSelected = new Hash({"facebook_user": new Hash(),"system_user": new Hash()});        this.areFacebookFriend = params.areFacebookFriend        //alert()    },    launchRequest: function(){        this.objectForRequest.set("user_id_sender",this.userIdSender)        this.objectForRequest.set("user_id_receiver",this.userIdReceiver)        this.objectForRequest.set("room_id",this.roomId)        this.objectForRequest.set("kind_activity",this.kindActivity)        this.objectForRequest.set("box_request",this.boxRequester)        this.objectForRequest.set("action","getTextFor"+this.boxRequester)        this.objectForRequest.set("url",this.urlForRequest)        this.requester = new Requester({            object: this.objectForRequest,            callBackAfterRequest: this.callBack.bind(this)        })        this.requester.sendRequest()        this.requester = null;    },    callBack: function(fromServer){        var msg = ""        var string = ""        for(msg in fromServer.serverObject)            string += fromServer.serverObject[msg]        string = this.sobstituteString(string,"tagA", "<a ")        string = this.sobstituteString(string,"closeTagA", "</a>")        string = this.sobstituteString(string,"closeTag", ">")        this.containerBox.update(string)        this.bindEventualBtnActivity();    },    sobstituteString: function(string, pattern, replacement){      //String.prototype.replace = function(pattern, replacement) {          return string.split(pattern).join(replacement);      //}    },    bindEventualBtnActivity: function(){        this.btnActivity1 = $$('.'+this.roomId+'.fromServer.UI-button.btn-type-1')[0]        if(this.btnActivity1){            this.btnActivity1.onclick = this.btnActivityClicked.bindAsEventListener(this)        }        this.btnActivity2 = $$('.'+this.roomId+'.fromServer.UI-button.btn-type-1')[1]        if(this.btnActivity2){            this.btnActivity2.onclick = this.btnActivityClicked.bindAsEventListener(this)        }    },    callBackAfterActivityRequest: function(request){        if(request.serverObject){            if(!request.serverObject.msg){                $$('.'+this.roomId+'.msg1')[0].style.display = "none"                $$('.'+this.roomId+'.msg2')[0].style.display = ""}            }    },    btnActivityClicked: function(){        if(this.areFacebookFriend)            this.userSelected.get("facebook_user").set(this.userIdReceiver,this.userNameReceiver);        else            this.userSelected.get("system_user").set(this.userIdReceiver,this.userNameReceiver);        var objectForUser = new Hash({            action:                 this.btnActivity1.id+"Request",            url:                    "/house_manager/"+this.titleRoom+"_manager.php",            user_id_sender:       this.userIdSender,            kind_activities:      this.btnActivity1.id,            user_receiver_ids:    this.userSelected,            room_id:                this.roomId, //stanza mygarden = 1            externalNotify:        true //false, controlleremo sul server se l'utente ha o non ha facebook        })                this.requester = new Requester({            object: objectForUser,            callBackAfterRequest: this.callBackAfterActivityRequest.bindAsEventListener(this),            //paramsForCallBackAfterRequest: this.userSelected.get('facebook_user'),            mustBuildRequest: 1        })        this.requester.sendRequest()        this.requester = null;    }})
