//utf8 to 1251 converter (1 byte format, RU/EN support only + any other symbols) by drgluck
function utf8_decode (aa) {
    var bb = '', c = 0;
    for (var i = 0; i < aa.length; i++) {
        c = aa.charCodeAt(i);
        if (c > 127) {
            if (c > 1024) {
                if (c == 1025) {
                    c = 1016;
                } else if (c == 1105) {
                    c = 1032;
                }
                bb += String.fromCharCode(c - 848);
            }
        } else {
            bb += aa.charAt(i);
        }
    }
    return bb;
}
function decode_utf8(utftext) {
             var plaintext = ""; var i=0; var c=c1=c2=0;
             // while-Schleife, weil einige Zeichen uebersprungen werden
             while(i<utftext.length)
                 {
                 c = utftext.charCodeAt(i);
                 if (c<128) {
                     plaintext += String.fromCharCode(c);
                     i++;}
                 else if((c>191) && (c<224)) {
                     c2 = utftext.charCodeAt(i+1);
                     plaintext += String.fromCharCode(((c&31)<<6) | (c2&63));
                    i+=2;}
                 else {
                    c2 = utftext.charCodeAt(i+1); c3 = utftext.charCodeAt(i+2);
                     plaintext += String.fromCharCode(((c&15)<<12) | ((c2&63)<<6) | (c3&63));
                     i+=3;}
                 }
             return plaintext;
         }


var text;
var delay;
var count;
var city;

var time=1;

var min_delay = 1;

var timer_id = -1;
var timer_id2 = -1;

var btn1 = '<input type=submit value=Запустить onclick="starter();" name=sub style="font-size:9px; font-weight: normal;">';
var btn2 = '<input type=submit value=Остановить onclick="stopper();" name=sub style="font-size:9px; font-weight: normal;">';
clock1='<b>До следующего сообщения осталось: </b><i>0 секунд</i>';
mess1='<b>Всего сообщений послано: </b><i>0</i>';


function act()
{

	query = 'city.oldbk.com/ch.php?ChatColor=Black&lid=' + Math.floor(Math.random() * 10000) + '&text=' + text;
	alert('http://'+city+query);
	document.toload.src='http://'+city+query;

if(--count){
time=1;
timer_id = setTimeout('act()', delay * 1000);
document.flood.sub.value = 'Остановить (' + count + ')';
k_mess();
    }else{
document.all.btn.innerHTML = btn1;
document.all.clock.innerHTML = clock1;
document.all.mess.innerHTML = mess1;
stopper();
    }
}

function starter()
{
	if((text = utf8_decode(document.flood.text.value)) == ''){
		alert('Введите текст сообщения!');
		document.flood.text.focus();
		return;
	}

	if((delay = document.flood.int.value) < min_delay){
		alert('Слишком большая частота! Рекомендуется не чаще 1 раза в 180 секунд');
		document.flood.int.focus();
		return;
	}

	count = document.flood.times.value;
	city = document.flood.city.value;
	message =  document.flood.times.value;

	document.all.btn.innerHTML = btn2;

	act();
                  print_time();
}

function stopper()
{
	count = 0;
	clearTimeout(timer_id);
                  clearTimeout(timer_id2);

	document.all.btn.innerHTML = btn1;
                  document.all.clock.innerHTML = clock1;
                  document.all.mess.innerHTML = mess1;
}

function print_time()
{
var r_time;
timer_id2 = setTimeout('print_time()', 1000);
time=time+1;
r_time=delay-time+1;
document.all.clock.innerHTML ='<b>До следующего сообщения осталось: </b><i>'+r_time+' секунд</i>' ;
}

function k_mess()
{
m=message-count;
document.all.mess.innerHTML = '<b>Всего сообщений послано: </b><i>'+m+'</i>';
}

