var obj_opened = false;
function showAddress2(city_title,street,status) {
	if(map)
	  map.clearOverlays();                            
   var address="";
   address=city_title+','+street;
   if (geocoder) {                 
      geocoder.getLatLng(address,function(point) {            
       if(point) {                     
       	 var bounds = new GLatLngBounds();  
          bounds.extend(point);
          if(street)              
             var new_zoom=map.getBoundsZoomLevel(bounds)-2;                       
          else
             var new_zoom=11;                            
          map.setCenter(bounds.getCenter(),new_zoom);                                     
          zoom_change(map.getZoom());
          bounds1=map.getBounds();
          GetMapBounds(bounds1,'showaderss2');
          changePK(0);    
          start_bounds=0;         
          if(status==0) {
            status_vkladka=0;
            doLoad('filter_tbl_sale','cfilter',ge('saleFrm'));                                      
          }       
          else if(status==1) {
            status_vkladka=1;
            doLoad('filter_tbl_rent','cfilter',ge('rentFrm'));                                                      
          }                               
          else if(status==2) {
          	status_vkladka=2;
            doLoad('filter_tbl_sold','cfilter',ge('soldFrm'));                                                                                                                
          }       
          else if(status==3) {       
            status_vkladka=3;
            doLoad('filter_tbl_mmm','cfilter',ge('mmmFrm'));                                                                                                
          }       
          else if(status==6)
          {       
            status_vkladka=6;
            doLoad('filter_tbl_hlh','cfilter',ge('hlhFrm'));                                                                                                
          }
          else if(status==5)
          {       
             status_vkladka=5;
             doLoad('filter_tbl_opo','cfilter',ge('opoFrm'));                                                                                                                                                                                                
          }
          else
          {
             status_vkladka=-1;
             doLoad('content','newout',document.getElementById('allFrm'));                                           
          }                                       
          firstRun=0;  
       }
       else
       {
       	elementInner('map_info','По вашему запросу объекты не найдены.');                       
         block_none('loading_div');
       }
     }
  );
 }
}  
function ReCount(count,list)
{     if(count)



   {



        elementInner('cnt_all','('+count.all+')');



        elementInner('cnt_sale_all','('+count.sale+')');



        elementInner('cnt_rent_all','('+count.rent+')');



        elementInner('cnt_sold_all','('+count.sold+')');



        elementInner('cnt_mmm_all','('+count.mmm+')');



        elementInner('cnt_hlh_all','('+count.hlh+')');



        elementInner('cnt_opo_all','('+count.opo+')');



   }  



   if(list)



   {                    



 



        var b=new Array();              
        for(i=0;i<list.length;i++)        {     
                                        b=list[i];              
                        elementInner('cnt_'+b.id,'('+parseInt(b.cnt)+')');       
        }                                               
    }  
}      

function doLoad4(id,act,obj) {          
          var req = new JsHttpRequest();            
    req.onreadystatechange = function()     {                   
        if (req.readyState == 4) {                                                 

                              var tabs = new Array();                         
                                switch (act)

                                {
                                        case 'window_info':                             
                                                tabs[0]=new GInfoWindowTab('Объект',req.responseJS['info']);
                                                tabs[1]=new GInfoWindowTab('Контакты',req.responseJS['contact']);                                                  
                                                ge('listct'+req.responseJS['id']).className='listCTY';
                                                obj.openInfoWindowTabsHtml(tabs);               
                                               obj_opened = id;
                                        break;
                                        case 'window_info_city':

                                                tabs[0]=new GInfoWindowTab('Информация',req.responseJS['info']);                                                

                                                obj.openInfoWindowTabsHtml(tabs);               



                                        break;



                                        case 'window_info_areas':



                                        tabs[0]=new GInfoWindowTab('Информация',req.responseJS['info']);                                                



                                                obj.openInfoWindowTabsHtml(tabs);               



                                        break;                                  



                                }        



        



                }



    }        



    req.caching = true; 



    req.open(null, '/dom_act.php', true);    



    rnd = Math.random(1);



    req.send({id:id,act:act,rnd:rnd});          



}               



