var globalresult;

var Tipsz;

var mmwidth, mmheight, mmmap, mmzoom, mmtype, mmicon;
var mmicon2='1';
var mmcontrol2='1';
var mmtype2='1';
var markerset=false;
var Icon1,Icon2,Icon3,Icon4,Icon5,Icon6,Icon7;
var latlng;
var marker, newCenter;
var geocoder;

var res1e, res2e, res1b, res2b, ef;
var nslider1, nslider2;

var mmlng=gilat;
var mmlat=gilng;

var el1, el2;

var mmcontrol = new Array();
var Icon = new Array();



var lricons = 1;
var iconpages = 2;


function slideicons(i) {

if (i=='left' && lricons > 1 ) { lricons--; };
if (i=='right' && lricons < iconpages ) { lricons++; };
$('lr-pages').set('text',lricons+'/'+iconpages);

if (lricons==1) { $('markerset').setStyle('margin-left','0px'); };
if (lricons==2) { $('markerset').setStyle('margin-left','-688px'); };

}


function showdata(a)
{

if (a)
{
	$('showdata').setStyle('opacity','0');
	$('showdata').setStyle('display','block');
	$('showdata').morph('.hintyes');
} else
{
	$('showdata').morph('.hintno');
	setTimeout("$('showdata').setStyle('display','none');","500");
}}


function showdata2(a)
{

  Mediabox.open('latlon.php','', '490 100');

}






function clearselectedli(elm)
{
var elems = $$(elm);
elems[0].set('class','');
}




window.addEvent('domready', function() {


var iy= Math.floor(Math.random()*4+1);
var iu= 'bestadv'+iy;
$(iu).setStyle('display','block');



$('lr-left').addEvent('click', function(){ slideicons('left'); });
$('lr-right').addEvent('click', function(){ slideicons('right'); });





$('latlon-a').addEvent('click', function(){ 
	$('latlondiv').setStyle('display','none');



    latlng = new google.maps.LatLng($('llfld').value, $('llfld2').value);

		markerset=true;
		mmmap.setCenter(latlng);

   		marker.position = latlng;

   		marker.setMap(mmmap);

		mmmap.setZoom(13);




});



$('latlon').addEvent('click', function(){ 
$('latlondiv').setStyle('display','block');
});



if ($('latlonclose')) {  

$('latlonclose').addEvent('click', function(){
$('latlondiv').setStyle('display','none');
});



}



var Tipsz = new Tips($$('.Tipsz'), { showDelay: 100 });




if ($('twittericon')) {
$('twittericon').addEvent('click', function(){
window.open('http://twitter.com/makemapru/');
});
}


geocoder = new google.maps.Geocoder();

$('searchfld').addEvent('focus', function(){
$('searchfld').value="";
});



function getgeocode()
{
    var address = $('searchfld').value;

    if (geocoder) { 
	geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
		markerset=true;
		mmmap.setCenter(results[0].geometry.location);

   		marker.position = results[0].geometry.location;

   		marker.setMap(mmmap);

		mmmap.setZoom(14);



        }});




	} else {
          alert("Поиск невозможен. Причина: " + status); }


}


$('searchbutton').addEvent('click', function()
{

   getgeocode();


});







