
Event.observe(document, 'keydown', function(event) {
   if(event.keyCode == 116) {
	  if(sEnb){clearTimeout(sEnb);}
   }
});	
	
var sEnb
var dbegin;
var msbegin;
var dend;
var msend;
var tPro;
var s1 = 0;
var s2 = 0;
var s3 = 0;
var RequestTime = 2;
var HSTime = false;

function sError () {
      $('sshow').innerHTML = '<strong>Error connecting to server</strong><br><span onclick="sOnload();" style="cursor: pointer;">Reconnect !<span>';
}
   
function sOnload () {
      new Ajax.Request('shout_ajaxs.asp', {
         method: 'post',
         postBody: 'mode=getall',
         contentType: 'application/x-www-form-urlencoded',
         encoding: 'UTF-8',
         onCreate: function(t) {
            if(sEnb){clearTimeout(sEnb);}
         },
         onSuccess: function(Mes) {
            if(Mes.responseText != ""){ 
               $('sshow').innerHTML = Mes.responseText;
               sGet();
               setTimeout(scroll, 1000);
            }
         },
         on404: function(e) {sError();},
         onFailure: function(e) {sError();}
      });
}

function scroll () {
      var c1 = $('sshow').scrollHeight - $('sshow').offsetHeight;
      var c2 = c1 - $('sshow').scrollTop;
      c2 = c2 / 50;
      if (c2 < 1){c2 = 1}
      if (navigator.appName.indexOf('Microsoft')>=0){c2=c2*20}
         for(var i=0;$('sshow').scrollTop <= c1;i++){
            $('sshow').scrollTop = $('sshow').scrollTop + c2; 
         }

}


function sView(){

var nTime = new $A($('sshow').getElementsByClassName('datetime'));
   if($('sTime').checked == true){
      HSTime = true;
      nTime.each(function(obj) {
         obj.style.display = "";
      });
   }
   else{
      HSTime = false;   
      nTime.each(function(obj) {
         obj.style.display = "none";
      });   
   }  


   if ($('sReq').checked == true){
      $('Req').style.display = "";
   }
   else{
      $('Req').style.display = "none";
   }

}
   
function sGet () {
        if(window.pageYOffset > ($('SB').offsetTop + $('SB').offsetHeight)){
           RequestTime = 5;
        }
        else{
           RequestTime = 2;
        }

      new Ajax.Request('shout_ajaxs.asp', {
         method: 'post',
         postBody: 'mode=get',
         contentType: 'application/x-www-form-urlencoded',
         encoding: 'UTF-8',
         onCreate: function(t) {
            dbegin = new Date();
            msbegin = dbegin.getTime();
            clearTimeout(sEnb);
         },
         onSuccess: function(Mes) {
            sEnb = setTimeout(sGet, RequestTime * 1000);
            dend = new Date();
            msend = dend.getTime();
            tPro = dend - msbegin
            s1++;
            s2 = s2 + tPro;
            s2 = s2 / 2;
            var s3 = 0;
            if(s2 < 51){
               $('speed').style.width = 65 +'px';
            }
            if(s2 > 999){
               $('speed').style.width = 10 +'px';
            }
            if(50 < s2 && s2 < 1000){
               s3 = (s2 / 50) * 3;
               s3 = 65 - Number(s3.toFixed(0));
               $('speed').style.width = s3 +'px';
            }
            $('tReq').innerHTML = s2.toFixed(2);
            if(Mes.responseText != ""){
            var Messages = new $A();
            var System = 0;
            eval(Mes.responseText);
            if(System == 1){sOnload();return false;}
               Messages.each(function(arr) {
                  var Messages0 = new $A([arr]);
                  Messages0.each(function(Messages1) {
                     if (Messages1[0] == 0){
                        $('sshow').innerHTML = '<ul id="Content"><li id="S_' + Messages1[0] + '"><div class="tl"><div class="tr"><div class="tc"/></div></div></div><div class="mc"><span class="SUser">' + Messages1[1] + '</span><span class="datetime" style="display:' + ((HSTime == true)?'':'none') + ';"> ( ' + Messages1[3] + ' ) </span><span>: ' + Messages1[2] + '</span></div><div class="bl"><div class="br"><div class="bc"/></div></div></div></li><li id="showhere" style="display:none;"></li></ul>';
                     }         
                     else{
                         new Insertion.Before($('showhere'), '<li id="S_' + Messages1[0] + '"><div class="tl"><div class="tr"><div class="tc"/></div></div></div><div class="mc"><span class="SUser">' + Messages1[1] + '</span><span class="datetime" style="display:' + ((HSTime == true)?'':'none') + ';"> ( ' + Messages1[3] + ' ) </span><span>: ' + Messages1[2] + '</span></div><div class="bl"><div class="br"><div class="bc"/></div></div></div></li>');
                     }                  
                  });
               });
               setTimeout(scroll, 100);
            }
        },
        on404: function(e) {sError();},
        onFailure: function(e) {sError();}
      });
}
 

