var lenta = {
    control: false,  // элемент селект
    target:  false,  // «цель» - элемент div
    loader:  false,  // сообщение о загрузке
    xmlhttp: false,  // XMLHttpRequest

    // инициализация
    // controlId - id элемента select
    // sbmtBtnId - id кнопки submit
    // targetId - id элемента div
    init: function(controlId, sbmtBtnId, targetIdLast, targetIdList) {

        if (!document.getElementById(controlId) ||
            !document.getElementById(sbmtBtnId) ||
			!document.getElementById(targetIdLast) ||
            !document.getElementById(targetIdList)) return;

        // создаем и проверяем объект XMLHttpRequest
        lenta.xmlhttp = window.ActiveXObject ?
                              new ActiveXObject("Microsoft.XMLHTTP") :
                              new XMLHttpRequest();                              
        if (!lenta.xmlhttp) return;

        lenta.control = document.getElementById(controlId);
		
        // удаляем кнопку submit
        // она нам нужна только если скрипт не запустится
        lenta.removeElement(document.getElementById(sbmtBtnId));
        lenta.targetLast = document.getElementById(targetIdLast);
		lenta.targetList = document.getElementById(targetIdList);

        // добавляем обработчик события onchange элемента select
        lenta.addEvent(lenta.control, 'change',
                             function() {
                                 if (this.value != '') {
                                     lenta.getLenta(this.value);
								 } else {
                                     lenta.targetLast.innerHTML = '';
									 lenta.targetList.innerHTML = '';
								 }
                             });
    },

    //загрузка и отображение данных
    getLenta: function(id) {
        //lenta.buildLoader('Загрузка последней новости...');

        lenta.xmlhttp.open('POST', 'lenta.main.last.reload.php', true);
        // обязательное для POST указание Content-Type
        lenta.xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

        lenta.xmlhttp.onreadystatechange = function() {
			if (lenta.xmlhttp.readyState == 4) {
                if (lenta.xmlhttp.status == 200) {
                    // вставляем полученную информацию в элемент div
                    lenta.targetLast.innerHTML = lenta.xmlhttp.responseText;
                    
					//lenta.killLoader();


					//lenta.buildLoader('Загрузка списка новостей...');
					lenta.xmlhttp.open('POST', 'lenta.main.list.reload.php', true);
					// обязательное для POST указание Content-Type
					lenta.xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

					lenta.xmlhttp.onreadystatechange = function() {
						if (lenta.xmlhttp.readyState == 4) {
							if (lenta.xmlhttp.status == 200) {
								// вставляем полученную информацию в элемент div
								lenta.targetList.innerHTML = lenta.xmlhttp.responseText;
								//lenta.killLoader();
							}
						}
					};
					// отсылаем данные запроса
					lenta.xmlhttp.send('rubid=' + id);
                }
            }
        };
        // отсылаем данные запроса
        lenta.xmlhttp.send('rubid=' + id);
    },

    // создание сообщения о загрузке
    buildLoader: function(message) {
        lenta.loader = document.getElementById('loading');
        lenta.loader.innerHTML = message;
    },

    // удаление сообщения о загрузке
    killLoader: function() {
        lenta.loader = document.getElementById('loading');
        lenta.loader.innerHTML = '';
    },

    removeElement: function(el) {
        el.parentNode.removeChild(el);
    },

    // добавляет обработчик события
    addEvent: function(obj, type, fn) {
        if (obj.addEventListener)
            obj.addEventListener(type, fn, false);
        else if (obj.attachEvent) {
            obj['e' + type + fn] = fn;
            obj[type + fn] = function() {
                obj['e' + type + fn](window.event);
            };
            obj.attachEvent('on' + type, obj[type + fn]);
        }
    }, 
	
	// выбор рубрики при первой загрузке
	rubricSelect: function (selectId) {

		lenta.select = document.getElementById(selectId);
		var rubid = parseInt(document.getElementById('currrub').innerHTML);
		if(!rubid) {rubid = 0;}
		lenta.select.value = rubid;
	}
};

// вызываем метод init() при загрузке страницы
lenta.addEvent(window, 'load', function() {
    lenta.init('rubric', 'rubsubmit', 'lenta_last', 'lenta_list');
	lenta.rubricSelect('rubric');
});