for (var i=1; i <= 50; i++) {

   Icon[i] = new google.maps.Marker({
	draggable: true,
        icon: 'http://makemap.ru/images/icons/mm'+i+'.png'
    });




}



    mmicon = Icon[1];
    

    latlng = new google.maps.LatLng(mmlng, mmlat);


    mmcontrol[1] = { navigationControlOptions: { style: google.maps.NavigationControlStyle.SMALL }};
    mmcontrol[2] = { navigationControlOptions: { style: google.maps.NavigationControlStyle.DEFAULT }};
    mmcontrol[3] = { navigationControlOptions: { style: google.maps.NavigationControlStyle.SMALL }};




    var myOptions = {
      zoom: 4,
      center: latlng,
      navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    mmmap = new google.maps.Map(document.getElementById("makemap_canvas"),myOptions);
    mmmap.scrollwheel=true;





// Геолокация

  // Try W3C Geolocation method (Preferred)
  if(navigator.geolocation) {
    browserSupportFlag = true;
    navigator.geolocation.getCurrentPosition(function(position) {
      initialLocation = new google.maps.LatLng(position.coords.latitude,position.coords.longitude);
      mmmap.setCenter(initialLocation);
      mmmap.setZoom(14);
    }, function() {
      handleNoGeolocation(browserSupportFlag);
    });
  } else if (google.gears) {
    // Try Google Gears Geolocation
    browserSupportFlag = true;
    var geo = google.gears.factory.create('beta.geolocation');
    geo.getCurrentPosition(function(position) {
      initialLocation = new google.maps.LatLng(position.latitude,position.longitude);
      contentString = "Location found using Google Gears";
      mmmap.setCenter(initialLocation);
      mmmap.setZoom(14);
    }, function() {
      handleNoGeolocation(browserSupportFlag);
    });
  } else {
    // Browser doesn't support Geolocation
    browserSupportFlag = false;
//    handleNoGeolocation(browserSupportFlag);
  }











    marker = new google.maps.Marker(mmicon);   
    
 google.maps.event.addListener(mmmap, 'click', function(event) {


   markerset = true;
   marker.position = event.latLng;
   marker.setMap(mmmap);
	 google.maps.event.addListener(marker, 'dragend', function(event) { });

 });







$('hint1').setStyle('opacity','0');
$('hint2').setStyle('opacity','0');
$('hint3').setStyle('opacity','0');
$('showdata').setStyle('opacity','0');

$('resultclosebutton').addEvent('click', function(){ showdata(false); } );
     

if ($('bgen1')) {
$('bgen1').addEvent('click', function(){ result('1');  } );
$('bgen1').addEvent('mouseout', function(){ $('hint1').morph('.hintno'); });
$('bgen1').addEvent('mouseover', function(){ $('hint1').morph('.hintyes'); });
}

if ($('bgen2')) {
$('bgen2').addEvent('click', function(){ result('2'); });
$('bgen2').addEvent('mouseout', function(){ $('hint2').morph('.hintno'); });
$('bgen2').addEvent('mouseover', function(){ $('hint2').morph('.hintyes'); });
}

if ($('bgen3')) {
$('bgen3').addEvent('click', function(){ result('3'); });
$('bgen3').addEvent('mouseout', function(){ $('hint3').morph('.hintno'); });
$('bgen3').addEvent('mouseover', function(){ $('hint3').morph('.hintyes'); });	  
}


if ($('bgen1a') || $('bgen2a') || $('bgen3a') ||$('bgen4a') ) {

$('bgen1a').addEvent('click', function(){ result('1');  } );
$('bgen2a').addEvent('click', function(){ result('2');  } );
$('bgen3a').addEvent('click', function(){ result('3');  } );
$('bgen4a').addEvent('click', function(){ result('4');  } );
}


$('z0').addEvent('click', function(){  clickzoom('0');  });
$('z1').addEvent('click', function(){  clickzoom('1'); });
$('z2').addEvent('click', function(){  clickzoom('2'); });
$('z3').addEvent('click', function(){  clickzoom('3'); });

$('t0').addEvent('click', function(){  clicktype('0');  });
$('t1').addEvent('click', function(){  clicktype('1'); });




$('m1').addEvent('click', function(){  clickmarkerdesign('1'); });
$('m2').addEvent('click', function(){  clickmarkerdesign('2'); });
$('m3').addEvent('click', function(){  clickmarkerdesign('3'); });
$('m4').addEvent('click', function(){  clickmarkerdesign('4'); });
$('m5').addEvent('click', function(){  clickmarkerdesign('5'); });
$('m6').addEvent('click', function(){  clickmarkerdesign('6'); });
$('m7').addEvent('click', function(){  clickmarkerdesign('7'); });
$('m8').addEvent('click', function(){  clickmarkerdesign('8'); });
$('m9').addEvent('click', function(){  clickmarkerdesign('9'); });
$('m10').addEvent('click', function(){  clickmarkerdesign('10'); });
$('m11').addEvent('click', function(){  clickmarkerdesign('11'); });
$('m12').addEvent('click', function(){  clickmarkerdesign('12'); });
$('m13').addEvent('click', function(){  clickmarkerdesign('13'); });
$('m14').addEvent('click', function(){  clickmarkerdesign('14'); });
$('m15').addEvent('click', function(){  clickmarkerdesign('15'); });

$('m16').addEvent('click', function(){  clickmarkerdesign('16'); });
$('m17').addEvent('click', function(){  clickmarkerdesign('17'); });
$('m18').addEvent('click', function(){  clickmarkerdesign('18'); });
$('m19').addEvent('click', function(){  clickmarkerdesign('19'); });
$('m20').addEvent('click', function(){  clickmarkerdesign('20'); });
$('m21').addEvent('click', function(){  clickmarkerdesign('21'); });
$('m22').addEvent('click', function(){  clickmarkerdesign('22'); });
$('m23').addEvent('click', function(){  clickmarkerdesign('23'); });
$('m24').addEvent('click', function(){  clickmarkerdesign('24'); });
$('m25').addEvent('click', function(){  clickmarkerdesign('25'); });
$('m26').addEvent('click', function(){  clickmarkerdesign('26'); });
$('m27').addEvent('click', function(){  clickmarkerdesign('27'); });
$('m28').addEvent('click', function(){  clickmarkerdesign('28'); });

$('m29').addEvent('click', function(){  clickmarkerdesign('29'); });
$('m30').addEvent('click', function(){  clickmarkerdesign('30'); });
$('m31').addEvent('click', function(){  clickmarkerdesign('31'); });
$('m32').addEvent('click', function(){  clickmarkerdesign('32'); });
$('m33').addEvent('click', function(){  clickmarkerdesign('33'); });







$('res1f').addEvent('click', function(){ res1e = $('res1f').value; });
$('res2f').addEvent('click', function(){ res2e = $('res2f').value; 7});



$('res1f').addEvent('change', function(){ 

res1b = escape($(res1f).value);
ef=res1b.match(/[^0-9]/);
                                                                    
if(ef!=null)
{
 $(res1f).value = res1e; 
} else 
{
 ef=$(res1f).value.toInt();
 if (ef > 800) { $(res1f).value = '800';  } else
 if (ef < 200) { $(res1f).value = '200';  } else
	       { 
			nslider1.set(ef); 
			$('makemap_canvas').setStyle('width',ef+'px');
			mmwidth=ef;
	       };
} });



$('res2f').addEvent('change', function(){ 

res2b = escape($(res2f).value);
ef=res2b.match(/[^0-9]/);
                                                                    
if(ef!=null)
{
 $(res2f).value = res2e; 
} else 
{
 ef=$(res2f).value.toInt();
 if (ef > 400) { $(res2f).value = '400';  } else
 if (ef < 150) { $(res2f).value = '150';  } else
	       { 
			nslider2.set(ef); 
			$('makemap_canvas').setStyle('height',ef+'px');
			mmheight=ef;
	       };
} });
                      


var el1 = $('slider1');
var res1 = $('res1f').value;



var nslider1 = new Slider(el1, el1.getElement('.knob'), {
		steps: 800,	// There are 35 steps
		range: [200],	// Minimum value is 8
		onChange: function(value){ 

			$('res1f').value = value;

			$('makemap_canvas').setStyle('width',value+'px');			
			mmwidth=value;


			if (value<300) { clicktype('0'); } else { clicktype('1'); };


		}
	}).set( '800' );

var el2 = $('slider2');
var res2 = $('res2f').value;

var nslider2 = new Slider(el2, el2.getElement('.knob'), {
		steps: 400,
		range: [150],	// Minimum value                    
		onChange: function(value){ 

			$('res2f').value = value;
			$('makemap_canvas').setStyle('height',value+'px');
			mmheight=value;

			if (value<341) { clickzoom('1'); } else { clickzoom('2');  };

		}

	}).set( '400' );



});



