var MpFtUrl=uds+'/at/mainPmap.php';
$(function() {
doPreloadOverlay();
});	 
//---------------------------
function getOvData(){
boundChange=true;
$("#mapLoader").css('display','block');
var mapBnds=mPmap.getBounds().toString();
var mapLevel=mPmap.getZoom();
var data = { 
map_id: mapId,
mapBnds: mapBnds,
mapLevel: mapLevel,
currType: currType,
pid: thisPageId,
isJson: 1,	
a: "1"
};
var callback=function(json){
$("#mapLoader").css('display','none');
mainOvData=json['overlays'];
for (x in json['markers']){
mainMarkerData.push(json['markers'][x]);
}
setOverlays(0);

for (x in json['geonames']){
mainGeonamesData.push(json['geonames'][x]);
}


var AllLines=json['lines'];

setButtonsState(json['state']);
//boundChange=false;
setMarkers();setMarkersColor();
setGeonames();
};
$.getJSON(MpFtUrl, data, callback);
};
//---------------------------
function setOverlays(first){
boundChange=true;
preloadList=[];
var higherLv=0;
if (lastOvType!=currType){ overlayRemoveAll();};
var mapZm=mPmap.getZoom();
if (mapZm!=lastZ){ overlayRemoveAll(); };
for (x in mainOvData){
var arr=mainOvData[x];
var type=arr['type'];
if (type!=currType){ var imageUrl=arr['img']; preloadList.push(imageUrl); 	continue; };
var lvlOverlay=arr['overlayLevel'];

lastZ=mapZm;
if (lvlOverlay > mapZm){ continue; };
var overlayId=arr['overlayId'];
if(jQuery.inArray(overlayId,overlayIdsAll) > -1) { continue; };
var Sw=new google.maps.LatLng(arr['boundsData'][0][0],arr['boundsData'][0][1],true);
var Ne=new google.maps.LatLng(arr['boundsData'][1][0],arr['boundsData'][1][1],true);
var bounds=new google.maps.LatLngBounds(Sw,Ne);
var imageUrl=arr['img'];
var overlay=new google.maps.GroundOverlay(imageUrl,bounds,overlayOptions);
overlay.setMap(mPmap);
overlaytAll.push(overlay);
overlayIdsAll.push(overlayId);
}
lastOvType=currType;
boundChange=false;
setMarkersColor();
};
//---------------------------
function doPreloadOverlay(){
for (x in preloadList){
var pic=preloadList[x];
if(jQuery.inArray(pic,preloadIdsAll) > -1) { continue; };
jQuery.preLoadImages(pic);
preloadIdsAll.push(pic);
}
};
//---------------------------
function overlayRemoveAll(){
if (overlaytAll.length>0){
for (x in overlaytAll){ overlaytAll[x].setMap(null); };
};
overlaytAll=[];
overlayIdsAll=[];
};
//---------------------------
function setMapType(type){
currType=type;

setMarkersColor();
var cls=$('#tgControl'+type).attr('class');
if (cls=='tgControlDis'){ return; };

overlayRemoveAll();
setMarkers();
copyrightDiv.innerHTML ='';
if (type=='4'){
mPmap.setMapTypeId(google.maps.MapTypeId.ROADMAP);
var cls=$('#tgControl'+currType).attr('class');
$(".tgControlSel").removeClass('tgControlSel').addClass('tgControl');
$('#tgControl'+currType).removeClass(cls).addClass('tgControlSel');
}
else if (type=='5'){
mPmap.setMapTypeId(google.maps.MapTypeId.SATELLITE);
var cls=$('#tgControl'+currType).attr('class');
$(".tgControlSel").removeClass('tgControlSel').addClass('tgControl');
$('#tgControl'+currType).removeClass(cls).addClass('tgControlSel');
}
else if (type=='3'){
mPmap.setMapTypeId(google.maps.MapTypeId.SATELLITE);
setOverlays(0);
var cls=$('#tgControl'+currType).attr('class');
$(".tgControlSel").removeClass('tgControlSel').addClass('tgControl');
$('#tgControl'+currType).removeClass(cls).addClass('tgControlSel');
}
else{
mPmap.setMapTypeId(null);
//getOvData();
setOverlays(0);
setCopyright();
var cls=$('#tgControl'+currType).attr('class');
$(".tgControlSel").removeClass('tgControlSel').addClass('tgControl');
$('#tgControl'+currType).removeClass(cls).addClass('tgControlSel');
}
setMarkersColor();
/*
if (markerCardId!=''){
var dataCard=markerCardId.split('_');
som39008289(dataCard[1],dataCard[0]);
}
setGeonames();
*/
};
//---------------------------
function setCopyright(){
var d=new Date();
var year=d.getFullYear();
if (currType==2){
var copyright='<span style="color:#ffffff;text-shadow:2px 2px 2px #000;"><b>t-Globe Ground Map</b><br />&copy; t-Globe - Geographic Department - '+year+'</span>';
}
else if (currType==3){
var copyright='<span style="color:#ffffff;text-shadow:2px 2px 2px #000;"><b>t-Globe Satellite</b><br />&copy; t-Globe - Geographic Department - '+year+'</span>';
}
else{
var copyright='<span style="color:#000000;text-shadow:2px 2px 2px #ffffff;"><b>t-Globe Map</b><br />&copy; t-Globe - Geographic<b></b> Department - '+year+'</span>';
}
copyrightDiv.innerHTML = copyright;
};
//---------------------------
function setButtonsState(state){
if (state['tmap']==true){
var cls=$('#tgControl1').attr('class');
if (cls!='tgControl' || cls!='tgControlSel'){
$('#tgControl1').removeClass(cls).addClass('tgControl');
}
}
else{
var cls=$('#tgControl1').attr('class');
$('#tgControl1').removeClass(cls).addClass('tgControlDis');
}

if (state['tground']==true){
var cls=$('#tgControl2').attr('class');
if (cls!='tgControl' || cls!='tgControlSel'){
$('#tgControl2').removeClass(cls).addClass('tgControl');
}
}
else{
var cls=$('#tgControl2').attr('class');
$('#tgControl2').removeClass(cls).addClass('tgControlDis');
}

if (state['tsat']==true){
var cls=$('#tgControl3').attr('class');
if (cls!='tgControl' || cls!='tgControlSel'){
$('#tgControl3').removeClass(cls).addClass('tgControl');
}
}
else{
var cls=$('#tgControl3').attr('class');
$('#tgControl3').removeClass(cls).addClass('tgControlDis');
}
var cls=$('#tgControl'+currType).attr('class');
$(".tgControlSel").removeClass('tgControlSel').addClass('tgControl');
$('#tgControl'+currType).removeClass(cls).addClass('tgControlSel');
setMarkersColor();
};
//---------------------------
//---------------------------
function setMarkers(g){
if (g==null){ g=false; };

if (markersAll.length>0 && g==false){
	return;
for (x in markersAll){
markersAll[x].setMap(null);
}
markersAll=[];
markersIds=[];
}

var c=1;
for (x in mainMarkerData){

var title=mainMarkerData[x]['name'];

title=title.replace("'",'');
var titleOv=title;
if (currType==1){
var markerPos=mainMarkerData[x]['tgMap'];
}
else if (currType==2){
var markerPos=mainMarkerData[x]['tgGrnd'];
}
else if (currType==3){
var markerPos=mainMarkerData[x]['tgSat'];
}
else if (currType==4){
var markerPos=mainMarkerData[x]['gMap'];
}
else if (currType==5){
var markerPos=mainMarkerData[x]['gSat'];
}




var pos=getMarkerPosition(markerPos);

var markerIcon=mainMarkerData[x]['icon'];

var partner=mainMarkerData[x]['partner'];
var uniqueId=mainMarkerData[x]['uniqueId'];
var direction=mainMarkerData[x]['marker_dir'];
var marker_level=mainMarkerData[x]['marker_level'];
var marker_label=mainMarkerData[x]['marker_label'];
var marker_label_text=mainMarkerData[x]['marker_label_text'];

var marker_label_size=mainMarkerData[x]['marker_label_size'];
var picture=mainMarkerData[x]['picture'];

if (marker_level > mPmap.getZoom() && marker_level<=marker_label){
continue;
}

if (marker_label_text.length<1){
marker_label_text=title;
}
var titleOv=title;



if (jQuery.inArray( uniqueId, markersIds ) > -1){
continue;
}

markersIds.push(uniqueId);
var Idd=uniqueId;

if (mPmap.getZoom()<=18){
markerIcon =selectMarkerIcon(mainMarkerData[x]['cat'],partner);
}

if (marker_level>marker_label){
var icon=uds+'/tpl/images/nomarker.png';
markerIcon=new google.maps.MarkerImage(icon,null, null, new google.maps.Point(2,2));
}



if (partner>0){
var Labelclass='MapTooltipParner';
}
else{
var Labelclass='MapTooltip';
if (marker_label_size>0){
marker_label_text='<span style="font-size:'+marker_label_size+'px;">'+marker_label_text+'</span>';
}
}

//nomarker.png


if (currType==2 || currType==3 || currType==5){
//marker_label_text='<span style="color:#ffffff;text-shadow:2px 2px 2px #000;">'+marker_label_text+'</span>';
}

draggable=false;


var w=-11;
var h=11;


if (mPmap.getZoom()>=marker_label){
if (direction=='l'){
var divTag = document.createElement("div");
divTag.id = "misureDiv";
divTag.setAttribute("class",Labelclass);
divTag.innerHTML=marker_label_text
$("body").append(divTag)
w=$(divTag).width()+10;
h=$(divTag).height()/2;
$(divTag).remove();
}

if (direction=='r'){
var divTag = document.createElement("div");
divTag.id = "misureDiv";
divTag.setAttribute("class",Labelclass);
divTag.innerHTML=marker_label_text
$("body").append(divTag)
w=-11;
h=$(divTag).height()/2;
$(divTag).remove();
}


if (direction=='t'){
var divTag = document.createElement("div");
divTag.id = "misureDiv";
divTag.setAttribute("class",Labelclass);
divTag.innerHTML=marker_label_text
$("body").append(divTag)
w=($(divTag).width()/2)-3;
h=($(divTag).height()+5);
$(divTag).remove();
}

if (direction=='b'){
var divTag = document.createElement("div");
divTag.id = "misureDiv";
divTag.setAttribute("class",Labelclass);
divTag.innerHTML=marker_label_text
$("body").append(divTag)
w=($(divTag).width()/2)-3;
h=eDivider-($(divTag).height());
$(divTag).remove();
}




var thisMarker = new MarkerWithLabel({
position: pos,
draggable: draggable,
raiseOnDrag: false,
icon: markerIcon,
title:titleOv,
map: mPmap,
picture: picture,
labelContent: marker_label_text,
labelAnchor: new google.maps.Point(w, h),
labelClass: Labelclass, 
cSavedZIndex:zindexMarker,
labelStyle: {opacity: 1.00}
     });

}
else{
var thisMarker = new google.maps.Marker({
position: pos, 
cursor: 'pointer',
map: mPmap,
icon: markerIcon,
clickable: true,
picture: picture,
raiseOnDrag: false,
title: titleOv,
draggable: draggable
  });
}
thisMarker.setZIndex(zindexMarker);
zindexMarker++;

google.maps.event.addListener(thisMarker, 'click', function(event) {
mmpp436678933(this);
});

markersAll.push(thisMarker);
//setLabel(title,thisMarker,c);
c++;
}//for in

/*
if (lastInfo!=null){
try{console.log(lastInfo)} catch(err){ };
lastInfo.open(mPmap,lastInfoMkr);
}
*/

setMarkersColor();
};
//---------------------------
function setMarkersColor(){
if (currType==2 || currType==3 || currType==5){
$(".MapTooltipParner,.MapTooltip,.MapTooltipGeoW").css('color','#ffffff').css('text-shadow','2px 2px 2px #000');
}else{
$(".MapTooltipParner,.MapTooltip,.MapTooltipGeo").css('color','#000000').css('text-shadow','2px 2px 2px #fff');
}
};

