//var  mappath="http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/vologda/vologda.map";
var  mappath="cgi-bin/mapserv?map=/opt/fgs/apps/vologda/vologda.map";
//	     var mappath="cgi-bin/mapserv?map=/opt/fgs/apps/vologda/vologda.map";^
var index_window = null;
var lastSql="";
var map;
var typeName="";
var streetName="";
var houseName="";
var win=null;
var loadHtm="<table><tr><td><img src=\"image/loading.gif\" border=\"0\"></td><td> Подождите, идет загрузка данных...</td></tr></table>";
var loadHtmMap="<table><tr><td><img src=\"image/loadingmap.gif\" border=\"0\"></td><td> <b>Подождите, идет поиск объекта и загрузка схемы...</b></td></tr></table>";
var icon;
var markers;
var mobile=0;

var simple=1;

//String.prototype.trim = function() {
//    return this.replace(/^\s+|\s+$/g,"");
//}
function setSearchNew(vid){
    win.hide();
    if (vid==0){
        $j("#detailsearchform").css({
            visibility: "hidden"
        });
        $j("#detailsearchform").css({
            display: "none"
        });
        $j("#mapsearchform").css({
            display: "none"
        });
        $j("#mapsearchform").css({
            visibility: "hidden"
        });

        $j("#simplesearchform").css({
            visibility: "visible"
        });
        $j("#simplesearchform").css({
            display: "block"
        });

        $j("#imsimple").css({
            "background-color": "#c0211a"
        });
        $j("#imdetail").css({
            "background-color": "#959595"
        });
        $j("#immap").css({
            "background-color": "#959595"
        });
                document.imsimple.src="button/pr_poisk_red.gif";
                document.imdetail.src="button/ras_poisk_greey.gif";
                document.immap.src="button/shema_poisk_greey.gif";

        simple=1;
    }
    if (vid==1){
        $j("#detailsearchform").css({
            visibility: "visible"
        });
        $j("#detailsearchform").css({
            display: "block"
        });

        $j("#simplesearchform").css({
            visibility: "hidden"
        });
        $j("#simplesearchform").css({
            display: "none"
        });
        $j("#mapsearchform").css({
            visibility: "hidden"
        });
        $j("#mapsearchform").css({
            display: "none"
        });

        $j("#imdetail").css({
            "background-color": "#c0211a"
        });
        $j("#imsimple").css({
            "background-color": "#959595"
        });
        $j("#immap").css({
            "background-color": "#959595"
        });
            	document.imsimple.src="button/pr_poisk_greey.gif";
                document.imdetail.src="button/ras_poisk_red.gif";
                document.immap.src="button/shema_poisk_greey.gif";
        simple=0;
        //win.moveTo(e.xy.x+1, e.xy.y+1);
    }
    if (vid==2){
        $j("#mapsearchform").css({
            visibility: "visible"
        });
        $j("#mapsearchform").css({
            display: "block"
        });

        $j("#detailsearchform").css({
            visibility: "hidden"
        });
        $j("#detailsearchform").css({
            display: "none"
        });

        $j("#simplesearchform").css({
            visibility: "hidden"
        });
        $j("#simplesearchform").css({
            display: "none"
        });

        $j("#imdetail").css({
            "background-color": "#959595"
        });
        $j("#imsimple").css({
            "background-color": "#959595"
        });
        $j("#immap").css({
            "background-color": "#c0211a"
        });
            	document.imsimple.src="button/pr_poisk_greey.gif";
                document.imdetail.src="button/ras_poisk_greey.gif";
		document.immap.src="button/shema_poisk_red.gif";
//		document.immap.src="button/red.gif";
        setTab("dtmap");
        simple=0;
    }

}
function procname(httpRequest) {
    if (httpRequest.readyState == 4) {
        if (httpRequest.status == 200) {
            var xmldoc = httpRequest.responseText;
            $j("#tableList").html(httpRequest.responseText);
        } else {
            alert('Ошибка при получении данных от сервера, обновите странцу.');
        }
    }
    return true;
}

function procnameFirmsLoad(httpRequest) {
    //alert("1");
    if (httpRequest.readyState == 4) {
        if (httpRequest.status == 200) {
            var xmldoc = httpRequest.responseText;
            $j("#tableListFirms").html(httpRequest.responseText);
        } else {
            alert('Ошибка при получении данных от сервера, обновите странцу.');
        }
    }
    return true;
}
    