function doLoad5(id,act) {              



        



          var req = new JsHttpRequest();            



    req.onreadystatechange = function()     {                   



        if (req.readyState == 4) {                                      



                        var point = new GLatLng(req.responseJS['x'],req.responseJS['y']);                                                       



                        map.setCenter(point, zoom);



        }        



        



    }        



    req.caching = true; 



    req.open(null, '/dom_act.php', true);    



    rnd = Math.random(1);



    req.send({id:id,act:act,rnd:rnd});          



}               



function doLoad3(div,act,value) {               



        



        block_yes('loading_div');               



    var req = new JsHttpRequest();            



    req.onreadystatechange = function()     {                   



        if (req.readyState == 4) {                                              



                        switch (act)



                        {



                                



                                case "view_favorite":                                   



                                        if(req.responseJS['list'])



                                        {



                                                if(req.responseJS['list'].length>0)                                     



                                                {



                                                        zoom=12;                                                                                                        



                                                        MarkerBild(req.responseJS['list'],req.responseJS['start'],req.responseJS['end']);                                                                                               



                                                }       



                                        }                               



                                elementInner(div,req.responseText);                                                                                                                                                                                                                                                                             



                        break;                  



                        case "view_objects":                                    



                                        if(req.responseJS['list'])



                                        {



                                                if(req.responseJS['list'].length>0)                                     



                                                {



                                                        zoom=11;



                                                        MarkerBild(req.responseJS['list'],req.responseJS['start'],req.responseJS['end']);



                                                }       



                                        }                               



                                elementInner(div,req.responseText);                                                                                                                                                                                                                                                                             



                        break;                                          



                        case "help":                            



                                size_screen();                                  



                                ge(div).style.left=parseInt(ScreenW/2)-200;                                     



                                elementInner(div,req.responseText);     



                                block_yes(div);                                 



                        break;



                        case "claim_send":                              



                        elementInner(div,req.responseText);                                                                                                                                                                                                                                                                             



                        break;



                                default:



                                        elementInner(div,req.responseText);                                                                                                                                                                                                                                                                             



                        }



                        block_none('loading_div');                              



        }        



        



    }



    



    // Prepare request object (automatically choose GET or POST).    



    req.caching = true; 



    req.open(null, '/dom_act.php', true);    



    rnd = Math.random(1);



    req.send({div:div,act:act,value:value,rnd:rnd});            



}



function showAddress(address,div) {            

        //ifr.document.getElementById('google_answer').innerHTML='';

    document.getElementById('google_answer').innerHTML='';

    if(parent.map)

       map=parent.map;         

    if(parent.geocoder)

    {

        geocoder=parent.geocoder;                               

    }       

    if(map) 

    {

       map.clearOverlays();                            

    }                       



      if (geocoder) {                 



                geocoder.getLatLng(address,function(point) {            



            if (!point) {               







                document.getElementById('google_answer').innerHTML="<font color=red>Адрес не найден, укажите самостоятельно.</font>";                                                   

                                        document.frmAdd.adr_flag.value=0;

                                        

                







                        ge('save_button').disabled = true;                                 



            } 



            else 



            {         



                        map.setZoom(16);



              marker_drag(point,status_marker);              



              



              document.getElementById('google_answer').innerHTML="<font color=green>Адрес найден.<br>Если положение объекта определилось НЕПРАВИЛЬНО, передвиньте его при помощи мыши.</font>";                                                                             

                                        document.frmAdd.adr_flag.value=2;

              ge('save_button').disabled = false;                                        







            }



         }



        );



      }



}      







