function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

var shrStatus = 0;
var request = null;

function callbackw() {
  document.getElementById('callback').style.display='';
  document.getElementById('status').innerHTML = '';
  document.getElementById('loading').style.display = 'none';
  document.getElementById('result').style.display='none';
 }
 
 function show_map(id, name, description, address) {
  var map = new YMaps.Map(document.getElementById('YMapsID'+id));
  // Добавление элементов управления
  map.addControl(new YMaps.TypeControl());
  // Добавление зума
  var zoom = new YMaps.Zoom();
	map.addControl(zoom);
	///End Zoom

var geocoder = new YMaps.Geocoder(address);

YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
    if (this.length()) {
	geoResult = this.get(0);
			map.addOverlay(geoResult);
			map.setBounds(geoResult.getBounds());
			geoResult.openBalloon('<b>'+name+'</b><br>'+description, {maxWidth: 300});			
						var traffic = new YMaps.Traffic.Control();
map.addControl(traffic);
traffic.show();

    } else {
        alert("Ничего не найдено"); 
    }
})
YMaps.Events.observe(geocoder, geocoder.Events.Fault, function (geocoder, errorMessage) {
    alert("Произошла ошибка: " + errorMessage)
});

  if (document.getElementById('YMapsID'+id).style.display=='none')
 	 {
		 document.getElementById('YMapsID'+id).style.display='';
		 document.getElementById('hide_map_link'+id).style.display='';
		 document.getElementById('show_map_link'+id).style.display='none';
	 }
 }
 
 function hide_map(id) {
	document.getElementById('YMapsID'+id).style.display='none';
	document.getElementById('hide_map_link'+id).style.display='none';
	document.getElementById('show_map_link'+id).style.display='';
 } 
 
 function show_rayons() {
 if (shrStatus == 1) {
  document.getElementById('rayons').style.display='none';
  shrStatus = 0;
 } else {
  document.getElementById('rayons').style.display='';
  shrStatus = 1;
 }
}

function hidefeedbackform()
{
  document.getElementById('callback').style.display='none';
}
 
function createRequest(){
	try{
		request = new XMLHttpRequest();
	}
	catch (trymicrosoft){
		try{
			request = new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (othermicrosoft){
			try{
				request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (failed){
				request = null;
			}
		}
	}
	if (request == null)
		alert('Ошибка');
}
 
function getData(){
	if (document.getElementById('subm_name').value != '' &&
		document.getElementById('subm_email').value != '' &&
		document.getElementById('mes_text').value != ''
	){
			if (document.getElementById('subm_email').value.search('@') <= 0)
			{
				document.getElementById('status').innerHTML = "<font color='#FF0000'>Адрес электронной почты введён неверно!</font>";	
			}
			else {
			createRequest();
			var url = 'http://09irk.ru/ru/company/feedback';
			var form_data = '?subm_name=' + encodeURIComponent(document.getElementById('subm_name').value) +
							'&subm_email=' + document.getElementById('subm_email').value +
							'&mes_subject=' + encodeURIComponent(document.getElementById('mes_subject').value) +							
							'&manufacturer_id=' + document.getElementById('manufacturer_id').value +
							'&mes_text=' + encodeURIComponent(document.getElementById('mes_text').value);
			request.open("GET",url + form_data,true);			
			request.setRequestHeader('Content-Type', 'text/html; charset=utf-8');
			request.onreadystatechange = updatePage;
 
			request.send(null);
			}
	}
	else{
		document.getElementById('status').innerHTML = "<font color='#FF0000'>Не заполнены обязательные поля формы!</font>";	
	}
}

var status_change = true;

function updatePage(){
	if (request.readyState == 4){			
		document.getElementById('subm_name').value = '';
		document.getElementById('subm_email').value = '';
		document.getElementById('mes_subject').value = '';
		document.getElementById('mes_text').value = '';
		document.getElementById('callback').style.display='none';
		document.getElementById('loading').style.display = 'none';
		document.getElementById('result').style.display='';
		document.getElementById('result').innerHTML =request.responseText;
	
		status_change = true;
	}
	else if(status_change==true){
		document.getElementById('status').innerHTML = "Идет отправка сообщения";
		document.getElementById('loading').style.display = "inline";
		status_change = false; 
	}
}

function createReq()
	{
	    if (window.XMLHttpRequest)
	    {// code for IE7+, Firefox, Chrome, Opera, Safari
        request = new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
       request = new ActiveXObject("Microsoft.XMLHTTP");
   }
   return request;
}

function loadClients(user_id){	
		createReq(); // создаём объект		
		var data = 'action=load_clients&user_id=' + user_id;
		var url = 'http://09irk.ru/ru/chat_script';
	    request.onreadystatechange = showClients; // когда меняется состояние загрузки данных, вызываем функцию для отображения клиентов
	    request.open('POST',url,true); // определяем пост запрос, в переменной url должна храниться ссылка на PHP файл
	    request.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); //задаём хедер
	    request.send(data); // отправляем запрос, передавая параметры
}

var last_message_id = 0; // номер последнего сообщения, что получил пользователь
//var load_in_process = false; // можем ли мы выполнять сейчас загрузку сообщений. Сначала стоит false, что значит - да, можем


function loadMessages(room_id, message_author){	
/*if(!load_in_process)
    {*/
		//load_in_process = true; // загрузка началась
		createReq(); // создаём объект			
		var data = 'action=load_messages&room_id=' + room_id + '&message_author=' + message_author + '&last_message_id=' + last_message_id;
		var url = 'http://09irk.ru/ru/chat_script';
	    request.onreadystatechange = showMessages; // когда меняется состояние загрузки данных, вызываем функцию для получения ответа
	    request.open('POST',url,true); // определяем пост запрос, в переменной url должна храниться ссылка на PHP файл
	    request.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); //задаём хедер
		request.send(data); // отправляем запрос, передавая параметры
	//}	
}