function setMapInfoToShow(httpRequest) {
//    alert("setMapInfoToShow");
    var s="",f="";
    var i=0,j=0;
    var home,sname,tip;
    if (httpRequest.readyState == 4) {
        if (httpRequest.status == 200) {
            s=httpRequest.responseText;
	    
//	    alert(s);
	    
            i=s.indexOf("showmap");
            j=s.indexOf(");");
            f=s.substring(i,j+1);
            // alert(f);
            if (f.length>0) {
                eval(f);
                //alert(s.length);
                //alert(j);
                //if ((j+50)>s.length) {s="";}
                s="";
            }else {
                s="<b>Объект не найден на схеме города.</b>";
                alert("Объект не найден на схеме города.");
            }
            OpenLayers.Util.getElement('nodeList').innerHTML=s;

        } else {
            alert('Ошибка получения данных от сервера, обновите страницу.');
        }
    // alert("1");
    }
    return true;
}

function LoadStatic(httpRequest){
    var s="";
    s=httpRequest.responseText;
    alert (s);
    return true;
}


function setDopInfo(httpRequest) {
//    alert("setDopInfo");
    if (httpRequest.readyState == 4) {
        if (httpRequest.status == 200) {

            //OpenLayers.Util.getElement('dopInfo').innerHTML = httpRequest.responseText;
            var s=httpRequest.responseText;
            //alert(s);
            var fd="";
            var sz="smoll";
            var i=s.indexOf("docId=");
            var j=s.indexOf("#endDocId");
            if ((i>0)&&(j>(i+6))){
                fd=s.substring(i+6,j);
                //alert(s);
                var urls="foto/temp/"+fd+"/index.htm";
                //    alert(urls);
                //win.load("iframe", urls, "Информация");

                //    win.setURL(urls);
                i=s.indexOf("#size=");
                j=s.indexOf("#endSize");
                sz=s.substring(i+6,j);
               if (sz=="all"){
                   win.load("iframe", urls, "Информация");
                   win.setSize(257,267);
               }else{
                   win.load("iframe", urls, "Информация");
                   win.setSize(257,70);
//                   win.setSize(250, 70);
               }
            //win.updateHeight();
            }else {
                win.load("iframe", "foto/notfound.htm", "Информация");
                win.setSize(257,60);

            //win.setURL("foto/notfound.htm");
            //win.setSize(250, 50);
            //win.updateHeight();
            }
            //win.toFront();
            win.show();
        } else {
            alert('Ошибка получения данных от сервера, обновите страницу.');
        }
    }
    return true;
}
function setWinDopInfotoLoad(){
    //alert ("setWinDopInfotoLoad");
    win.load("iframe", "foto/loading.htm", "Информация");
    win.setSize(257,30);
    win.show();
    return true;
}

// создаем окно доп. информации и прячем
// запрещаем его закрывать
//------------------------------------------------
function initDopInfoWin(){
    var url="foto/loading.htm";
    win = dhtmlwindow.open("winbox", "iframe", url, "Информация", "width=257px,height=252px,left=270px,top=300px,resize=0,scrolling=0");
	
    win.hide();

    win.onclose = function(){
        win.hide();
        return false;
    }

    return false;

}

function createDopInfo(tname,sname,hname){
    var url="";
    var sql="";
    sql=" f2.f2i1%3D%23"+sname.length+"%23"+encodeURI(sname)+"%23";
    sql=sql+" and f3.f3i1%3D%23"+hname.length+"%23"+encodeURI(hname)+"%23";
    if(tname.length>0) {
        sql=sql+" and f1.f1i1%3D%23"+tname.length+"%23"+encodeURI(tname)+"%23";
    }

    //    url=hostmain+mainFolder+"/getDopInfo.jsp?query="+sql+"&street="+(sname)+"&house="+(hname);
    url="../getDopInfo.jsp?query="+sql+"&street="+encodeURI(sname)+"&house="+encodeURI(hname);
    //OpenLayers.Util.getElement('dopInfo').innerHTML ="<p>Подождите, загрузка данных...</p>";
    //    makeRequest(url,setDopInfo);
    if ((sname.length>0)&&(hname.length>0)){
        //alert(url);
        OpenLayers.loadURL(url, '', this, setDopInfo);
    }else {
        if (win!=null){
            win.load("iframe", "foto/notfound.htm", "Информация");
            win.setSize(257,30);
            win.show();
        }
    }

    return true;
}