//---------------------------
function getMarkerPosition(markerPos){
if (markerPos=='undefined' || markerPos==undefined){
return;
}
var posArray=markerPos.split(',');
var pos=new google.maps.LatLng(parseFloat(posArray[0]), parseFloat(posArray[1]));
return pos;
};
//---------------------------
function selectMarkerIcon(cat,partner){
if (partner>0){
var icon=uds+'/tpl/images/minimarker12_'+cat+'.png';
return new google.maps.MarkerImage(icon,null, null, new google.maps.Point(6,6));
}else{
var icon=uds+'/tpl/images/minimarker_'+cat+'.png';
return new google.maps.MarkerImage(icon,null, null, new google.maps.Point(5,5));
}

};
//---------------------------
//---------------------------
function mmpp436678933(marker){
var picture=marker.picture;
var title=marker.title;
if (picture.length <10){
return;
}
var cnt='<img src="'+picture+'" border="0"  title=""/><br><span style="font-size:10px;color:#000033;">'+title+'</span>';
var infowindow = new google.maps.InfoWindow({
        content: cnt,
        maxWidth: 200
    });


google.maps.event.addListener(infowindow, 'closeclick', function(event) {

});

infowindow.open(marker.getMap(),marker);
lastInfo=infowindow;
lastInfoMkr=marker;
};
//---------------------------
function scm500938798(cat,cid){
if (mPmap==null){ return; };
if (cardPosMarker!=null){
cardPosMarker.setMap(null);
}
//---------------------------

if (mainMarkerData.length>0){
for (x in mainMarkerData){
if (cat==mainMarkerData[x]['cat'] && cid==mainMarkerData[x]['cid'] ){
if (currType==1){
var markerPos=mainMarkerData[x]['tgMap'];
}
else if (currType==2){
var markerPos=mainMarkerData[x]['tgGrnd'];
}
else if (currType==3){
var markerPos=mainMarkerData[x]['tgSat'];
}
else if (currType==4){
var markerPos=mainMarkerData[x]['gMap'];
}
else if (currType==5){
var markerPos=mainMarkerData[x]['gSat'];
}
}
}
}
var pos=getMarkerPosition(markerPos);
selBizMarkerPos=pos;
//---------------------------
var icon=uds+'/tpl/images/cardMarker.png';
markerIcon=new google.maps.MarkerImage(icon,null, null, new google.maps.Point(25,25));
cardPosMarker=new google.maps.Marker({
position: pos, 
cursor: 'pointer',
map: mPmap,
icon: markerIcon,
clickable: false,
raiseOnDrag: false,
draggable: false
  });

if (mPmap.getBounds().contains(pos)){
}else{
mPmap.setCenter(pos);
}


};
//---------------------------
function rcm70093090(){
if (mPmap==null){ return; };
if (cardPosMarker!=null){
cardPosMarker.setMap(null);
}
};
//---------------------------nbrMarker.png
function snm49982090(lat,lng){
if (mPmap==null){ return; };
if (nbrPosMarker!=null){
nbrPosMarker.setMap(null);
}
var pos=new google.maps.LatLng(parseFloat(lat), parseFloat(lng));
var icon=uds+'/tpl/images/nbrMarker.png';
markerIcon=new google.maps.MarkerImage(icon,null, null, new google.maps.Point(25,25));
nbrPosMarker=new google.maps.Marker({
position: pos, 
cursor: 'pointer',
map: mPmap,
icon: markerIcon,
clickable: false,
raiseOnDrag: false,
draggable: false
  });
};
//---------------------------
function setGeonames(){

setMarkersColor();

for (x in allGeonames){
allGeonames[x].setMap(null);
}
if (mainGeonamesData.length<1){
return;
}

for (x in mainGeonamesData){
var gnId=x;
var latitude=mainGeonamesData[x]['latitude'];
var longitude=mainGeonamesData[x]['longitude'];
var name=mainGeonamesData[x]['name'];
var local_name=mainGeonamesData[x]['local_name'];
var min_level=mainGeonamesData[x]['min_level'];
var max_level=mainGeonamesData[x]['max_level'];
var marker_icon=mainGeonamesData[x]['marker_icon'];
var font_size=mainGeonamesData[x]['font_size'];
var font_weight=mainGeonamesData[x]['font_weight'];
var font_style=mainGeonamesData[x]['font_style'];
var direction=mainGeonamesData[x]['label_pos'];
var link_page=mainGeonamesData[x]['link_page'];
var lang=mainGeonamesData[x]['lang'];

var markerPosition=new google.maps.LatLng(parseFloat(latitude), parseFloat(longitude));

if (currType==4 || currType==1){
var Labelclass='MapTooltip';
var addC='';
}else{
var Labelclass='MapTooltip';
var addC='_w';
}


var icon=uds+'/tpl/images/geonames_'+marker_icon+addC+'.png';
var markerIcon=new google.maps.MarkerImage(icon,null, null, new google.maps.Point(3,3));
draggable=false;

var w=-11;
var h=11;





if (font_weight==1){
var fontW='bold';
}
else if (font_weight==2){
var fontW='bolder';
}
else if (font_weight==3){
var fontW='lighter';
}
else{
var fontW='normal';
}

if (font_style==1){
var fontS='italic';
}
else if (font_style==2){
var fontS='oblique';
}
else{
var fontS='normal';
}

var marker_label_text='<center><div style="font-size:'+font_size+'px;font-weight:'+fontW+';font-style:'+fontS+';  ">'+name+'</div>';
if (local_name!=''){
marker_label_text+='<div style="font-size:'+(font_size-3)+'px;font-weight:'+fontW+';font-style:'+fontS+';margin-top:-2px;   ">'+local_name+'</div>';
}
marker_label_text+='</center>';

var eDivider=8;
if (local_name!=''){
eDivider=16;
}

if (mPmap.getZoom()>=min_level){
if (direction=='l'){
var divTag = document.createElement("div");
divTag.id = "misureDiv";
divTag.setAttribute("class",Labelclass);
divTag.innerHTML=marker_label_text
$("body").append(divTag)
w=$(divTag).width()+5;
h=$(divTag).height()/3;
$(divTag).remove();
}

if (direction=='r'){
var divTag = document.createElement("div");
divTag.id = "misureDiv";
divTag.setAttribute("class",Labelclass);
divTag.innerHTML=marker_label_text
$("body").append(divTag)
w=-11;
h=$(divTag).height()/3;
$(divTag).remove();
}


if (direction=='t'){
var divTag = document.createElement("div");
divTag.id = "misureDiv";
divTag.setAttribute("class",Labelclass);
divTag.innerHTML=marker_label_text
$("body").append(divTag)
w=($(divTag).width()/2)-3;
h=($(divTag).height()+5);
$(divTag).remove();

}

if (direction=='b'){
var divTag = document.createElement("div");
divTag.id = "misureDiv";
divTag.setAttribute("class",Labelclass);
divTag.innerHTML=marker_label_text
$("body").append(divTag)
w=($(divTag).width()/2)-3;
h=eDivider-($(divTag).height());
$(divTag).remove();

}

if (parseInt(link_page)>0){
var title="Click Here For "+name+" Page";
}
else{
var title=name;
}

var thisMarker = new MarkerWithLabel({
position: markerPosition,
draggable: draggable,
raiseOnDrag: false,
icon: markerIcon,
title:title,
linkPage:link_page,
map: mPmap,
gnId:gnId,
labelContent: marker_label_text,
labelAnchor: new google.maps.Point(w, h),
labelClass: Labelclass, 
cSavedZIndex:zindexMarker,
labelStyle: {opacity: 1.00}
     });
thisMarker.setZIndex(zindexMarker);
zindexMarker++;




if (parseInt(link_page)>0){

google.maps.event.addListener(thisMarker, 'click', function(event) {
ggl00399878676(this);
});
}


allGeonames.push(thisMarker);

}// if level

}// for each
};
//---------------------------
function ggl00399878676(mkr){
var link=mkr.linkPage;
var link_pg=uds+"/"+lang+"/"+link;
window.open(link_pg);
};
//---------------------------
//---------------------------
function setRoutes(){

if (AllLines==null || AllLines.length<1){ return; };

for (x in AllLines){
var clickable=AllLines[x]['clickable'];
var geodesic=AllLines[x]['geodesic'];
var strokeColor=AllLines[x]['strokeColor'];
var strokeColor=AllLines[x]['strokeColor'];
var strokeOpacity=AllLines[x]['strokeOpacity'];
var strokeWeight=AllLines[x]['strokeWeight'];
var pathArray=AllLines[x]['pathArray'];
var path=new Array();
for (y in pathArray){
var cds=pathArray[y].split(',');
if (isNumber(parseFloat(cds[0]))){
path.push(new google.maps.LatLng(parseFloat(cds[0]), parseFloat(cds[1])));
}

}
var lineOptions={
clickable: clickable,
geodesic: geodesic,
strokeColor: strokeColor,
strokeWeight: strokeWeight,
strokeOpacity: strokeOpacity,
path: path,
map: mPmap
};
thisLine=new google.maps.Polyline(lineOptions);
AllLines[x]['line']=thisLine;
AllLinesArray.push(thisLine);
}
};
//---------------------------
function fullPageMap(){
window.open(uds+'/map_bu.php?lang=2&page='+thisPageId,"mapBlowUp","status=0,toolbar=0,location=0,scrollbars=1");
};
//---------------------------
function shc329989878(cbx){
if ($(cbx).is(':checked')==true){ 
var mapOptions = { 
panControl: true,
zoomControl: true
};
} else{ 
var mapOptions = { 
panControl: false,
zoomControl: false
}
};
mPmap.setOptions(mapOptions);
};
//---------------------------