function execute()
{

if (markerset) {

	var mmll=marker.position;		
        mmlng = mmll.lat(); 
	mmlat = mmll.lng();
	mmzoom = mmmap.getZoom();
	
}


}


function clickmarkerdesign(n)
{

mmicon2 = n;

var e='m'+n;
clearselectedli('.selected-m'); $(e).set('class','selected-m'); 
marker.icon = Icon[n].icon;
marker.setMap(mmmap);

execute();

}


function clickzoom(n) { 

if (mmcontrol2!=n)
{

clearselectedli('.selected-li'); 
var e='z'+n;
$(e).set('class','selected-li'); 

mmcontrol2=n; 

if (n=='0') { mmmap.setOptions({ navigationControl:false}); } else
if (n=='1') {
mmmap.setOptions({ navigationControl:true});
mmmap.setOptions({ navigationControlOptions:{ style: google.maps.NavigationControlStyle.SMALL } });
} else
if (n=='2') {
mmmap.setOptions({ navigationControl:true});
mmmap.setOptions({ navigationControlOptions:{ style: google.maps.NavigationControlStyle.ZOOM_PAN} });
} else
if (n=='3') {
mmmap.setOptions({ navigationControl:true});
mmmap.setOptions({ navigationControlOptions:{ style: google.maps.NavigationControlStyle.ANDROID} });
}
}



}
function clicktype(n) { 

if (mmtype2!=n)
{


clearselectedli('.selected-li2'); 
var e='t'+n;
$(e).set('class','selected-li2');                                                                        
if (n=='0') {

mmmap.setOptions({ mapTypeControl:false});

} else {
mmmap.setOptions({ mapTypeControl:true});
} 
mmtype2=n; 

}

}


