
var HumanMessage={initialize:function(){HumanMessage.msgID='human_message';HumanMessage.msgOpacity=1;$('body').append('<div id="'+HumanMessage.msgID+'" class="human_message"></div>');HumanMessage.msgObj=$('#'+HumanMessage.msgID);},error:function(message){HumanMessage.display(message,'human_message_error');},success:function(message){HumanMessage.display(message,'human_message_success');},display:function(msg,className){if(!HumanMessage.msgObj){HumanMessage.initialize();}
HumanMessage.remove(null,true);HumanMessage.msgObj.attr('class','');HumanMessage.msgObj.addClass('human_message');HumanMessage.msgObj.addClass(className);HumanMessage.msgObj.stop(true,true);clearTimeout(HumanMessage.t1);HumanMessage.mouseCoord=null;HumanMessage.msgObj.html(msg);clearTimeout(HumanMessage.iid);HumanMessage.iid=setTimeout(function(){var visibleMsgObj=$('#'+HumanMessage.msgID+':visible');if(visibleMsgObj.length){HumanMessage.onMessageDisappeared();}},5000);HumanMessage.msgObj.show().animate({'opacity':1},200,HumanMessage.onMessageVisible);},onMessageVisible:function(){HumanMessage.t1=setTimeout(HumanMessage.remove,4000);HumanMessage.bindEvents();},bindEvents:function(){$(window).mousemove(HumanMessage.onMousemove).click(HumanMessage.remove).keypress(HumanMessage.remove);},onMousemove:function(event){if(HumanMessage.mouseCoord===null){HumanMessage.mouseCoord={'x':event.clientX,'y':event.clientY};}
var dx=event.clientX-HumanMessage.mouseCoord.x,dy=event.clientY-HumanMessage.mouseCoord.y;if(dx*dx+dy*dy>30*30){HumanMessage.remove();}},stop:function(){HumanMessage.msgObj.stop(true,true);clearTimeout(HumanMessage.t1);$(window).unbind('mousemove',HumanMessage.onMousemove).unbind('click',HumanMessage.remove).unbind('keypress',HumanMessage.remove);},remove:function(evt,immediately){immediately=immediately||false;HumanMessage.stop();if(immediately){HumanMessage.onMessageDisappeared();}else{HumanMessage.msgObj.animate({'opacity':0},500,HumanMessage.onMessageDisappeared);}},onMessageDisappeared:function(){HumanMessage.msgObj.hide();}};