function dsm4399809(lat,lng){
directionsDisplay.setMap(mPmap);

function calcRoute() {
var end=new google.maps.LatLng(parseFloat(lat), parseFloat(lng));
    var request = {
        origin:selBizMarkerPos, 
        destination:end,
        travelMode: google.maps.DirectionsTravelMode.WALKING
    };
    directionsService.route(request, function(response, status) {
		try{console.log(status)} catch(err){ };
      if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response);
      }
    });
}
calcRoute();


/*
  function calcRoute() {
    var start = document.getElementById("start").value;
    var end = document.getElementById("end").value;
    var request = {
        origin:start, 
        destination:end,
        travelMode: google.maps.DirectionsTravelMode.DRIVING
    };
    directionsService.route(request, function(response, status) {
      if (status == google.maps.DirectionsStatus.OK) {
        directionsDisplay.setDirections(response);
      }
    });
var mode = google.maps.DirectionsTravelMode.DRIVING;
var origin=cardPosMarker.getPosition();
var destination=new google.maps.LatLng(parseFloat(lat), parseFloat(lng));
var directionsService = new google.maps.DirectionsService();
var directionsDisplay = new google.maps.DirectionsRenderer({suppressMarkers: true,draggable:false,polylineOptions:lineOptions});
directionsDisplay.setMap(mPmap);

var request = {
origin: origin,
destination: destination,
travelMode: mode
};

directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});



*/




};
//---------------------------