function setMapInfo(httpRequest) {
//        alert("httpRequest.readyState");
    if (showNarugka == 1){
    showNarugka = 0;
    document.getElementById("meny_punkt1").innerHTML = "<div>Показать наружную рекламу</div>";
    }
    var home,sname,tip,s,object,n_object,n_f4, sIn;
    var strname,strmod;
    var i=0,j=0,find=0;
    if (httpRequest.readyState == 4) {
        if (httpRequest.status == 200) {

            //            var xmldoc = httpRequest.responseXML;
            //            alert(httpRequest.responseText);

            sIn=httpRequest.responseText;
            s=sIn;
            //s=httpRequest.responseXML;
            //alert(s);

            i=sIn.indexOf("<housesnom_layer>");
            if (i>10)
            {
                i=s.indexOf("<STREET>");
                j=s.indexOf("</STREET>");
                if (j>(i+7)){
                    sname=s.substring(i+8,j);
                }else{
                    sname="";
                }
                i=s.indexOf("<HOME>");
                j=s.indexOf("</HOME>");
                if (j>(i+5)){
                    home=s.substring(i+6,j);
                }else{
                    home=""
                    }
                i=s.indexOf("<TIP>");
                j=s.indexOf("</TIP>");
                if (j>(i+4)) {
                    tip=s.substring(i+5,j);
                }else{
                    tip="";
                }

                OpenLayers.Util.getElement('nodeList').innerHTML ="<b>"+tip+' '+sname+' '+home+"</b>";//httpRequest.responseText;
                createDopInfo(tip,sname,home);
                find=1;
            }
            i=sIn.indexOf("<ostanovki_layer>");
            s=sIn;
            if (i>10)
            {
                i=s.indexOf("<f1>");
                j=s.indexOf("</f1>");
                if (j>(i+3)){
                    strname=s.substring(i+4,j);
                }else{
                    strname="";
                }
                i=s.indexOf("<f2>");
                j=s.indexOf("</f2>");
                if (j>(i+3)){
                    strmod=s.substring(i+4,j);
                }else{
                    strmod=""
                    }

                OpenLayers.Util.getElement('nodeList').innerHTML ="<b> Остановка "+strname+"</b>";//httpRequest.responseText;
                //createDopInfo(tip,sname,home);
                find=1;
            }
	    //Наружная реклама, извлекаем из xml
	    i=sIn.indexOf("<narugka_layer>");
            s=sIn;
            if (i>10)
            {
                i=s.indexOf("<SHIT>");
                j=s.indexOf("</SHIT>");
                if (j>(i+5)){
                    object=s.substring(i+6,j);
                }else{
                    object="";
                }
                
		i=s.indexOf("<N_SHIT>");
                j=s.indexOf("</N_SHIT>");
                if (j>(i+6)){
                    n_object=s.substring(i+8,j);
                }else{
                    n_object=""
                    }
		
		i=s.indexOf("<F4>");
                j=s.indexOf("</F4>");
                if (j>(i+3)){
                    n_f4=s.substring(i+4,j);
                }else{
                    n_f4=""
                    }

                OpenLayers.Util.getElement('nodeList').innerHTML ="<b style=\"font-size:12px;\"> Рекламный объект: "+object+". номер:"+n_object+"</b>";//httpRequest.responseText;
                createDopInfoReclam(object,n_object,n_f4);
                find=1;
            }
	    //закончили извлекать наружную рекламу.
            if (find==0){
                OpenLayers.Util.getElement('nodeList').innerHTML ="<b> Информация об объекте отсутствует</b>";//httpRequest.responseText;
                if (win!=null){
                    win.load("iframe", "foto/notfound.htm", "Информация");
                    win.show();
                }
            }

        //            alert(sname.charAt(1));
        //            alert(sname.charCodeAt(1));

        //var s1 = String.fromCharCode(sname.charAt(1),sname.charAt(2),sname.charCodeAt(3));
        //alert(s1);

        } else {
            alert('Ошибка получения данных с сервера, обновите страницу.');
        }
    }
    return true;
}
function setTableInfo(httpRequest) {
    //alert("1");
    if (httpRequest.readyState == 4) {
        if (httpRequest.status == 200) {
            var xmldoc = httpRequest.responseText;
            // alert(httpRequest.responseText);
            OpenLayers.Util.getElement('tableInfo').innerHTML = httpRequest.responseText;

        } else {
            alert('Ошибка получения данных с сервера, обновите страницу.');
        }
    }
    return true;
}
function setTab(tabId){
    var eSheet = document.getElementById(tabId );
    var eTab = document.getElementById(tabId);

    win.hide();
    while( eSheet.nextSibling ){
        eSheet = eSheet.nextSibling
        if( eSheet.nodeName == "DD" ){
            break
        }
    }
    if( eSheet.className == "inactive" ){
        eTab.className = "on"
        var aeDL_child = eTab.parentNode.childNodes
        for( var i = 0 ; i < aeDL_child.length ; i++ ){
            if( aeDL_child[i].nodeName == "DT" && aeDL_child[i].className != "on" ){
                aeDL_child[i].className = ""
            }else if( aeDL_child[i].nodeName == "DD" ){
                aeDL_child[i].className = "inactive"
            }
        }
        eSheet.className = "active"
        eTab.className = "active"
    }
    return true;
}


