﻿var mapID; var geoResult; var gt_placemark; var geocoder; var isShowAdress=0; var map; 
var isMapShowing=0; var BContent; var BTitle;
var showAddressValue; var gt_placemark;

var isEditingShow=1;
var YMW='450px';var YMH='300px';
var FC1;var FC2;
var MC1=-1;var MC2=-1;
var MPZ=15;
var Price_Day_To_Changed=0;
var Price_Week_To_Changed=0;
var Price_Week_From_Changed=0;
var Price_Mounth_From_Changed=0;
var Price_Mounth_To_Changed=0;

function Refresh_PriceValues(){
	    
	    var TVar=document.getElementById('price_day_from').value;
	    
	    if (TVar=='')
          return;
      TVar=TVar.replace(/^\s+|\s+$/g, '');
      if (TVar[TVar.length-1]=='!')
      {
        var temp = new Array();
        temp =TVar.split('!');
        document.getElementById('price_day_from').value=temp[0];
        return;
      }
      document.getElementById('price_day_from').value=TVar;
      var From_Value = 	TVar;
      var To_Value  =   From_Value * 1.25;
      if(Price_Day_To_Changed==0||document.getElementById('price_day_to').value=='')
      {
        document.getElementById('price_day_to').value=Math.round(To_Value);
        Price_Day_To_Changed=0;
      }
      if(Price_Week_From_Changed==0||document.getElementById('price_week_from').value=='')
      {
        document.getElementById('price_week_from').value=Math.round(From_Value * 7 * 0.85);
        Price_Week_From_Changed=0;
      }      
      if(Price_Week_To_Changed==0||document.getElementById('price_week_to').value=='')
      {
        document.getElementById('price_week_to').value=Math.round(To_Value * 7 * 0.85);
        Price_Day_To_Changed=0;
      }      
      if(Price_Mounth_From_Changed==0||document.getElementById('price_mounth_from').value=='')
      {
        document.getElementById('price_mounth_from').value=Math.round(From_Value * 30 * 0.70);
        Price_Mounth_From_Changed=0;
      }      
      if(Price_Mounth_To_Changed==0||document.getElementById('price_mounth_to').value=='')
      {
        document.getElementById('price_mounth_to').value=Math.round(To_Value * 30 * 0.70);
        Price_Mounth_To_Changed=0;
      }
	}
 	function Refresh_gt_box() {
		var gt_t="Одесса, ";
		gt_t=gt_t+document.getElementById('street').value;
		gt_t=gt_t+' ,';
		if(!document.getElementById('housenumer')||!document.getElementById('housenumer').value
		||document.getElementById('housenumer').value==""
		||document.getElementById('housenumer').value.replace(' ','')=="")
			gt_t=gt_t+document.getElementById('street2').value;
		else
			gt_t=gt_t+document.getElementById('housenumer').value;
		document.getElementById('gt_address').value=gt_t;
	}
 	function RefreshTextBoxes () {
		if (geoResult)
		{
			document.getElementById('flat_c1').value=geoResult.getGeoPoint().getLat();
			document.getElementById('flat_c2').value=geoResult.getGeoPoint().getLng();
		}
		document.getElementById('map_c1').value=map.getCenter().getLat();
		document.getElementById('map_c2').value=map.getCenter().getLng();
		document.getElementById('map_zoom').value=map.getZoom();
			
	}
        function geoResultObserv() {
                YMaps.Events.observe(geoResult, geoResult.Events.Drag, function (mEvent) {
                    //setBalloonInfo(geoResult, mEvent.getGeoPoint());
		    RefreshTextBoxes ();	
                })
  	}	
 
        function showAddress () {
            map.removeOverlay(geoResult);
            var geocoder = new YMaps.Geocoder(showAddressValue, {results: 1, boundedBy: map.getBounds()});

            YMaps.Events.observe(geocoder, geocoder.Events.Load, function () {
                if (this.length()) {
                    geoResult = this.get(0);
		    geoResult.setIconContent('Перетащите этот значок на нужное вам положение');
		    geoResult.setOptions({draggable: true, hideIcon: false});	
                    map.addOverlay(geoResult);
                    map.setBounds(geoResult.getBounds());
	            RefreshTextBoxes();	
		    geoResultObserv();	
                }else {
                    alert("Ничего не найдено");
                }
            });
        }

        function init () {
            if (isMapShowing==1)
	    { 
		if(isShowAdress==1)
			showAddress();
		return;
            }
            isMapShowing=1; 
	    document.getElementById(mapID).style.width  = YMW;
	    document.getElementById(mapID).style.height = YMH;
	    map = new YMaps.Map(document.getElementById(mapID));
	    //map.enableScrollZoom();
	    map.addControl(new YMaps.Zoom());
      if(MC1==-1)
          MC1=FC1;          
      if(MC2==-1)
          MC2=FC2;
        
      map.setCenter(new YMaps.GeoPoint(MC1,MC2), MPZ);
            
	    if (isEditingShow==1)
	    {
		YMaps.Events.observe(map, map.Events.Update, function (mEvefnsst) {	
		    	RefreshTextBoxes();
		});
		YMaps.Events.observe(map, map.Events.Move, function (mEdvefnsst) {	
		    	RefreshTextBoxes();
		});

		YMaps.Events.observe(map, map.Events.Click, function (mEvent) {
		    var newGeoPoint = mEvent.getGeoPoint();
                    geoResult.setGeoPoint(newGeoPoint);
		    geoResultObserv();
                });
		
	    if (document.getElementById('flat_c1').value=="")
		RefreshTextBoxes();
	    }
	    if(!isEditingShow) 
            {			
		placemark= new YMaps.Placemark(new YMaps.GeoPoint(FC1,FC2));
	        map.addOverlay(placemark);   
		placemark.setBalloonContent(BContent);
	    	placemark.setIconContent(BTitle);
  	    }
	    else if(!isShowAdress)
	    {
		    map.removeOverlay(geoResult);	
		    geoResult = new YMaps.Placemark(new YMaps.GeoPoint(FC1,FC2));
		    geoResult.setIconContent('Перетащите этот значок на нужное вам положение');
		    geoResult.setOptions({draggable: true, hideIcon: false});	
                    map.addOverlay(geoResult);
		    geoResultObserv();
	    }		
	    var ua = navigator.userAgent.toLowerCase();	
	    var mapID_A=mapID+'_A';
	    var fun = "mapID='"+ mapID + "'; closemap();";
	    if (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1 && document.getElementById(mapID_A)) 
            	document.getElementById(mapID_A).setAttribute("onclick",new Function (fun));
 	    else if(document.getElementById(mapID_A))
			document.getElementById(mapID_A).setAttribute("onclick",fun);	
	   
		if(document.getElementById(mapID_A))
			document.getElementById(mapID_A).innerHTML= 'Скрыть карту';
	    if(isShowAdress==1)
		showAddress();
			
        }

        function closemap () {
	    isMapShowing=0;
	    document.getElementById(mapID).style.width  = '0px';
	    document.getElementById(mapID).style.height = '0px';
            map = new YMaps.Map(document.getElementById(mapID));
            map.destructor();    	
	    var mapID_A=mapID+'_A';
            var ua = navigator.userAgent.toLowerCase();   
	    var fun = "mapID='"+ mapID+ "'; YMaps.load(init);";
	    if (ua.indexOf("msie") != -1 && ua.indexOf("opera") == -1 && ua.indexOf("webtv") == -1 && document.getElementById(mapID_A)) 
            	document.getElementById(mapID_A).setAttribute("onclick",new Function (fun));
 	    else
		document.getElementById(mapID_A).setAttribute("onclick",fun);	
	    document.getElementById(mapID_A).innerHTML= 'Показать на карте';
        }

