1.  
  2. function getXmlHttpRequestObject() {
  3. if (window.XMLHttpRequest) {
  4. return new window.XMLHttpRequest;
  5. }
  6. else {
  7. try {
  8. return new ActiveXObject("MSXML2.XMLHTTP.3.0");
  9. }
  10. catch(ex) {
  11. return null;
  12. }
  13. }
  14.  
  15.  
  16. }
  17.  
  18. var receiveReq = getXmlHttpRequestObject();
  19.  
  20. var lastMessage = 0;
  21. var mTimer;
  22. window.onload = startMessage();
  23.  
  24. //Function for initializating the page.
  25. function startMessage() {
  26. getMessage1();
  27. }
  28.  
  29. function getMessage() {
  30. if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
  31. receiveReq.open("GET", '/getmsgmain.php?last=' + lastMessage, true);
  32. receiveReq.onreadystatechange = handleReceiveChat;
  33. receiveReq.send(null);
  34.  
  35. }
  36. }
  37.  
  38. function getMessage1() {
  39. if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
  40. receiveReq.open("GET", '/getmsgmain.php?last=' + lastMessage, true);
  41. receiveReq.onreadystatechange = handleReceiveChat1;
  42. receiveReq.send(null);
  43.  
  44. }
  45. }
  46.  
  47. function handleReceiveChat() {
  48. if (receiveReq.readyState == 4) {
  49. var xmldoc = receiveReq.responseXML;
  50. var message_nodes = xmldoc.getElementsByTagName('message');
  51. var n_messages = message_nodes.length
  52. for (i = 0; i < n_messages; i++) {
  53. var lastMessage1 = (message_nodes[i].getAttribute('id'));
  54.  
  55. }
  56. if(lastMessage1>lastMessage)
  57. {
  58. titlebarTextAlert();
  59.  
  60.  
  61.  
  62. lastMessage=lastMessage1;
  63. }
  64. mTimer = setTimeout('getMessage();',10000); //Refresh our chat in 2 seconds
  65. }
  66. }
  67.  
  68. function handleReceiveChat1() {
  69. if (receiveReq.readyState == 4) {
  70. var xmldoc = receiveReq.responseXML;
  71. var message_nodes = xmldoc.getElementsByTagName('message');
  72. var n_messages = message_nodes.length
  73. for (i = 0; i < n_messages; i++) {
  74. var lastMessage1 = (message_nodes[i].getAttribute('id'));
  75. lastMessage=lastMessage1;
  76. }
  77. mTimer = setTimeout('getMessage();',10000); //Refresh our chat in 2 seconds
  78. }
  79. }
  80.  
  81.  
  82.  
  83.  
  84. var titleSwitchCount = 0;
  85. var titleSwitchLimit = 10;
  86. var titleOriginalText = document.title;
  87. var titleText = "Masz nową wiadomość!";
  88. var titleDelay = 500;
  89.  
  90. function titlebarTextAlert() {
  91. // Failsafe
  92. if( titleSwitchCount) return;
  93.  
  94. titlebarSwitch();
  95. }
  96.  
  97. function titlebarSwitch() {
  98.  
  99. if( document.title == titleOriginalText) {
  100. // New message text
  101. document.title = titleText;
  102. titleSwitchCount++;
  103.  
  104. } else {
  105. // Original text
  106. document.title = titleOriginalText;
  107. if( titleSwitchCount == titleSwitchLimit) titleSwitchCount = 0;
  108. }
  109.  
  110. // If count is 0 then we must have just reset it
  111. if( titleSwitchCount) setTimeout( "titlebarSwitch();", titleDelay);
  112. }
  113.  
  114.  



na FF ładnie pokazuje "Masz nową wiadomość" natomiast IE zamienia tytuł na UNDEFINED i nawet nie powraca do starego tytułu... Nie mam pojęcia dlaczego tak się dzieje czy w IE document.title nie jest elementem DOM?