var addressBook = {
    control1: false,  // элемент селект
    control2: false,  // элемент селект
    control3: false,  // элемент селект
    s4: false,  // элемент селект
    result:  false,  // «цель» - элемент pre
    loader:  false,  // сообщение о загрузке
    xmlhttp: false,  // XMLHttpRequest

    // инициализация
    init: function(controlId1, controlId2, controlId3, s4, result) {
        if (!document.getElementById(controlId1) ||
			!document.getElementById(controlId2) ||
			!document.getElementById(controlId3) ||
			!document.getElementById(s4) ||
            !document.getElementById(result)) return;

        // создаем и проверяем объект XMLHttpRequest,
        // если возникли проблемы тихонько выходим
        addressBook.xmlhttp = window.ActiveXObject ?
                              new ActiveXObject("Microsoft.XMLHTTP") :
                              new XMLHttpRequest();                              
        if (!addressBook.xmlhttp) return;

        addressBook.control1 = document.getElementById(controlId1);
        addressBook.control2 = document.getElementById(controlId2);
        addressBook.control3 = document.getElementById(controlId3);
        addressBook.s4 = document.getElementById(s4);
        addressBook.result = document.getElementById(result);

        // добавляем обработчик события onchange элемента control2
        addressBook.addEvent(addressBook.control2, 'change',
                             function() {
                                 if (this.value != '')
                                     addressBook.getOptions(addressBook.control1.value, addressBook.control2.value);
                                 else
                                     addressBook.control3.innerHTML = '';
                             });
        // добавляем обработчик события onchange элемента control3
        addressBook.addEvent(addressBook.control3, 'change',
                             function() {
                                 if (this.value != '')
                                     addressBook.getOptions3(addressBook.control1.value, addressBook.control2.value, addressBook.control3.value);
                                 else
                                     addressBook.s4.innerHTML = '';
                             });
        // добавляем обработчик события onchange элемента s4
        addressBook.addEvent(addressBook.s4, 'change',
                             function() {
                                 if (this.value != '')
                                     addressBook.getOptions4(addressBook.control1.value, addressBook.control2.value, addressBook.control3.value, addressBook.s4.value);
                                 else
                                     addressBook.result.innerHTML = '';
                             });
//		addressBook.getOptions(addressBook.control1.value, addressBook.control2.value);
    },

    //загрузка и отображение данных
    getOptions: function(f1, f2) {
        addressBook.xmlhttp.open('POST', 'http://www.f-racing.ru/ajax.php5', true);
        // обязательное для POST указание Content-Type
        addressBook.xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

        addressBook.xmlhttp.onreadystatechange = function() {
            if (addressBook.xmlhttp.readyState == 4) {
                if (addressBook.xmlhttp.status == 200) {
                    // вставляем полученную информацию в элемент 
                    addressBook.control3.innerHTML = addressBook.xmlhttp.responseText;
                }
            }
        };
        // отсылаем данные запроса
        addressBook.xmlhttp.send('good_producer=' + f1 + '&meta_title=' + f2 );
    },
    //загрузка и отображение данных
    getOptions3: function(f1, f2, f3) {
        addressBook.xmlhttp.open('POST', 'http://www.f-racing.ru/ajax1.php5', true);
        // обязательное для POST указание Content-Type
        addressBook.xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

        addressBook.xmlhttp.onreadystatechange = function() {
            if (addressBook.xmlhttp.readyState == 4) {
                if (addressBook.xmlhttp.status == 200) {
                    // вставляем полученную информацию в элемент 
                    addressBook.s4.innerHTML = addressBook.xmlhttp.responseText;
                }
            }
        };
        // отсылаем данные запроса
        addressBook.xmlhttp.send('good_producer=' + f1 + '&meta_title=' + f2  + '&meta_keys=' + f3 );
    },
    //загрузка и отображение данных
    getOptions4: function(f1, f2, f3, f4) {
        addressBook.xmlhttp.open('POST', 'http://www.f-racing.ru/ajax2.php5', true);
        // обязательное для POST указание Content-Type
        addressBook.xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

        addressBook.xmlhttp.onreadystatechange = function() {
            if (addressBook.xmlhttp.readyState == 4) {
                if (addressBook.xmlhttp.status == 200) {
                    // вставляем полученную информацию в элемент 
                    addressBook.result.innerHTML = addressBook.xmlhttp.responseText;
                }
            }
        };
        // отсылаем данные запроса
        addressBook.xmlhttp.send('good_producer=' + f1 + '&meta_title=' + f2  + '&meta_keys=' + f3  + '&meta_desc=' + f4 );
    },

    // добавляет обработчик события
    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]);
        }
    }
};

// вызываем метод init() при загрузке страницы
// и передаем необходимые параметры
addressBook.addEvent(window, 'load', function() { addressBook.init('s1', 's2', 's3', 's4', 'result'); });
