function Messager(_1){
this.iRequestMode=null;
this.init=function(_2){
var i,j,_5,_6;
for(i=0;i<_2.length;i++){
var _7=$(_2[i]);
if(_7){
_5=_7.getElementsByTagName("a");
for(j=0;j<_5.length;j++){
_6=_5[j].id.match(/^message(\d*)$/);
if(_6){
_5[j].href="javascript: gPage.iMessager.newMessage("+_6[1]+");";
}
}
}
}
};
this.newMessage=function(_8,_9){
gPage.iDialog=new MessageDialog("compose message",this,this.confirmCallback,_8);
this.iRequestMode=gConst.kGetUserInfoRequest;
this.submitRequest({userId:_8},"getUserInfo.php");
};
this.confirmCallback=function(_a){
if(_a){
this.iRequestMode=gConst.kSubmit;
this.submitRequest(gPage.iDialog.getPostObject(),"sendMessage.php");
}
};
this.submitRequest=function(_b,_c){
var _d=JSON.stringify(_b);
this.iSetRequest=HTTP.newRequest();
this.iSetRequest.open("POST","data/"+_c,true);
this.iSetRequest.setRequestHeader("Content-type","text/plain");
this.iSetRequest.setRequestHeader("Content-length",_d.length);
this.iSetRequest.setRequestHeader("Connection","close");
this.iSetRequest.onreadystatechange=function(){
gPage.iMessager.handleSendMessageResponse();
};
this.iSetRequest.send(_d);
this.iSetTimer=window.setTimeout("gPage.iMessager.setRequestTimedOut();",10000);
};
this.handleSendMessageResponse=function(){
if(this.iSetRequest.readyState==4){
window.clearTimeout(this.iSetTimer);
this.iSetTimer=null;
if(this.iSetRequest.status==200){
var _e=JSON.parse(this.iSetRequest.responseText);
if(_e.ok){
if(this.iRequestMode==gConst.kGetUserInfoRequest){
gPage.iDialog.init(_e);
gPage.iDialog.display();
}else{
if(this.iRequestMode==gConst.kSubmit){
this.finishSendMessage(_e);
}
}
}else{
this.userFeedback("message failed");
}
}else{
this.userFeedback("server error");
this.iSetTimer=null;
}
}
};
this.finishSendMessage=function(_f){
this.userFeedback("message sent");
};
this.setRequestTimedOut=function(){
this.iSetTimer=null;
this.userFeedback("request timed out");
};
this.userFeedback=function(_10){
gPage.iDialog=new TimedAlert("send message",_10);
gPage.iDialog.display();
};
}