function doLoad2(div,act,street,city,home) {            



        block_yes('loading_div');               



        



    var req = new JsHttpRequest();            



    req.onreadystatechange = function()     {           



        



        if (req.readyState == 4) {                                              



                        switch (act)



                        {



                                case "geocod":                                  



                                result_yn=0;                                                                                                            



                                if(req.responseJS['ok']==1)                             



                                {                                               



                                        marker_ok=1;



                                        showAddress(req.responseJS['adr'],div);



                                }                                               



                        break;                                                  



                                default:



                                        elementInner(div,req.responseText);                                                                                                                                                                                                                                                                             



                        }



                        block_none('loading_div');                              



        }        



        



    }



    



    // Prepare request object (automatically choose GET or POST).    



    req.caching = true; 



    req.open(null, '/dom_act.php', true);    



    rnd = Math.random(1);



    req.send({div:div,act:act,city_id:city,home:home,adr:street,rnd:rnd});      



}



function marker_drag(point,status_marker)

{               

        if(parent.map)

                map=parent.map;

        if(map)                

             map.clearOverlays();                          



        var micon = new GIcon(G_DEFAULT_ICON);

        micon.image = markerManyImage[status_marker];

        micon.shadow = "/d/img/marker/shadow.png";   

        var marker = new GMarker(point,{draggable:true,bouncy:true,icon:micon});

                map.addOverlay(marker);   

          document.frmAdd.x.value=parseFloat(marker.getPoint().lat());



        document.frmAdd.y.value=parseFloat(marker.getPoint().lng());                                                            

        

        var tmp_int=parseInt(document.frmAdd.adr_flag.value);

        if(tmp_int<1)

                document.frmAdd.adr_flag.value=1;//Адрес задан пользователем

                GEvent.addListener(marker,"dragend",function()

                {                                              

                        document.frmAdd.x.value=parseFloat(marker.getPoint().lat());

                        document.frmAdd.y.value=parseFloat(marker.getPoint().lng());

                        point=marker.getPoint();                

                        document.frmAdd.adr_flag.value=1;//Адрес задан пользователем

            map.panTo(point);                               

                 });    



        



   



   map.setCenter(point);        



   zoom_change(map.getZoom());



        



}







function ZMarker(point,i,id_obj,status) {



        



        var micon = new GIcon(G_DEFAULT_ICON);



        micon.image = markerManyImage[status];



//        alert(status);



        micon.shadow = "/d/img/marker/shadow.png";      



        markerMany[i] = new GMarker(point,{icon:micon});                        



        map.addOverlay(markerMany[i]);          



        GEvent.addListener(markerMany[i],"click",function()



   {



        doLoad4(id_obj,'window_info',markerMany[i]); 



        



   });  



   



   GEvent.addListener(markerMany[i],"infowindowbeforeclose",function()



   {                    



//          alert('f');



          ge('listct'+id_obj).className='listCT';



          obj_opened = false;



          map.returnToSavedPosition();



        



   });  



   



}



