var superchat	= function() {
  
  var i=0;
  
  var breakFrom = 6000;
  var breakTo = 10000;

  var msgs="";
  var fromBegin=true;

  var rand = function (l,k)
  {
    var rand_no = Math.random();
    rand_no = l+rand_no * (k-l);
    return Math.round(rand_no);
  };

/*
  var replaceNames = function (s)
  {
    for (var j=30; j>0; j--)
    {
      s=s.replace("W"+j, girls[rand(0, girls.length-1)]);
      s=s.replace("M"+j, boys[rand(0, boys.length-1)]);
    }
  
    return s;
  };
*/
  var replaceNames = function(s)
  {
    for (var j=girls.length-1; j>0; j--)
    {
      s=s.replace("W"+j,"<font style=\"color:"+girls_colors[j]+";\">"+ girls[j]+"</font>");
      s=s.replace("M"+j,"<font style=\"color:"+boys_colors[j]+";\">"+ boys[j]+"</font>");
    }

    return s;
  }

  var trim = function(str)
  {
    return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
  }

  var takeYear = function(theDate) 
  {
    x = theDate.getYear();
    var y = x % 100;
    y += (y < 38) ? 2000 : 1900;
    return y;
  }

  var makeDouble = function(d)
  {
    if(d<10) return "0"+d;
    else return d;
  }

  var fakeDate=0;
  var lastMinutes=0.0;

  var getCurrentDate = function () 
  {
    var theDate = new Date();		// create Date object with the current date;
    var temp = theDate.toGMTString();	// convert date to a GMT string;
    temp=temp.replace("UTC", "");
    var d = new Date(temp);	// convert string to a Date object

    if(fakeDate==1) 
    {  
      if(d.getMinutes()>5) 
      {
        var m=d.getMinutes();
        //if(lastMinutes==0) lastMinutes=rand(0, m-5);
        if(lastMinutes==0) lastMinutes=m-5;//rand(m-10, m-5);

        d.setMinutes(Math.ceil(lastMinutes));

        lastMinutes=lastMinutes+0.1;

        if(Math.ceil(lastMinutes)>m)lastMinutes=m;
      }
      else
      if(d.getHours()>1) 
      {
        d.setHours(d.getHours()-1); 
        if(lastMinutes==0) lastMinutes=55;//rand(30, 47);

        d.setMinutes(Math.ceil(lastMinutes));
        lastMinutes+=0.1;
        if(Math.ceil(lastMinutes)>59)lastMinutes=59;
      }
    }


    return ""+makeDouble(d.getDate())+"/"+makeDouble(d.getMonth()+1)+"/"+takeYear(d)+
           " "+makeDouble(d.getHours())+":"+makeDouble(d.getMinutes());
  }

  var getMsg1 = function () 
  { 
    if(i==messagesArray.length) { i=0; }

    var ss = msgs.split("<br/>");
    var s = "";
    
    /*
    if(ss.length>19)
    {
      for (var j=ss.length-1; j>=ss.length-19; j--)
      {
         if(trim(ss[j])!="") { s = ss[j]+"<br/>\n"+s; }
      }
      msgs=s;
    }
    */

    msgs += /*getCurrentDate()+*/" <p>"+messagesArray[i]+"</p>\n";
    msgs = replaceNames(msgs);
    document.getElementById("chat").innerHTML=msgs;
    el = document.getElementById("chat");
    el.scrollTop = el.scrollTop + 200;
    i++;
    setCookie('chat_msg_num',i);
  };

  var getMsg = function () 
  { 
    getMsg1();
    window.setTimeout(getMsg, rand(breakFrom, breakTo)); 
  };

  var initChat = function ()
  {
    if (!fromBegin)
    {  
      //var ii = rand(4, 10);
      //var ii = parseInt(getCookie('chat_msg_num'));
      
      var cook_ii = getCookie('chat_msg_num');
      if (cook_ii != false) { cook_ii = parseInt(cook_ii); } else { cook_ii = rand(4, 10); }
      var ii = cook_ii;
      
      var jj=0;
//      fakeDate=1;
      document.getElementById("chat").style.display="none";
      while(ii>jj) { if(ii-jj<20) { fakeDate=1; } getMsg1(); jj++; }
      document.getElementById("chat").style.display="";
      fakeDate=0;
      el = document.getElementById("chat");
      el.scrollTop = el.scrollTop + 100000;
    }
    else
    { i=rand(0, messagesArray.length-1); }


    window.setTimeout(getMsg, rand(breakFrom, breakTo)); 
  }


  var addMsg = function () 
  { 
    var ss = msgs.split("<br/>");
    var s = "";
    if(ss.length>19)
    {
      for (var j=ss.length-1; j>=ss.length-19; j--)
      {
         if(trim(ss[j])!="") { s = ss[j]+"<br/>\n"+s; }
      }
      msgs=s;
    }

    msgs += 
    getCurrentDate()+" "+
    document.getElementById("name").value + " - "+ document.getElementById("msg").value+"<br/>\n";
    msgs = replaceNames(msgs);
    document.getElementById("chat").innerHTML=msgs;
  }

	var addLoadEvent = function(func) {
		var oldonload = window.onload;
		if (typeof window.onload != 'function') {
			window.onload = func;
		} else {
			window.onload = function() {
				if (oldonload) {
					oldonload();
				}
				func();
			};
		}
	};

  
	return {
	  param:function(fBeg) { 
	    fromBegin = fBeg;
	  },
		init: function() { 
			addLoadEvent(initChat);
		}
	};


} ();

//superchat.param(true);
superchat.param(false);
superchat.init();


