function randomNumber (m, n) {
	m = parseInt(m);
	n = parseInt(n);
	return Math.floor( Math.random() * (n - m + 1) ) + m;
}

function in_array(what, where) {
	for(var i=0; i<where.length; i++)
		if(what == where[i])
			return true;
	return false;
}

function strip_tags(str){
	return str.replace(/<\/?[^>]+>/gi, '');
}

function scroll(){
	var chat = document.getElementById('chat');
	var scr = (chat.scrollHeight > chat.offsetHeight) ? chat.scrollHeight : chat.offsetHeight;
	$("#chat").scrollTop(scr);
}

function createMessage(name, message){
	var messToChat = "<div class='wrapMessage'>"
	messToChat += "<p class='authorMsgChat'>"+name+":</p>";
	messToChat += "<p class='messageChat'>"+message+"</p>";
	messToChat += "</div>";

	return messToChat;
}

//генерация количества пользователей
var num = 2000;
var randNum = randomNumber(50,99) + randomNumber(2000,2300);
$(document).ready(function(){
	$('#user_in_chat').text(randNum);
});

setInterval(function(){
	if(num%3){
		num += randomNumber(50,99);
	} else {
		if(num <= 2000){
			num += randomNumber(50,99);
		} else {
			num -= randomNumber(50,99);
		}
	}
	if(num > 5000) {num = randomNumber(3000,5000) + randomNumber(40,99)}
	$('#user_in_chat').text(num);
}, 2000);


var str = "000", nm, chat_update;
nm = randomNumber(3, 5);
chat_update = nm + str;

$(document).ready(function () {

	//вызов функции отправки по enter
	$("#ch_name, #ch_message").keypress(function(e){
		if(e.which == 13 || e.keyCode == 13){
			$("#ch_subm").click();
		}
	});


	//вставка данных в базу и вывод в чат
	$("#ch_subm").click(function(){
		var name = $("#ch_name").val();
		var message = $("#ch_message").val();
		//удаляем html тэги и пробелы
		name = strip_tags($.trim(name));;
		message = strip_tags($.trim(message));

		//очищаем поля
		$("#ch_message").val('');

		//если имя и сообщение не пустые, отправляем запрос на добавление данных
		if(name && message){
			$.ajax({
					url:  "system/usermessage.php", // указываем обработчик на стороне сервера
					type: "POST", // указываем метод передачи данных
					data: {name: name, message: message}, // передаем переменные
					success: function () {

						$("#chat").append(createMessage(name, message));

						//промотка скролла в низ
						scroll();

					}
			});
		}
	});



	var arr = new Array();
	var arrInd = new Array();
	$.getJSON("system/showmessage.php?"+Math.random()*100, function(data){

		$.each(data, function(entryIndex, entry) {
			arr[entryIndex] = createMessage(entry['name'], entry['message']);
		});

		var len = arr.length;
		var maxInd = len - 1;
		var firstInd = randomNumber(0, maxInd);

		$("#chat").append(arr[firstInd]);
		arrInd.push(firstInd);

		setInterval(function(){
			var ind = randomNumber(0, maxInd);
			if(!in_array(ind, arrInd)){
				$("#chat").append(arr[ind]);

				//промотка скролла в низ
				scroll();
				arrInd.push(ind);
			}
			if(arrInd.length == len){
				arrInd = new Array();
			}

		}, chat_update);
	});
});