function ZMarkerAreas(point,i,id_obj,status,flag_city) {



        



        var micon = new GIcon(G_DEFAULT_ICON);



        



        if(flag_city==1)



        {



                micon.image = markerCityImage[status];



                if(status==0)



                {



                        var iconSize= new GSize(17,28);



                        var shadowSize= new GSize(21,19);



                }       



                else if(status==1)



                {



                        var iconSize= new GSize(25,43);



                        var shadowSize= new GSize(32,26);



                }       



                else if(status==2)



                {



                        var iconSize= new GSize(29,52); 



                        var shadowSize= new GSize(40,34);



                }       



                



                micon.shadow = markerCityShadowImage[status];



        }       



        else    



        {



                micon.image = markerAreasImage[status];         



                if(status==0)



                {



                        var iconSize= new GSize(17,19);



                        var shadowSize= new GSize(23,13);



                }       



                else if(status==1)



                {



                        var iconSize= new GSize(25,28);



                        var shadowSize= new GSize(34,19);



                }       



                else if(status==2)



                {



                        var iconSize= new GSize(29,32); 



                        var shadowSize= new GSize(42,23);



                }       



        



                micon.shadow = markerAreasShadowImage[status];



        }       



        



        



        



        



                



        micon.iconSize = iconSize;



      micon.shadowSize = shadowSize;



        markerMany[i] = new GMarker(point,{icon:micon});                        



        //markerMany[i] = new GMarker(point);                   



        map.addOverlay(markerMany[i]);



        //alert(point);



        GEvent.addListener(markerMany[i],"click",function()



   {                    



        if(flag_city==1)        



           doLoad4(id_obj,'window_info_city',markerMany[i]); 



        else    



           doLoad4(id_obj,'window_info_areas',markerMany[i]); 



        



   });  



   



   GEvent.addListener(markerMany[i],"infowindowbeforeclose",function()



   {                    



                  if(closeWindow==1)



                                map.returnToSavedPosition();            



   });  



        



        /*



        GEvent.addListener(markerMany[i],"click",function()



   {                    



        doLoad4(id_obj,'window_info',markerMany[i]); 



        



   });  



   



   GEvent.addListener(markerMany[i],"infowindowbeforeclose",function()



   {                    



          //map.panTo(point);     



          map.returnToSavedPosition();



        



   });  */



   



}



function MarkerBildAreas(list,flag_city)



{                                       



   var masD = new Array();                                              



   var j=0;



   var index='';   



   



   for(i=0;i<list.length;i++)



   {



                j++;                                                    



        index='d'+j;                    



      masD[index] = new Array();



      masD[index]['x']=list[i]['x'];      



      masD[index]['y']=list[i]['y'];   



      masD[index]['id']=list[i]['id'];      



      masD[index]['status']=list[i]['status'];                                                           



   }    



   masD['count']=j;                                             



   closeWindow=1;



   map_marker_array_Areas(masD,flag_city);  



}







function map_marker_array_Areas(arr,flag_city) {        



        



        markerMany.splice(0,markerMany.length)                  



        var j=0;        



        



        var id_obj=0;



        var bounds = new GLatLngBounds();       



        for(i=1;i<arr.count+1;i++)      



        {       



        



                var point = new GLatLng(eval('arr.d'+i+'.x'),eval('arr.d'+i+'.y'));                             



                if(eval('arr.d'+i+'.id'))



                        id_obj=eval('arr.d'+i+'.id');



        else



                        id_obj=0;       



                



        var status=eval('arr.d'+i+'.status');           



        



        



        ZMarkerAreas(point,j,id_obj,status,flag_city);



        j++;



        }                







        map.savePosition();



}



function MarkerBild(list,start,end)



{                                       



   var masD = new Array();                                              



   var j=0;



   var index='';   



   



   for(i=0;i<list.length;i++)



   {



                j++;                                                    



        index='d'+j;                



      masD[index] = new Array();
      masD[index]['x']=list[i]['x'];
      masD[index]['y']=list[i]['y'];
      masD[index]['id']=list[i]['id'];
      masD[index]['status']=list[i]['status'];
      if((i>=start) && (i<end))



        masD[index]['out']=1;//Выводить на карту



      else



        masD[index]['out']=0;//Не выводить на карту      



   }



   masD['count']=j;                                             



   map_marker_array(masD);  



}



// Ставит на карте сразу много маркеров из массива



