/* Создание объекта РЕСПОНЗ */

var xmlHttp = createXMLHttpRequestObject();

function createXMLHttpRequestObject()
{
   var
      xmlHttp=null;

   if(window.XMLHttpRequest)
      xmlHttp=new XMLHttpRequest();
   else if(window.ActiveXObject)
   {
      try
      {
         xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
      catch(e)
      {
         try
         {
            xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
         }
         catch(e)
         {
            alert(e.name+": "+e.message);
         }
      }
   }

   return(xmlHttp);
}




/* Разборка XML-ответа по аттрибутам */

function getAttributes(node)
{
    var ret = new Object();
    if(node.attributes)
      for(var i=0; i<node.attributes.length; i++)
      {
          var attr = node.attributes[i];
          ret[attr.name] = attr.value;
      }
    return ret;
}


function changeG()
{
        //document.getElementById("img_obl").src = '';
        //document.getElementById("img_gor").src = '';
        //document.getElementById("img_sc").src = '';

        // работа возможна только если объект xmlHttp не занят
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
        {

                idg = encodeURIComponent(document.getElementById("sel_firms_group").value);
                // обратиться к сценарию autophp.php на сервере
                xmlHttp.open("GET", "ajax/syte_ajax.php?act=changeG&id=" + idg, true);
                // определить метод, который будет обрабатывать ответы сервера
                xmlHttp.onreadystatechange = resp_changeG;
                // послать асинхронный запрос серверу
                xmlHttp.send(null);
        }
        else
            // если соединение занято, повторить попытку через одну секунду
            setTimeout('changeG();',1000);
}


/* Обработка ответа */

function create_select_PG(s)
{

        sDiv = document.getElementById("DIV_sel_firms_pgroup");
        opt = '<select size="1" style="width: 100%; border: 1px solid #003; padding: 0px; font-family: Trebuchet MS;color: #005;" class="sel_firms_pgroup" id="sel_firms_pgroup" name="sel_firms_pgroup" onChange="changePG();"> \n';
        opt = opt + s;
        opt = opt + '</select>';
        //sDiv.innerHTML = opt;
        //oret = new Object();
        //oret['tt']=opt;
        sDiv.innerHTML = opt;
        //return oret;
}

// вызывается автоматически по прибытию сообщения от сервера
function resp_changeG()
{
        // продолжить можно только если транзакция с сервером завершена
        if (xmlHttp.readyState == 4)
        {
                // значение 200 говорит о том, что транзакция прошла успешно
                if (xmlHttp.status == 200)
                {
                        // извлечь XML, полученный от сервера
                        xmlResponse = xmlHttp.responseXML;
                        //document.getElementById("xml_otvet").value=xmlHttp.responseText;
                        // получить корневой элемент в структуре XML
                        xmlRoot = xmlResponse.documentElement;
                        elemArray = xmlRoot.getElementsByTagName("elem");

                        output = '';
                        s = '';
                        for (i=0; i<elemArray.length; i++)
                        {
                            //document.getElementById("xml_pars").value=gorodArray.length;
                                elem = elemArray[i];
                            //document.getElementById("xml_pars").value=gorod;
                                var attG=getAttributes(elem);
                            //document.getElementById("xml_pars").value=attG['name'];
                                output += "\nID = "+attG['id'];
                            //document.getElementById("xml_pars").value=gorod;
                                output += " ;  Name = "+attG['name'];
                            s += "<option value="+attG['id']+"> " + attG['name'] + " </option> \n";
                        }

                        create_select_PG(s);

                }
                // если статус HTTP, отличный от 200, говорит о наличии ошибки
                else
                {
                        alert("При обращении к серверу возникли проблемы: " + xmlHttp.statusText);

                }
        }
}




function changePG()
{
        //document.getElementById("img_obl").src = '';
        //document.getElementById("img_gor").src = '';
        //document.getElementById("img_sc").src = '';

        // работа возможна только если объект xmlHttp не занят
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
        {

                document.getElementById("div_load").style.visibility = 'visible';
                idg = encodeURIComponent(document.getElementById("sel_firms_pgroup").value);
                // обратиться к сценарию autophp.php на сервере
                xmlHttp.open("GET", "ajax/syte_ajax.php?act=changePG&id=" + idg, true);
                // определить метод, который будет обрабатывать ответы сервера
                xmlHttp.onreadystatechange = resp_changePG;
                // послать асинхронный запрос серверу
                xmlHttp.send(null);
        }
        else
            // если соединение занято, повторить попытку через одну секунду
            setTimeout('changePG();',1000);
}


/* Обработка ответа */

function create_table_kf(s)
{

        sDiv = document.getElementById("DIV_view_kf");
        opt = '<TABLE cellpadding="0" cellspacing="0" width="100%" border="0" id="table_show_firms"> \n';
        opt = opt + '<tr><th width="300px">Название</th><th width=*>Адрес</th><th width="80px">Код города</th><th width="150px">Телефон</th></tr>';
        opt = opt + s;
        opt = opt + '</TABLE>';
        //sDiv.innerHTML = opt;
        //oret = new Object();
        //oret['tt']=opt;
        sDiv.innerHTML = opt;
        //return oret;
}

function des_tel(s)
{
return s.replace(/,/g,"<br>")
}

// вызывается автоматически по прибытию сообщения от сервера
function resp_changePG()
{
        // продолжить можно только если транзакция с сервером завершена
        if (xmlHttp.readyState == 4)
        {
                // значение 200 говорит о том, что транзакция прошла успешно
                if (xmlHttp.status == 200)
                {
                        // извлечь XML, полученный от сервера
                        xmlResponse = xmlHttp.responseXML;
                        //document.getElementById("xml_otvet").value=xmlHttp.responseText;
                        // получить корневой элемент в структуре XML
                        xmlRoot = xmlResponse.documentElement;
                        elemArray = xmlRoot.getElementsByTagName("elem");

                        output = '';
                        s = '';
                        for (i=0; i<elemArray.length; i++)
                        {
                            //document.getElementById("xml_pars").value=gorodArray.length;
                                elem = elemArray[i];
                            //document.getElementById("xml_pars").value=gorod;
                                var attG=getAttributes(elem);
                            //document.getElementById("xml_pars").value=attG['name'];
                            //    output += "\nID = "+attG['id'];
                            //document.getElementById("xml_pars").value=gorod;
                            //    output += " ;  Name = "+attG['name'];
                            // s += "<option value="+attG['id']+"> " + attG['name'] + " </option> \n";

                            s += "<tr id='kf_tr_"+attG['id']+"' onMouseOver=\"javascript:document.getElementById(this.id).className='kf_tr_over';\" onMouseOut=\"javascript:document.getElementById(this.id).className='tarif_"+attG['tarif']+"';\" onClick=\"javascript:na_open_window('win_kartfirm_"+attG['id']+"', 'kart_predp.php?id="+attG['id']+"', 50, 50, 550, 400, 0, 0, 0, 1, 0)\" target='_self' class='tarif_"+attG['tarif']+"'> <td>" + attG['name'] + "</td>  <td>" + attG['addres'] + "</td> <td>8-(3513)</td>  <td>" + des_tel(attG['tel']) + "</td> </tr> \n";
                        }

                        create_table_kf(s);
                        document.getElementById("div_load").style.visibility = 'hidden';

                }
                // если статус HTTP, отличный от 200, говорит о наличии ошибки
                else
                {
                        alert("При обращении к серверу возникли проблемы: " + xmlHttp.statusText);

                }
        }
}



function full_news2(id)
{

}

var divnews;

function full_news(id)
{
        //document.getElementById("img_obl").src = '';
        //document.getElementById("img_gor").src = '';
        //document.getElementById("img_sc").src = '';
        divnews = document.getElementById("news_"+id);
        // работа возможна только если объект xmlHttp не занят
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
        {
                // обратиться к сценарию autophp.php на сервере
                xmlHttp.open("GET", "ajax/syte_ajax.php?act=full_news&id=" + id, true);
                // определить метод, который будет обрабатывать ответы сервера
                xmlHttp.onreadystatechange = resp_full_news;
                // послать асинхронный запрос серверу
                xmlHttp.send(null);
        }
        else
            // если соединение занято, повторить попытку через одну секунду
            setTimeout('full_news('+id+');',1000);
}


/* Обработка ответа */

function resp_full_news()
{
        if (xmlHttp.readyState == 4)
        {
                if (xmlHttp.status == 200)
                {

                        // извлечь XML, полученный от сервера
                        xmlResponse = xmlHttp.responseXML;
                        xmlResponse.async = false;

                        //document.getElementById("xml_otvet").value=xmlHttp.responseText;
                        // получить корневой элемент в структуре XML
                        xmlRoot = xmlResponse.documentElement;
                        //resArray = xmlRoot.getElementsByTagName("otvet");
                        LoadNews = xmlRoot.getElementsByTagName("NEWS");

                        News = LoadNews[0];

                        //document.getElementById("xml_otvet").value=News.xml;
                        //document.getElementById("xml_otvet").value=News.getElementsByTagName("ID")[0].xml;

                        var idn='';
                        var title='';
                        var soder='';
                        var ldate='';
                        var foto='';
                        var html_news = '';


                        //alert(html_news);
                        //divnews.innerHTML = "312312412434234";
                        //divnews.className = "sel_firms_pgroup";


                        if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
                        idn   = News.getElementsByTagName("ID")[0].text;
                        title = News.getElementsByTagName("TITLE")[0].text;
                        soder = News.getElementsByTagName("SODER")[0].text;
                        foto  = News.getElementsByTagName("FOTO")[0].text;
                        ldate = News.getElementsByTagName("FROMDATE")[0].text;
                        } else {
                        idn   = News.getElementsByTagName("ID")[0].textContent;
                        //alert("id = "+idn+"; title = "+title+"; soder = "+soder+"; ldate = "+ldate+"; foto = "+foto);
                        title = News.getElementsByTagName("TITLE")[0].textContent;
                        //alert("id = "+idn+"; title = "+title+"; soder = "+soder+"; ldate = "+ldate+"; foto = "+foto);
                        soder = News.getElementsByTagName("SODER")[0].textContent;
                        //alert("soder = "+soder);
                        foto  = News.getElementsByTagName("FOTO")[0].textContent;
                        //alert("id = "+idn+"; title = "+title+"; soder = "+soder+"; ldate = "+ldate+"; foto = "+foto);
                        ldate = News.getElementsByTagName("FROMDATE")[0].textContent;
                        //alert("id = "+idn+"; title = "+title+"; soder = "+soder+"; ldate = "+ldate+"; foto = "+foto);
                        }
                        //alert('=>'+foto+'<=');
                        if ((foto == "") || (foto == " ") || (foto == "  ")) {
                        html_news += ' <div id="news_'+idn+'"> ';
                        html_news += ' <div class="zagol_news">'+title+'</div> ';
                        html_news += ' <div class="text">'+soder+'  <br> <br> <br>  </div> ';
                        html_news += ' <div class="date_news">Дата размещения: <span>'+ldate+'</span></div> ';
                        html_news += ' </div> ';
                        }
                        else
                        {
                        html_news += ' <div id="news_'+idn+'"> ';
                        html_news += ' <div class="zagol_news">'+title+'</div> ';
                        html_news += ' <img src="mini_'+foto+'" border="0"  onClick="javascript:na_open_window(\'win_'+idn+'_foto\', \''+foto+'\', 10, 10, 560, 420, 0, 0, 0, 1, 1)" target="_self"> <div class="text">'+soder+'  <br> <br> <br>  </div> ';
                        html_news += ' <div class="date_news">Дата размещения: <span>'+ldate+'</span></div> ';
                        html_news += ' </div> ';
                        }


                        divnews.innerHTML = html_news;
                }
                // если статус HTTP, отличный от 200, говорит о наличии ошибки
                else
                {
                        alert("При обращении к серверу возникли проблемы: " + xmlHttp.statusText);

                }
        }

}