function sendOfflineMessage(){	
	//sInString = sInString.replace(/ /g,’ ‘);
	if (trim(document.getElementById('client_name').value) != '' &&
		trim(document.getElementById('client_email').value) != '' &&
		trim(document.getElementById('messageText').value) != ''
	){
			if (document.getElementById('client_email').value.search('@') <= 0)
			{
				document.getElementById('statusMessage').innerHTML = "<font color='#FF0000'>Адрес электронной почты введён неверно!</font>";	
			}
			else {
			createReq();
			var message_date = new Date()				
			var year = message_date.getFullYear()
			var month = message_date.getMonth()
			var day = message_date.getDate()
			var hours = message_date.getHours()
			var minutes = message_date.getMinutes()
			var seconds = message_date.getSeconds()
			if (month < 10) month = '0' + (month + 1);
			if (day < 10) day = '0' + day;
			if (hours < 10) hours = '0' + hours;
			if (minutes < 10) minutes = '0' + minutes;
			if (seconds < 10) seconds = '0' + seconds;		
			message_date = day + '.' + month + '.' + year + ' ' + hours + ':' + minutes + ':' + seconds;
			
			var url = 'http://09irk.ru/ru/chat_script';
			var form_data = 'action=send_message_offline' +		
		'&client_name=' + encodeURIComponent(document.getElementById('client_name').value) +
		'&client_email=' + encodeURIComponent(document.getElementById('client_email').value) +		
		'&messageText=' + encodeURIComponent(document.getElementById('messageText').value) + 
		'&message_date=' + message_date; // сохраняем значение поля ввода в переменную, при єтом кодируя специальные символы
		request.onreadystatechange = checkMessage; // когда меняется состояние загрузки данных, вызываем функцию для отображения клиентов
	    request.open('POST',url,true); // определяем пост запрос, в переменной url должна храниться ссылка на PHP файл
	    request.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); //задаём хедер
	    request.send(form_data); // отправляем запрос, передавая параметры
			}
	}
	else{		
		document.getElementById('statusMessage').innerHTML = "<font color='#FF0000'>Не заполнены обязательные поля формы!</font>";	
	}
}

function sendMessage(){	
if (document.getElementById('messageText').value > '') {
		createReq(); // создаём объект
		
		var url = 'http://09irk.ru/ru/chat_script';		
		var message_date = new Date()
		var year = message_date.getFullYear()
		var month = message_date.getMonth()		
		var day = message_date.getDate()
		var hours = message_date.getHours()
		var minutes = message_date.getMinutes()
		var seconds = message_date.getSeconds()
		if (month < 10) month = '0' + (month + 1);
		if (day < 10) day = '0' + day;
		if (hours < 10) hours = '0' + hours;
		if (minutes < 10) minutes = '0' + minutes;
		if (seconds < 10) seconds = '0' + seconds;		
		message_date = day + '.' + month + '.' + year + ' ' + hours + ':' + minutes + ':' + seconds;
		
		var form_data = 'action=send_message&room_id=' + encodeURIComponent(document.getElementById('roomId').value) +
		'&message_date=' + message_date +
		'&message_author=' + encodeURIComponent(document.getElementById('messageAuthor').value) +
		'&message=' + encodeURIComponent(document.getElementById('messageText').value); // сохраняем значение поля ввода в переменную, при єтом кодируя специальные символы
		
		

	    //request.onreadystatechange = result; // когда меняется состояние загрузки данных, вызываем функцию для получения ответа result()
	    //request.open('GET',url,true); Это в случае если вы хотите передавать данные методом GET
	    request.open('POST',url,true); // определяем пост запрос, в переменной url должна храниться ссылка на PHP файл
	    request.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8'); //задаём хедер
	    request.send(form_data); // отправляем запрос, передавая параметры
		document.getElementById('chatDiv').innerHTML+='<div id = tmp' + last_message_id + ' style="padding-top: 2px;"> ' + message_date + ' <font color=#0066FF>' + document.getElementById('messageAuthor').value + ':</font> ' + document.getElementById('messageText').value + '</div>';
		loadMessages(document.getElementById('roomId').value, document.getElementById('messageAuthor').value);
	    document.getElementById('chatDiv').scrollTop = document.getElementById('chatDiv').scrollHeight;		
		document.getElementById('messageText').value='';
		document.getElementById('messageText').select();
		return false;
}
}

function showClients()
{
	    if(request.readyState == 4) // если стостояние запроса равно 4
	    { // выводим результат		
	        eval(request.responseText);	
	    }
	}
	
function checkMessage()
{
	    if(request.readyState == 4) // если стостояние запроса равно 4
	    { // выводим результат	
			document.getElementById('client_name').value = '';
			document.getElementById('client_email').value = '';
			document.getElementById('messageText').value = '';			
	        document.getElementById('statusMessage').innerHTML = request.responseText;		
	    }
	}


function showMessages()
{
	    if(request.readyState == 4) // если стостояние запроса равно 4
	    { // выводим результат				
			//alert(request.responseText);
			eval(request.responseText);				
			//load_in_process = false; // говорим что загрузка закончилась, можем теперь начать новую загрузку
		}
	}