function map_marker_array(arr) {        



        



        markerMany.splice(0,markerMany.length)                  



        var j=0;        



        



        var id_obj=0;



        var bounds = new GLatLngBounds();       



        for(i=1;i<arr.count+1;i++)      



        {       



                var outmarker=eval('arr.d'+i+'.out');            



                var point = new GLatLng(eval('arr.d'+i+'.x'),eval('arr.d'+i+'.y'));                             



                if(outmarker==1)



        {               



                



                if(eval('arr.d'+i+'.id'))



                        id_obj=eval('arr.d'+i+'.id');



                else



                        id_obj=0;       



                var status=eval('arr.d'+i+'.status');           



                ZMarker(point,j,id_obj,status);



                j++;



        }       



        bounds.extend(point);                                           



        }         



         







        if(pKey==1)



        {       



                firstRun=1;             



                var new_zoom=map.getBoundsZoomLevel(bounds);            



                map.setCenter(bounds.getCenter(),new_zoom);     



                zoom_change(map.getZoom());



                var bounds1=map.getBounds();



                GetMapBounds(bounds1,'map_marker_array');                                                       



                firstRun=0;             



        }



        if(pKey==3)//Режим для отдельного избранного на карте



        {



                



                var new_zoom=map.getBoundsZoomLevel(bounds);            



                map.setCenter(bounds.getCenter(),new_zoom);     



                zoom_change(map.getZoom());



        }



        map.savePosition();



}



//Переход в конкретную точку



function mapGoToPoint(point)



{       



        if(map)         



        {



                map.setCenter(point, zoom);



                zoom_change(map.getZoom());



        }       



}







function elementInner(id,text)



{



        if(d.getElementById(id))



                d.getElementById(id).innerHTML=text;



}               







function tovar_mouseover(tovar_id){







  if(!obj_opened){



    block_yes('nav'+tovar_id);



    ge('listct'+tovar_id).className='listCTY';



  } else {



    block_yes('nav'+tovar_id);



  }







}







function tovar_mouseout(tovar_id){







  if(!obj_opened){



    block_none('nav'+tovar_id);



    ge('listct'+tovar_id).className='listCT';



  } else {



    block_none('nav'+tovar_id);



  }







}











function open_info_from_list(tovar_id,pos){



      if(tovar_id != obj_opened){



        map.returnToSavedPosition();



        obj_opened=tovar_id;



        doLoad4(tovar_id,'window_info',markerMany[pos]);        



        if(is_ie){



           document.body.scrollTop = 0;



        } else {



           window.scroll(0,0);



        }



      }



}











// это IE ?



function is_ie(){



        if(navigator.userAgent.indexOf("MSIE") > -1){



           return true;



        } else {



           return false;



        }



}











// это ФФ?



function is_ff(){



        if(navigator.userAgent.indexOf("Firefox") > -1){



           return true;



        } else {



           return false;



        }



}











// Ставит маркер



function map_marker(mark) {             



        



if(map) {



        if(mark.center){                



        map.setCenter(new GLatLng(mark.x,mark.y), mark.center);



        zoom_change(map.getZoom());



        }       



   var point = new GLatLng(mark.x,mark.y);       



        if(mark.icon){



                var marker = new GMarker(point, {icon:mark.icon});



        }else{    



        var marker = new GMarker(point);



        }               



    map.addOverlay(marker);            



    if(mark.hint){      



        marker.openInfoWindowHtml(mark.hint);



    }    



    return marker;



        }



}



var dat5;



var dat6;



var dat7;



var dat8;