function result(n)
{

globalresult = n;


execute();

cmaptype = mmmap.getMapTypeId();


if (cmaptype=='roadmap') { cmaptype2='1'} else
if (cmaptype=='satellite') { cmaptype2='2'} else
if (cmaptype=='hybrid') { cmaptype2='3'} else
if (cmaptype=='terrain') { cmaptype2='4'};



if (markerset)
{


$('resultcode').set('text','');
$('resultcode').set('html', '<img width="24" height="24" border="0" src="http://makemap.ru/images/loader.gif">');

if (n=='1')
{
$('resultcodetitle').set('text','Скопируйте приведенный ниже код и вставьте в HTML код своей страницы, в то место где карта будет отображаться. Постарайтесь не менять код, это может привести к неработоспособности скрипта.')



if ($('titlefld').value=='Введите описание') { $('mbtitle').value=''; } else
{$('mbtitle').value=$('titlefld').value;};
$('mblat').value=mmlat;
$('mblng').value=mmlng;
$('mbwidth').value=mmwidth;
$('mbheight').value=mmheight;
$('mbzoom').value=mmzoom;
$('mbmarker').value=mmicon2;
$('mbcurrentmaptype').value=cmaptype2;
$('mbzoomtype').value=mmcontrol2;
$('mbmaptype').value=mmtype2;



       var req = new Request.HTML({url:'phpsqlinfo_addrow.php', 
	       onSuccess: function(html) {
                  $('resultcode').set('text','');
		  $('resultcode').adopt(html);
                  mmresult = "<iframe marginwidth='0' marginheight='0' frameborder='0' width='"+mmwidth+"' height='"+mmheight+"' scrolling='no' src='http://makemap.ru/show.php?id="+$('resultcode').innerHTML+"'> </iframe>";

//                  $('resultcode').innerHTML=mmresult;

                  $('resultcode').set('text',mmresult);

	 	},
		onFailure: function(html) {	                             
			$('resultcode').set('text', 'Ошибка получения данных');
 	 	}   }).get($('sresultform2'));
	req.send();



// $('resultcode').set('text',mmresult)
} 

if (n=='2')
{
$('resultcodetitle').set('text','Скопируйте приведенную ниже ссылку и дайте её своему другу или знакомому. Перейдя по ней, пользователь увидит именно то место которое Вы отметили на карте.')
//mmresult = "http://makemap.ru/showmap.php?lat="+mmlat+"&lng="+mmlng+"&zoom="+mmzoom+"&marker="+mmicon2+"&cmt="+cmaptype2;

$('mbtitle').value=$('titlefld').value;
$('mblat').value=mmlat;
$('mblng').value=mmlng;
$('mbwidth').value=mmwidth;
$('mbheight').value=mmheight;
$('mbzoom').value=mmzoom;
$('mbmarker').value=mmicon2;
$('mbcurrentmaptype').value=cmaptype2;
$('mbzoomtype').value=mmcontrol2;
$('mbmaptype').value=mmtype2;



       var req = new Request.HTML({url:'phpsqlinfo_addrow.php', 
	       onSuccess: function(html) {
                  $('resultcode').set('text','');
		  $('resultcode').adopt(html);
                  $('resultcode').innerHTML='<a target="_blank" href="http://makemap.ru?id='+$('resultcode').innerHTML+'">http://makemap.ru?id='+$('resultcode').innerHTML+'</a>';
	 	},
		onFailure: function(html) {	                             
			$('resultcode').set('text', 'Ошибка получения данных');
 	 	}   }).get($('sresultform2'));
	req.send();
                



}

if (n=='3')
{

$('resultcodetitle').set('html','Приведенный ниже код является чистым скриптом Google Maps API.<br>Для его ипользования, скопируйте код и вставьте в свою страницу. Карта будет отображаться в том месте где находится DIV элемент "map_canvas".<br />Для функционирования скрипта НЕ требуется получения ключа Google Maps API.');

if (mmcontrol2=='0') { var mz="" };
if (mmcontrol2=='1') { var mz="navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL}, " };
if (mmcontrol2=='2') { var mz="navigationControlOptions: {style: google.maps.NavigationControlStyle.ZOOM_PAN}," };
if (mmcontrol2=='3') { var mz="navigationControlOptions: {style: google.maps.NavigationControlStyle.ANDROID}," };


if (mmtype2=='0') { var mt=" ";};
if (mmtype2=='1') { var mt="map.addControl(new GMapTypeControl()); ";};


if (mmtype2=='0') { var mmtype23="map.setOptions({ mapTypeControl:false});"; } else
{ var mmtype23="map.setOptions({ mapTypeControl:true});"; };


if (mmcontrol2=='0') { var mmcontrol22="map.setOptions({ navigationControl:false});"; } else
{ var mmcontrol22="";};

cmaptype = mmmap.getMapTypeId();

if (cmaptype=='roadmap') { var cmaptype22="ROADMAP";  } else
if (cmaptype=='satellite') { var cmaptype22="SATELLITE";  } else
if (cmaptype=='hybrid') { var cmaptype22="HYBRID";  } else
if (cmaptype=='terrain') { var cmaptype22="TERRAIN";  };


mmresult ='<div style="width: '+ mmwidth+'px; height: '+mmheight+'px"  id="makemap_canvas">MakeMap.ru</div>'+
'<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script><script>'+
'var latlng = new google.maps.LatLng("'+mmlng+'", "'+mmlat+'");var myOptions = {'+
'zoom: '+mmzoom+','+'center: latlng,'+
mz+
'mapTypeId: google.maps.MapTypeId.'+cmaptype22+'};'+
'var map = new google.maps.Map(document.getElementById("makemap_canvas"),myOptions); '+
'map.scrollwheel=true;'+mmtype23+mmcontrol22+
'var marker = new google.maps.Marker({position: latlng,map: map});</script>';



$('resultcode').set('text','');
$('resultcode').set('text',mmresult)

}


if (n=='4')
{

$('resultcodetitle').set('text','Скопируйте приведенную ниже ссылку и дайте её своему другу или знакомому для просмотра на мобильном устройсте. Перейдя по ней, пользователь увидит именно то место которое Вы отметили на карте. Или используйте сканер QR-Кодов для считывания ссылки.')
//mmresult = "http://makemap.ru/showmap.php?lat="+mmlat+"&lng="+mmlng+"&zoom="+mmzoom+"&marker="+mmicon2+"&cmt="+cmaptype2;

$('mbtitle').value=$('titlefld').value;
$('mblat').value=mmlat;
$('mblng').value=mmlng;
$('mbwidth').value=mmwidth;
$('mbheight').value=mmheight;
$('mbzoom').value=mmzoom;
$('mbmarker').value=mmicon2;
$('mbcurrentmaptype').value=cmaptype2;
$('mbzoomtype').value=mmcontrol2;
$('mbmaptype').value=mmtype2;



       var req = new Request.HTML({url:'phpsqlinfo_addrow.php', 
	       onSuccess: function(html) {
                  $('resultcode').set('text','');
		  $('resultcode').adopt(html);
                  $('resultcode').innerHTML='<a target="_blank" href="http://makemap.ru?m='+$('resultcode').innerHTML+'">http://makemap.ru?m='+$('resultcode').innerHTML+'</a><br /> <img src="https://chart.googleapis.com/chart?chs=256x256&cht=qr&chl=http://makemap.ru/?m='+$('resultcode').innerHTML+'" width="256" height="256" border="0">';
	 	},
		onFailure: function(html) {	                             
			$('resultcode').set('text', 'Ошибка получения данных');
 	 	}   }).get($('sresultform2'));
	req.send();
                



}


} 


else
{

$('resultcodetitle').set('text','Внимание!')
mmresult = "Поставьте пожалуйста маркер на карту. Для этого достаточно сделать клик по карте.";
$('resultcode').set('text',mmresult)


};


showdata(true);                                                                     

}