function searchbyfirmANDaddr(orgname, addr){
    var url="";
    var sql="";
    var i=0;
    var get="";
    sql=sql+"f9.f9i2%3D%23"+orgname.length+"%23"+encodeURI(orgname)+"%23";
    if (addr.length>0){ 
        sql=sql+" and g2.g2f9.g2f9i1%3D%23" + addr.length + "%23" + encodeURI(addr) + "%23";
    }
    get="f9="+encodeURI(orgname)+"&g2f9="+encodeURI(addr);
    lastSql=sql+"&"+get;
    //alert (lastSql);
    url="getSpisokFirmFr.jsp?query="+sql+"&page=0&"+get;
    //alert(url);
    //OpenLayers.Util.getElement('tableListFirms').innerHTML =loadHtm;
    setTab("dtspisokFirms");
    var s="<iframe id=\"iResFrame\"  width=\"100%\" height=\"100%\" frameborder=\"no\" name=\"iResFrame\" src=\""+url+"\">";
    OpenLayers.Util.getElement('resfr').innerHTML =s;
    OpenLayers.Util.getElement('strres1').innerHTML =loadHtm;
    OpenLayers.Util.getElement('strres2').innerHTML ="&nbsp;";

    setHeight();

    //makeRequest(url,procnameFirmsLoad);
    return true;
}

function searchbyfirm(orgname){
    var url="";
    var sql="";
    var i=0;
    sql=sql+"f9.f9i2%3D%23"+orgname.length+"%23"+encodeURI(orgname)+"%23&f9="+encodeURI(orgname);

    lastSql=sql;
    url="getSpisokFirmFr.jsp?query="+sql+"&page=0";
    //alert(url);
    //OpenLayers.Util.getElement('tableListFirms').innerHTML =loadHtm;
    setTab("dtspisokFirms");
    var s="<iframe id=\"iResFrame\"  width=\"100%\" height=\"100%\" frameborder=\"no\" name=\"iResFrame\" src=\""+url+"\">";
    OpenLayers.Util.getElement('resfr').innerHTML =s;
    OpenLayers.Util.getElement('strres1').innerHTML =loadHtm;
    OpenLayers.Util.getElement('strres2').innerHTML ="&nbsp;";

    setHeight();

    //makeRequest(url,procnameFirmsLoad);
    return true;
}