function doLoad(div,act,value) {                                



        var req = new JsHttpRequest();                  



        block_yes('loading_div');               



//alert(div+'-'+act);



//      if(ge('map'))



//              ge('map').className='map_op';    



    req.onreadystatechange = function()     {                   



        if (req.readyState == 4) {                                                                              







                        switch (act)



                        {



                        



                                case "changeActive":                            



                                        if(req.responseJS['okey']==1)



                                        {



//                                                        if(value['reload']){



//                                                          ge('row_'+value['id']).style.display = 'none';



//                                                        } else {



                                                          elementInner(div,req.responseText);



//                                                        }



                                        }



                                break;    



                                        case "cfilter":      



                                                hidden_load=0;                                                  



                                                elementInner(div,req.responseText);                                                             



                                        if(status_vkladka==0)



                                                        doLoad('content','newout',ge('saleFrm'));



                                                if(status_vkladka==1)



                                                        doLoad('content','newout',ge('rentFrm'));       



                                                if(status_vkladka==2)



                                                        doLoad('content','newout',ge('soldFrm'));               



                                                if(status_vkladka==3)



                                                        doLoad('content','newout',ge('mmmFrm'));                        



                                                if(status_vkladka==6)



                                                        doLoad('content','newout',ge('hlhFrm'));                                



                                                if(status_vkladka==5)



                                                        doLoad('content','newout',ge('opoFrm'));                                        



                                                if(status_vkladka==-1)  



                                                        doLoad('content','newout',ge('allFrm'));                                                                



                                break;                          



                                case "loadAreas":



                                        if(is_gmap==1)



                                        {



                                                map.clearOverlays();    //Очищаем карту                                 



                                                map.setCenter(new GLatLng(req.responseJS.x,req.responseJS.y), 12);



                                                zoom_change(map.getZoom());



                                                d.frmAdd.x.value=0;



                                                d.frmAdd.y.value=0;



                                                ge('save_button').disabled = true;  //Блокируем кнопку сайва                                                                                                    



                                                elementInner(div,req.responseText);     



                                        }       



                                break;



                                case "search":



                                        if(is_gmap==1)



                                        {



                                                map.clearOverlays();                                            



                                                start_bounds=0;



                                                if(req.responseJS['okey']==1)



                                                {



                                                        status_vkladka=4;                                       



                                                        changePK(1);                                    



                                                        if(req.responseJS['list'])



                                                        {



                                                                if(req.responseJS['list'].length>0)                                     



                                                                {       



                                                                        zoom=12;                                                                                                        



                                                                        MarkerBild(req.responseJS['list'],req.responseJS['start'],req.responseJS['end']);                                                                                               



                                                                }       



                                                        }                                                       



                                                        elementInner(div,req.responseText);                     



                                                        elementInner('map_info','');                                                                    



                                                }                                       



                                                else



                                                {



                                                        elementInner('map_info','По вашему запросу объекты не найдены. ');                       



                                                }       



                                        }                                       



                                break;                          



                                case "loadType":



                                        elementInner(div,req.responseText);                                             



                                        doLoad('frmtype','loadFrm',{tovar_type:req.responseJS['first'],status:req.responseJS['status'],my_mas:ge('frmAdd')});



                                break;



                                case "goto":



                                        if (GBrowserIsCompatible()) {                                                                                                                                                           



                                                map_marker({x:req.responseJS['list']['x'],y:req.responseJS['list']['y'],center:16,hint:req.responseJS['list']['title']});                                                                                                                       



                                                }       



                                break;



                                case 'newout':  



                                        ReCount(req.responseJS['count'],req.responseJS['list_my']);                                                     



                                        if(req.responseJS['areas']==1)                                                                  



                                        {



                                                



                                                map.clearOverlays();     



                                                if(req.responseJS['list'])                                      



                                                {                                                       



                                                        



                                                        MarkerBildAreas(req.responseJS['list'],req.responseJS['flag_city']);                                                                    



                                                        elementInner('map_info','');    



                                                        //ReCount(req.responseJS['count'],req.responseJS['list_my']);                                                   



                                                }       



                                                else



                                                elementInner('map_info','По вашему запросу объекты не найдены. ' );                       



                                        }



                                        else



                                        {



                                                firstRun=1;



                                                if(is_gmap==1)                                  



                                                {                                               



                                                        map.clearOverlays();                                                                                                                    



                                                        if(req.responseJS['list'])                                      



                                                        {                                                       



                                                                zoom=12;                                                                                                                                                                                                



                                                                MarkerBild(req.responseJS['list'],req.responseJS['start'],req.responseJS['end']);                                                                                               elementInner('map_info','');                    



                                                        }                



                                                        else



                                                        {



                                                        elementInner('map_info','По вашему запросу объекты не найдены. ');                       



                                                }



                                                //ReCount(req.responseJS['count'],req.responseJS['list_my']);                                                   



                                                }



                                                else



                                                {                                               



                                                        my_answer_ajax=1;



                                                        my_list_count=req.responseJS['count'];



                                                        my_list_count2=req.responseJS['list_my'];                                               



                                                        if(req.responseJS['list'])                                      



                                                        {                                                                                                                       



                                                                my_answer_ajax_list=1;



                                                                my_list_load=req.responseJS['list'];



                                                                my_list_start=req.responseJS['start'];



                                                                my_list_end=req.responseJS['end'];                                                      



                                                                elementInner('map_info','');    



                                                        }       



                                                        else



                                                        {                                                       



                                                                elementInner('map_info','По вашему запросу объекты не найдены. ');                       



                                                        }                                               



                                                 }                                                                                                                      



                                        



                                          }



                                          hidden_load=1;



                                          firstRun=0;



                                          elementInner(div,req.responseText);                                                                                                                                                                                                                                                                                                                                                           



                                break;                          



                                case 'MostPopular':





                                        if(is_gmap==4 && req.responseJS['list'])

                                        {                                               



                                                map.clearOverlays();    



                                        var bounds = new GLatLngBounds();





                                                        for(i=1;i<req.responseJS['list'].length;i++)    



                                                        {       



                                                                var point = new GLatLng(req.responseJS['list'][i].x,req.responseJS['list'][i].y);



                                                        bounds.extend(point);                                           



                                                        }                                                                                                                                                                                                                                                                                       



                                var new_zoom=map.getBoundsZoomLevel(bounds);            



                                                        map.setCenter(bounds.getCenter(),new_zoom);     



                                                        zoom_change(map.getZoom());



                                                        var bounds1=map.getBounds();



                                                        GetMapBounds(bounds1,'popular');                                                                                                                



                                                        start_bounds=0;                                           



                                                if(req.responseJS['list'])



                                                {                                                                                               



                                                                                                                                                                



                                                                MarkerBild(req.responseJS['list'],req.responseJS['start'],req.responseJS['end']);                                                                                               



                                                                elementInner('map_info','');                                            



                                                }                               



                                                else



                                                {                                                       



                                                        elementInner('map_info','По вашему запросу объекты не найдены. Двигай карту');                                                                                                                                               



                                                }                                       



                                        }



                                                elementInner(div,req.responseText);  



                                                firstRun=0; 



                                        break;                                  



                                case "addFav":



                                        if(req.responseJS['error']==0)                          



                                {



                                        elementInner(div,req.responseText);                             



                                        alert('Объект успешно добавлен в избранное');



                                }



                                else if(req.responseJS['error']==1)



                                        alert('Необходимо авторизоваться.');



                                else if(req.responseJS['error']==2)



                                        alert('Уже есть в избранном.'); 



                                break;



                                case "ReloadPhoto":                                     



                                                elementInner(div,req.responseText);                                                                                                                                                                                                                                                                                                             



                                break;



                                case "make_active_list":                                     



                                                elementInner(div,req.responseText);                                                                                                                                                                                                                                                                                                             



                                break;



                                case "addQuest":                                     



                                                elementInner(div,req.responseText);



                                                ge('question').value = '';



                                                ge('user_name').value = '';



                                break;



                                case "newperiod":                                       



                                                elementInner(div,req.responseText);                                                                                                                                                                                                                                                                                                             



                                                elementInner(req.responseJS['div2'],req.responseJS['text2']);                                                                                                                                                                                                                                                                                                           



                                break;



                                case "delete_my":                                       



                                                elementInner(div,req.responseText);



                                                elementInner(req.responseJS['div2'],req.responseJS['mes']);



                                                elementInner(req.responseJS['div3'],req.responseJS['mes']);



                                                elementInner(req.responseJS['div4'],req.responseJS['mes']);



                                                elementInner(req.responseJS['div5'],'');



                                break;



                                case "geocod":



                                result_yn=0;



                                if(req.responseJS['ok']==1)



                                {



                                        marker_ok=1;



                                        showAddress(req.responseJS['adr'],div,req.responseJS['answer'],req.responseJS['answer2']);



                                }



                        break;                                                                          



                        case "city_list_alpha":



                              elementInner(div,req.responseText);



                        break;



                



                                default:



                                        elementInner(div,req.responseText);



                        }               



                pressRazdel=0;                  



                if(hidden_load==1)



                {



//                      if(ge('map'))



//                              ge('map').className='map';              



                        block_none('loading_div');      



                }                                          



        }              ////end 4



   



    }



    // Prepare request object (automatically choose GET or POST).    



    



    req.caching = true; 



    req.open(null, '/dom_act.php', true);        



   



    rnd = Math.random(1);               



    req.send({div:div,act:act,value:value,city_id:city_id,rnd:rnd,mapXY:mapXY,pressRazdel:pressRazdel,status_vkladka:status_vkladka,md:md,sort_direction:sort_direction,sort_var:sort_var,zoom:zoom});



        



}