var Asmileys = new $A([[54,'8-&gt;','Day dreaming'], [53,':-t','Time out'], [52,':-h','Waving'], [51,'~x(','At wits end'], [50,':-c','Call me'], [49,':)]','On the phone'], [48,'&lt;):)','Cowboy'], [47,'&gt;:P','Phbbbt'], [46,':-&lt;','Sigh'], [45,':-w','Waiting'], [44,':^O','Liar'], [43,'@-)','Hypnotized'], [42,':-SS','Naibiting'], [41,'=D&gt;','Applause'], [40,'#-o','D\'oh'], [39,':-?','Thinking'], [38,'=P~','Drooling'], [37,'(:|','Yawn'], [36,'&lt;:-P','Party'], [35,'8-}','Silly'], [34,':o)','Clown'], [33,'[-(','Not talking'], [32,':-$','Don\'t tell anyone'], [31,':-&amp;','Sick'], [30,'L-)','Loser'], [29,'8-|','Rolling eyes'], [28,'I-)','Sleepy'], [27,'=;','Talk to the hand'], [26,':-B','Nerd'], [25,'O:-)','Angel'], [24,'=))','Rolling on the floor laughing'], [23,'/:)','Raised eyebrow'], [22,':|','Straight face'], [21,':))','Laughing'], [20,':((','Crying'], [19,'&gt;:)','Devil'], [18,'#:-S','Whew'], [17,':-S','Worried'], [16,'B-)','Cool'], [15,':-&gt;','Smug'], [14,'X-(','Angry'], [13,':-O','Surprised'], [12,'=((','Broken heart'], [11,':-*','Kiss'], [10,':-P','Tongue'], [9,':"&gt;','Blushing'], [8,':x','Love struck'], [7,':-/','Confused'], [6,'&gt;:D&lt;','Hug'], [5,';;)','Batting eyelashes'], [4,':D','Big grin'], [3,';)','Winking'], [2,':(','Sad'], [1,':)','Smiling']
]);          


  
function sAdd () {
   var mes=nRTE.getContent();
if(mes.length > 500){alert('max 500 characters!');return false;}
   mes=mes.replace(/&nbsp;/g, "");
   mes=mes.replace(/<br>/g, "");
   mes=mes.replace(/<br\/>/g, "");
   mes=mes.replace(/ /g, "");
   if(mes != ''){   
      var nMes = nRTE.getContent();
      Asmileys.each(function(smiley) {
         var strReplaceAll = nMes;
         var intIndexOfMatch = strReplaceAll.indexOf(smiley[1]);
            while (intIndexOfMatch != -1){
               strReplaceAll = strReplaceAll.replace(smiley[1],'<img src="HTRTE/Smileys/' + smiley[0] + '.gif" title="' + smiley[2] + '"/>');
               intIndexOfMatch = strReplaceAll.indexOf(smiley[1]);
            }
            nMes = strReplaceAll;
      });
      

      nRTE.clearContent();
      new Ajax.Request('shout_ajaxs.asp', {
         method: 'post',
         postBody: 'mode=add&scontent=' + encodeURIComponent(nMes),
         contentType: 'application/x-www-form-urlencoded',
         encoding: 'UTF-8',
         onCreate: function(t) {
            clearTimeout(sEnb);
         },
         onSuccess: function(Mes) {
         sEnb = setTimeout(sGet, 1000);
            if(Mes.responseText != ""){            
            var Messages = new $A();
            eval(Mes.responseText);
               Messages.each(function(arr) {
                  var Messages0 = new $A([arr]);
                  Messages0.each(function(Messages1) {
                     if (Messages1[0] == 0){
                        $('sshow').innerHTML = '<ul id="Content"><li id="S_' + Messages1[0] + '"><div class="tl"><div class="tr"><div class="tc"/></div></div></div><div class="mc"><span class="SUser">' + Messages1[1] + '</span><span class="datetime" style="display:' + ((HSTime == true)?'':'none') + ';"> ( ' + Messages1[3] + ' ) </span><span>: ' + Messages1[2] + '</span></div><div class="bl"><div class="br"><div class="bc"/></div></div></div></li><li id="showhere" style="display:none;"></li></ul>';
                     }         
                     else{
                         new Insertion.Before($('showhere'), '<li id="S_' + Messages1[0] + '"><div class="tl"><div class="tr"><div class="tc"/></div></div></div><div class="mc"><span class="SUser">' + Messages1[1] + '</span><span class="datetime" style="display:' + ((HSTime == true)?'':'none') + ';"> ( ' + Messages1[3] + ' ) </span><span>: ' + Messages1[2] + '</span></div><div class="bl"><div class="br"><div class="bc"/></div></div></div></li>');
                     }                  
                  });
               });
               setTimeout(scroll, 100);               
            }
         },
         on404: function(e) {sError();},
         onFailure: function(e) {sError();}
      });
   }
   return false;
}