// Функция создаёт и возвращает объект XMLHttpRequest
function getXmlHttp() {
	// Возвращаемый результат
        var xmlhttp;
	// Работает для больинства браузеров
        if (window.XMLHttpRequest) {
                xmlhttp = new XMLHttpRequest();
        }
	// Если столкнулись с IE
        else {
                xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
        }
	// Возвращаем результат
        return xmlhttp;
}

// Функция загружает в указанный контейнер данные с указанного URL
function SendGetRequest(container, url) {
	// Создаём объект
        var xmlhttp = getXmlHttp();
	// Описываем запрос
        xmlhttp.open('GET', url, true);
	// Функция-обработчик запрос
        xmlhttp.onreadystatechange = function() {
		// Если запрос выполнен
                if (xmlhttp.readyState == 4) {
			// Если нет ошибок (код 200)
                        if(xmlhttp.status == 200) {
                                try {
					// Получаем контент 
                                        restxt = xmlhttp.responseText;
					// Записываем его в контейнер
                                        document.getElementById(container).innerHTML = restxt;
                                }
                                catch(err) {
                                }
                        }
                }
        };
	// Выполняем запрос
        xmlhttp.send(null);
}

// Функция загружает в указанный контейнер данные с указанного URL после подтверждения
function SendGetRequestWithConfirm(container, url, msg) {
	// Если действительно нужно
	if (confirm(msg)) {
		// Создаём объект
		var xmlhttp = getXmlHttp();
		// Описываем запрос
		xmlhttp.open('GET', url, true);
		// Функция-обработчик запрос
		xmlhttp.onreadystatechange = function() {
			// Если запрос выполнен
			if (xmlhttp.readyState == 4) {
				// Если нет ошибок (код 200)
				if(xmlhttp.status == 200) {
					try {
						// Получаем контент 
						restxt = xmlhttp.responseText;
						// Записываем его в контейнер
						document.getElementById(container).innerHTML = restxt;
					}
					catch(err) {
					}
				}
			}
		};
		// Выполняем запрос
		xmlhttp.send(null);
	}
	else {
		return false;
	}
}


// Загрузка формы в выбранный контейнер
function LoadForm(container, url) {
	// Получаем элемент
	element = document.getElementById(container);
	// Если он пустой
	if (element.innerHTML == '') {
		// Загружаем в него форму
		element.innerHTML = 'Загрузка формы...';
		SendGetRequest(container, url);
	}
	// Если же не пустой
	else {
		// Опустошаем контейнер
		element.innerHTML = '';
	}
}


// Функция показа/скрытия определённого контейнера
// На входе - имя контейнера
function ShowHideContainer(name) {
	// Получаем контейнер
	e = document.getElementById(name);
	// Если контейнер скрыт
	if (e.style.display == 'none') {
		// Показываем его
		e.style.display = '';
	}
	// В противном случае
	else {
		// Скрываем его
		e.style.display = 'none';
	}
}