function serialize( mixed_value ) {



    // http://kevin.vanzonneveld.net



    // +   original by: Arpad Ray (mailto:arpad@php.net)



    // %          note: Aiming for PHP-compatibility, we have to translate objects to arrays







 



    var _getType = function( inp ) {



        var type = typeof inp, match;



        if (type == 'object' && !inp) {



            return 'null';



        }



        if (type == "object") {



            if (!inp.constructor) {



                return 'object';



            }



            var cons = inp.constructor.toString();



            if (match = cons.match(/(\w+)\(/)) {



                cons = match[1].toLowerCase();



            }



            var types = ["boolean", "number", "string", "array"];



            for (key in types) {



                if (cons == types[key]) {



                    type = types[key];



                    break;



                }



            }



        }



        return type;



    };



    var type = _getType(mixed_value);



    



    var val;



    switch (type) {



        case "undefined":



            val = "N";



            break;



        case "boolean":



            val = "b:" + (mixed_value ? "1" : "0");



            break;



        case "number":



            val = (Math.round(mixed_value) == mixed_value ? "i" : "d") + ":" + mixed_value;



            break;



        case "string":



            val = "s:" + mixed_value.length + ":\"" + mixed_value + "\"";



            break;



        case "array":



        case "object":



            val = "a";



            /*



            if (type == "object") {



                var objname = mixed_value.constructor.toString().match(/(\w+)\(\)/);



                if (objname == undefined) {



                    return;



                }



                objname[1] = serialize(objname[1]);



                val = "O" + objname[1].substring(1, objname[1].length - 1);



            }



            */



            var count = 0;



            var vals = "";



            var okey;



            for (key in mixed_value) {



                okey = (key.match(/^[0-9]+$/) ? parseInt(key) : key);



                vals += serialize(okey) +



                        serialize(mixed_value[key]);



                count++;



            }



            val += ":" + count + ":{" + vals + "}";



            break;



    }



    if (type != "object" && type != "array") val += ";";



    return val;



}











function saveImages(formId)



{



        var imgDump=[];



        if(document.all.img_data)



        {



                for(i=0; i<document.all.img_data.length; i++)



                {



                        imgId=document.all.img_data[i].value;



                        imgWeight=document.getElementById('img_weight_'+imgId).value;



                        imgTitle=document.getElementById('img_title_'+imgId).value;



                        imgDump[imgId]={weight: imgWeight, title: imgTitle};



                }



                



                if(!document.all.img_data.length)



                {



                        imgId=document.all.img_data.value;



                        imgWeight=document.getElementById('img_weight_'+imgId).value;



                        imgTitle=document.getElementById('img_title_'+imgId).value;



                        imgDump[imgId]={weight: imgWeight, title: imgTitle};



                }



        }



        document.forms[formId].picturesData.value=serialize(imgDump);



}