function buildQuery(){
    var url;
    var sql="";
    var get="";
    var f;
    var s="";
    var i=0;
    var v="";
    var reg = /([A-Za-z0-9А-Яа-я]+)/gim;

    get=get+"&simplesearch="+simple;

    if (simple==1){

        f=document.getElementById("fall");
        val=f.value;
        var arr=val.match(reg);
        i=0;
        if (arr!=null){
            f=document.getElementById("qfield");
            get=get+"&qfield="+encodeURI(f.value);

            var fname=f.value;
            for (i=0;i<arr.length;i++){
                if (sql!=''){
                    sql=sql+" and "
                }
                if (fname==""){
                    if (i==0){ 
                        get=get+"&f17="+encodeURI(val);
                    }
//		    alert(arr[i]);
		    v=stem_word(arr[i]);
//		    alert(v);
                    sql=sql+"f17.f17i1%3D%23"+v.length+"%23"+encodeURI(v)+"%23";
                /*                    sql=sql+"f1.f1i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                    //sql=sql+" or f2.f2i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                    sql=sql+" or f3.f3i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                    sql=sql+" or f5.f5i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                    sql=sql+" or f7.f7i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                    sql=sql+" or f9.f9i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                    sql=sql+" or g2.g2f6.g2f6i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                    sql=sql+" or f11.f11i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                    sql=sql+" or g2.g2f3.g2f3i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                    sql=sql+" or g2.g2f4.g2f4i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";*/
                }else{
                    if (i==0){
                        if (fname=="f3.f3i1"){ 
                            get=get+"&f3="+encodeURI(val);
                        }
                        if (fname=="f9.f9i1"){ 
                            get=get+"&f9="+encodeURI(val);
                        }
                        if (fname=="g2.g2f6.g2f6i1"){ 
                            get=get+"&g2f6="+encodeURI(val);
                        }
                        if (fname=="g2.g2f9.g2f9i1"){ 
                            get=get+"&g2f9="+encodeURI(val);
                        }
                    }
		    v=stem_word(arr[i]);
                    sql=sql+fname+"%3D%23"+v.length+"%23"+encodeURI(v)+"%23";
                }
            }
        }
        else{
            alert('Заполните поля поиска')
            return "";
        }
    }
    else{

        f=document.getElementById("f2");
        get=get+"&f2="+encodeURI(f.value);
        if (f.value!=''){
            s=f.value;
            var arr=s.match(reg);
            i=0;
            if (arr!=null){
                for (i=0;i<arr.length;i++){
                    if (sql!=''){
                        sql=sql+" and "
                    }
                    sql=sql+"f2.f2i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                }
            }
        }
        f=document.getElementById("f3");
        get=get+"&f3="+encodeURI(f.value);
        if (f.value!=''){
            s=f.value;
            var arr=s.match(reg);
            i=0;
            if (arr!=null){
                for (i=0;i<arr.length;i++){
                    if (sql!=''){
                        sql=sql+" and "
                    }
                    sql=sql+"f3.f3i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                }
            }
        }

        f=document.getElementById("f9");
        get=get+"&f9="+encodeURI(f.value);
        if (f.value!=''){
            s=f.value;
            var arr=s.match(reg);
            i=0;
            if (arr!=null){
                for (i=0;i<arr.length;i++){
                    if (sql!=''){
                        sql=sql+" and "
                    }
                    sql=sql+"f9.f9i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                }
            }
        }

        f=document.getElementById("g2f3");
        get=get+"&g2f3="+encodeURI(f.value.trim());
        var f1=document.getElementById("g2f4");
        get=get+"&g2f4="+encodeURI(f1.value);

        if ((f1.value!='')&&(f.value!='')){
            s=f.value+f1.value;
            if (sql!=''){
                sql=sql+" and "
            }
            sql=sql+"g2.g2f9.g2f9i1%3D%23"+s.length+"%23"+encodeURI(s)+"%23";
        }
        else{
            if (f.value!=''){
                s=f.value;
                i=0;
                if (sql!=''){
                    sql=sql+" and "
                }
                sql=sql+"g2.g2f3.g2f3i1%3D%23"+s.length+"%23"+encodeURI(s)+"%23";
            }

            if (f1.value!=''){
                s=f1.value;
                if (sql!=''){
                    sql=sql+" and "
                }
                sql=sql+"g2.g2f4.g2f4i1%3D%23"+s.length+"%23"+encodeURI(s)+"%23";
            }
        }

        f=document.getElementById("g2f6");
        get=get+"&g2f6="+encodeURI(f.value);
        if (f.value!=''){
            s=f.value;
            var arr=s.match(reg);
            i=0;
            if (arr!=null){
                for (i=0;i<arr.length;i++){
                    if (sql!=''){
                        sql=sql+" and "
                    }
                    sql=sql+"g2.g2f6.g2f6i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
                }
            }
        }

    }
    lastSql=sql+"&"+get;
    return "query="+sql+"&page=0&"+get;


}

function afterLoadSpisok(s1,s2){
    OpenLayers.Util.getElement('strres1').innerHTML =s1;
    OpenLayers.Util.getElement('strres2').innerHTML =s2;
//    alert(s);
}

function loadSpisokFirms(){
    sql=buildQuery();
    if (sql!=""){
        url="getSpisokFirmFr.jsp?"+sql;
        //alert(url);
        //OpenLayers.Util.getElement('resfr').innerHTML =loadHtm;
        setTab("dtspisokFirms");

        var s="<iframe id=\"iResFrame\"  width=\"100%\" height=\"100%\" frameborder=\"no\" name=\"iResFrame\" src=\""+url+"\">";
        OpenLayers.Util.getElement('resfr').innerHTML =s;
        OpenLayers.Util.getElement('strres1').innerHTML =loadHtm;
        OpenLayers.Util.getElement('strres2').innerHTML ="&nbsp;";

        setHeight();
    //makeRequest(url,procnameFirmsLoad);
    }
    return false;

}

function seltree2(s){
    if (s==''){
        return false;
    }
    var reg = /([A-Za-z0-9А-Яа-я]+)/gim;
    var sql='';
    document.getElementById('fall').value='';
    //$j('fall').value='';
    var get=get+"&f3=&f17=&fall=&f2="+encodeURI(s);
    var arr=s.match(reg);
//    get=get+"&simplesearch="+simple;
    get=get+"&simplesearch=1";
    i=0;
    if (arr!=null){
        for (i=0;i<arr.length;i++){
            if (sql!=''){
                sql=sql+" and "
            }
            sql=sql+"f2.f2i1%3D%23"+arr[i].length+"%23"+encodeURI(arr[i])+"%23";
        }
    }
    lastSql=sql+"&"+get;
    sql="query="+sql+"&page=0&"+get;

        url="getSpisokFirmFr.jsp?"+sql;
        //alert(url);
        //OpenLayers.Util.getElement('resfr').innerHTML =loadHtm;
        setTab("dtspisokFirms");

        var s="<iframe id=\"iResFrame\"  width=\"100%\" height=\"100%\" frameborder=\"no\" name=\"iResFrame\" src=\""+url+"\">";
        OpenLayers.Util.getElement('resfr').innerHTML =s;
        OpenLayers.Util.getElement('strres1').innerHTML =loadHtm;
        OpenLayers.Util.getElement('strres2').innerHTML ="&nbsp;";

        setHeight();
    //makeRequest(url,procnameFirmsLoad);
    document.getElementById('f2').value='';
    return false;

}


function loadSpisokPageFirms(p){
    var url;
    url="getSpisokFirmFr.jsp?query="+lastSql+"&page="+p;
    //    OpenLayers.Util.getElement('tableListFirms').innerHTML =loadHtm;
    setTab("dtspisokFirms");
    var s="<iframe id=\"iResFrame\"  width=\"100%\" height=\"100%\" frameborder=\"no\" name=\"iResFrame\" src=\""+url+"\">";
    OpenLayers.Util.getElement('resfr').innerHTML =s;
    OpenLayers.Util.getElement('strres1').innerHTML =loadHtm;
    OpenLayers.Util.getElement('strres2').innerHTML ="&nbsp;";

    setHeight();

    //makeRequest(url,procnameFirmsLoad);
    return true;
}


function getDoc(id){
    var url="getdoc.jsp?query="+id+"&page=0";
    window.open(url,id,'width=660,height=640, status=1,scrollbars=1');
    return false;
}
function setparams(fname,values) {
    var f;
    f=document.getElementById(fname);
    f.value=values;
    return true;
}
function showindex(iname,fname) {
    url="getindex.jsp?query="+iname+"%20from%200&fieldname="+fname+"&indexname="+iname+"&indexvalue=%20";
    if (!index_window || index_window.closed) {
        //var win = "width="+200+",height="+300+" menubar=no,location=no,resizable=no,scrollbars=yes";
        var win = "menubar=no, toolbar=no, status=no, resizable=yes, scrollbars=yes, left=150, top=150, width=320, height=300";
        index_window = window.open(url,'index',win);
    } else {
        index_window.location.href=url;
    }
    index_window.focus();

    return false;
}

function showTreeIndex(iname,fname) {
    url="getTree.jsp?&fieldname="+fname+"&indexname="+iname;
    if (!index_window || index_window.closed) {
        //var win = "width="+200+",height="+300+" menubar=no,location=no,resizable=no,scrollbars=yes";
        var win = "menubar=no, toolbar=no, status=no, resizable=yes, scrollbars=yes, left=150, top=150, width=320, height=300";
        index_window = window.open(url,'index',win);
    } else {
        index_window.location.href=url;
    }
    index_window.focus();

    return false;
}

function clearall(){
    var f;
    if (simple==1){
        f=document.getElementById("fall");
        f.value="";
    }else{
        f=document.getElementById("f2");
        f.value='';
        f=document.getElementById("f3");
        f.value='';
        f=document.getElementById("f9");
        f.value='';
        f=document.getElementById("g2f3");
        f.value='';
        f=document.getElementById("g2f4");
        f.value='';
        f=document.getElementById("g2f6");
        f.value='';
    }
    return true;
}

//------------ карта --------------------------

function initMap(){
//    var  mappath="http://www.spravka065.ru/cgi-bin/mapserv?map=/opt/fgs/apps/vologda/vologda.map";
    initDopInfoWin();
    map = new OpenLayers.Map('map');

    var zoom=2;
    var lat=59.2;
    var lon=39.8;
    var lot=39.8;
    //    var wms = new OpenLayers.Layer.WMS( "Vologda maps", hostmain+"/cgi-bin/mapserv.exe?map=/ms4w/apps/vologda_test/vologda.map", {'layers': 'parks,rails,vodotok,setroad,streetline,housesnom','format':"gif"},{'maxExtent': new OpenLayers.Bounds(39.7334, 59.165, 40.0221, 59.27), 'maxResolution': "auto",tileSize: new OpenLayers.Size(512,512),buffer:0 } );
//    map.addControl(new OpenLayers.Control.MousePosition());

    var wms = new OpenLayers.Layer.WMS( "Vologda maps", mappath, {
        'layers': 'parks,rails,narugka,vodotok,setroad,streetline,housesnom',
        'format':"gif"
    },{
        'displayInLayerSwitcher':false,
        'maxExtent': new OpenLayers.Bounds(-8552, -5894, 6861, 5676),
        'maxResolution': "auto",
        tileSize: new OpenLayers.Size(512,512),
        buffer:0
    } );
    map.addLayer(wms);
    //alert(mappath);


    var size = new OpenLayers.Size(26,46);
    var calculateOffset = function(size) { 
        return new OpenLayers.Pixel(-(size.w), -size.h);
    };

    //var size = new OpenLayers.Size(20,80);
    //var calculateOffset = function(size) { return new OpenLayers.Pixel(-(size.w/2), -size.h); };
    //icon = new OpenLayers.Icon('img/mymarker.png', size, null, calculateOffset);

    markers = new OpenLayers.Layer.Markers( "маркеры",{
        'displayInLayerSwitcher':false,
        'maxExtent': new OpenLayers.Bounds(-8552, -5894, 6861, 5676),
        'maxResolution': "auto"
    });
    map.addLayer(markers);


//    map.zoomToMaxExtent();
//    map.zoomTo(2);

    var f;
    f=document.getElementById("defstreet");
    if (f!=null){
        streetName=f.value; f.value="";
    }
    f=document.getElementById("defhouse");
    if (f!=null){
        houseName=f.value; f.value="";
    }
    if ((streetName!='') &&(houseName!=''))
    {
        searchAddress('',streetName,houseName)
    }else{
      if (mobile==0) {map.setCenter(map.getCenter(), 2);}else {map.setCenter(map.getCenter(), 5);}
      //map.addControl(new OpenLayers.Control.LayerSwitcher());
    }
//    map.zoomToMaxExtent();
    var options = {
        layers: [wms.clone()],
        minRatio: 16,
        maxRatio: 256
    };
    var overview = new OpenLayers.Control.OverviewMap(options);
    
    map.addControl(overview);
    //раскрываем мини карту
    //overview.maximizeControl();


    map.events.register('click', map, function (e) {
	icon = new OpenLayers.Icon('img/mymarker.png', size, null, calculateOffset);
        OpenLayers.Util.getElement('nodeList').innerHTML = loadHtmMap;

        //if ( (Windows.getWindow("win1")!=null) ||(win!=null)) {
        ////}

        //на острие курсора
        e.xy.x=e.xy.x-9;
        e.xy.y=e.xy.y-7;
	
        if (BrowserDetect.browser == "Opera"){
		if (BrowserDetect.version < 9.5){
	        e.xy.y=e.xy.y-83;
		e.xy.x=e.xy.x+9;
		}
		if (BrowserDetect.version < 9.2){
		alert ("Рекомендуем обновить браузер. В данной версии сайт может работать не коректно.");		
		}
	}

        //if (simple!=1){
        //win.moveTo(e.xy.x-70, "middle");
        win.moveTo(e.xy.x-70, e.xy.y+10);
        setWinDopInfotoLoad();
        //}

            var url =  wms.getFullRequestString({
            REQUEST: "GetFeatureInfo",
            EXCEPTIONS: "application/vnd.ogc.se_xml",
            BBOX: wms.map.getExtent().toBBOX(),
            X: e.xy.x,
            Y: e.xy.y,
            INFO_FORMAT: "gml",
            //            QUERY_LAYERS: wms.params.LAYERS,
            QUERY_LAYERS: "narugka,housesnom",
            WIDTH: wms.map.size.w,
            HEIGHT: wms.map.size.h
            });
	    
//         alert(url);
        var ll=map.getLonLatFromPixel(e.xy);
	markers.clearMarkers();
        markers.addMarker(new OpenLayers.Marker(ll, icon));
//alert (url);
//        alert(httpRequest.readyState);
        OpenLayers.loadURL(url, '', this, setMapInfo);

        //            makeRequest(url,setMapInfo);
        //            jQuery.get(url,null,setMapInfo);
        OpenLayers.Event.stop(e);
        return false;
    });

    return true;
}

function showmap(lat, lot,addr){
    var zoom=5;
    markers.addMarker(new OpenLayers.Marker(new OpenLayers.LonLat(lat,lot), icon));
    map.setCenter(new OpenLayers.LonLat(lat, lot), zoom);
    return true;
}

function searchOnMap(){
    var url="";
    streetName=streetName.toUpperCase();
    houseName=houseName.toUpperCase();
    if ((streetName!='')&&(houseName!='')){
        url=encodeURI(mappath+"&layer=housesnom&qlayer=housesnom&qstring=(('[HOME]'='"+(houseName)+"')AND('[STREET]'='"+(streetName)+"'))&mode=itemnquery");
    }
    if ((houseName!='')&&(streetName=='')){
        url=encodeURI(mappath+"&layer=housesnom&qlayer=housesnom&qstring=(('[HOME]'='"+houseName+"'))&mode=itemnquery");
    }

    if ((houseName=='')&&(streetName!='')){
        url=encodeURI(mappath+"&layer=housesnom&qlayer=housesnom&qstring=(('[STREET]'='"+streetName+"'))&mode=itemnquery");
    }

    //alert(url);
    if (url!=''){
	var size = new OpenLayers.Size(26,46);
	var calculateOffset = function(size) { 
        return new OpenLayers.Pixel(-(size.w), -size.h);
	};
	icon = new OpenLayers.Icon('img/mymarker.png', size, null, calculateOffset);
        OpenLayers.Util.getElement('nodeList').innerHTML=loadHtmMap;
        makeRequest(url,setMapInfoToShow);
    }else { 
        alert("Заполните поля адреса");
    }
    return true;
}


function searchAddress(t,s,h){

    streetName=s.toUpperCase();
    houseName=h.toUpperCase();

    setTab("dtmap");
    markers.clearMarkers();
    setWinDopInfotoLoad();
    searchOnMap();
    createDopInfo(t,s,h);
    return true;
}

function clearmap(){
    var f;
    f=document.getElementById("instreet");
    f.value="";
    f=document.getElementById("inhouse");
    f.value="";

}
function searchAddr(){
    var f;
    f=document.getElementById("instreet");
    streetName=f.value.trim();
    f=document.getElementById("inhouse");
    houseName=f.value.trim();
    if ((streetName!="")&&(houseName!="")){
        searchAddress('',streetName,houseName);
    }else{
        alert("Заполните поля адреса (улица, дом).");
    }
    //searchOnMap();
    return false;

}
//------------ конец карты --------------------------



//-------------------------------- ajax ----------------------------------------
function makeRequest(url, procname) {
    var httpRequest;

    if (window.XMLHttpRequest) { // Mozilla, Safari, ...
        httpRequest = new XMLHttpRequest();
        if (httpRequest.overrideMimeType) {
            httpRequest.overrideMimeType('text/xml');
        // See note below about this line
        }
    }
    else if (window.ActiveXObject) { // IE
        try {
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {}
        }
    }

    if (!httpRequest) {
        alert('Ошибка получения данных от сервера, обновите страницу.');
        return false;
    }
    httpRequest.onreadystatechange =function() {
        procname(httpRequest);
    };
    try {
        httpRequest.open("POST", url, true);
	//alert (httpRequest);
    } catch (e) {
        alert(e);
    }
    //  httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
    httpRequest.send(null);
}

/*
// 2005-03-21
// Copyright (c) Art. Lebedev | http://www.artlebedev.ru/
// Author - Vladimir Tokmakov
*/



function Make_Tabsheet(){
    var i, j, k, eDD, iMax_height, iDT_height, aeDL_child, sDD_inner_HTML
    var bFirst_tab = true
    var aeDl = document.getElementsByTagName( "DL" )

    for( i = 0 ; i < aeDl.length ; i++ ){
        if( aeDl[i].className == "tabsheets" && aeDl[i].offsetHeight == 99 ){ // ���� � ��� ��������� CSS, �� ������ ������ � tabsheet-��
            aeDL_child = aeDl[i].childNodes
            iMax_height = 0
            for( j = 0 ; j < aeDL_child.length ; j++ ){
                if( aeDL_child[j].nodeName == "DT" ){
                    iDT_height = aeDL_child[j].offsetHeight
                    aeDL_child[j].unselectable = true
                    aeDL_child[j].onmousedown = Switch_sheet
                    eDD = aeDL_child[j]
                    while( eDD.nextSibling ){
                        eDD = eDD.nextSibling
                        if( eDD.nodeName == "DD" ){
                            if( eDD.offsetHeight > iMax_height ){
                                iMax_height = eDD.offsetHeight
                            }
                            if( !bFirst_tab ){
                                eDD.className = "inactive"
                            }else{
                                aeDL_child[j].className = "active"
                            }
                            bFirst_tab = false
                            break
                        }
                    }
                }
            }
            aeDl[i].style.height = (iMax_height + iDT_height) * 1 + "px"
            for( j = 0 ; j < aeDL_child.length ; j++ ){
                if( aeDL_child[j].nodeName == "DD" ){
                    aeDL_child[j].style.height = iMax_height + "px"
                }
            }
        }
        return true
    }
}

function Switch_sheet( e ){
    // спрятал окно доп инфы
    win.hide();

    var eTab = e ? e.target : window.event.srcElement
    if( eTab.nodeType == 3){
        eTab = eTab.parentNode
    }
    var eSheet = eTab
    while( eSheet.nextSibling ){
        eSheet = eSheet.nextSibling
        if( eSheet.nodeName == "DD" ){
            break
        }
    }

    if( eSheet.className == "inactive" ){
        eTab.className = "on"
        var aeDL_child = eTab.parentNode.childNodes

        for( var i = 0 ; i < aeDL_child.length ; i++ ){
            if( aeDL_child[i].nodeName == "DT" && aeDL_child[i].className != "on" ){
                aeDL_child[i].className = ""
            }else if( aeDL_child[i].nodeName == "DD" ){
                aeDL_child[i].className = "inactive"
            }
        }
        eSheet.className = "active"
        eTab.className = "active"
    }
    return false
}






