function GoogleMaps()
{
   // alert('google maps v2.0');
    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	INTERNAL PROPERTIES
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
    var map;
    var picLabel=new Array();	
    var marker;
    var strMyProperties="";
    var strViewAsList="";
   
    
    var htmls = [];
    var gicons =  [];
    var i = 0;
    var strSiteURL ="http://localhost/MAP/";// "http://www.movewithus.co.uk";
    

    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	EXTERNAL PROPERTIES
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
    var m_dataBaloon = false;
    this.EnableBaloon  = function EnableBaloon() 
    {
        m_dataBaloon = true;
    }
    
    var m_dataSideMenu = false;
    this.EnablePropertySideMenu  = function EnablePropertySideMenu() 
    {
        m_dataSideMenu = true;
    }
    
    
		var m_dataGetXYPos = false;
		this.EnableGetXYPos  = function EnableGetXYPos() 
		{
				m_dataGetXYPos = true;
		}
		var m_onclick = false;



    
    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	initialize icons
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
    this.InitializeIcons = function()
    {
        try{

             var icons = new Array("logo");
              
              
            for (x in icons)
            {
                gicons[icons[x]] = new GIcon();
                gicons[icons[x]].image =  strSiteURL + "/icons/" +  icons[x] + ".png";
                gicons[icons[x]].iconSize = new GSize(30, 30);
                gicons[icons[x]].iconAnchor = new GPoint(5, 5);
                gicons[icons[x]].infoWindowAnchor = new GPoint(5, 5);
            
            }    
        }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: InitializeIcons\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
    }
    
    
    
    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	EXTERNAL METHODS
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
    this.EnableMapOverview = function(intWidth,intHeight)
    {
        try{
            map.addControl(new GOverviewMapControl(new GSize(intWidth,intHeight)));
        }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: EnableMapOverview\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
    }
    
    
    
    this.EnableZoomControl = function()
    {
        try{
            map.addControl(new GLargeMapControl());
           // map.addControl(new GMapTypeControl());
           map.setMapType( G_SATELLITE_MAP ); 
        }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: EnableMapOverview\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
        
    }
    

    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	THE INITIALIZE FUNCTION THAT PREPARES AND ZOOMS IN
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/

    this.InitializeMap = function(LAT,LON,ZOOM){
        try
        {
              if (GBrowserIsCompatible()) {
              
              map = new GMap2(document.getElementById("map"));
              
this.InitializeIcons();

ZoomInto(LAT,LON, ZOOM)



    
GEvent.addListener(map, "moveend", 
	function() {
	
	
	
		if (map.getZoom()<13){ map.zoomTo(13); }
		if (map.getZoom()==13) { 
		
			if(m_onclick==true){
				m_onclick=false;
			}else{
				RequeryMapData();
			}
		} 
		if (map.getZoom()==10) {TLabelsAdd(map); } 

	}

);
            
GEvent.addListener(map, "zoomend", 
function(oldZoom, newZoom) {

if(map.getZoom()>=9 && map.getZoom()<=11){
if(map.getZoom()<17){map.clearOverlays();}
TLabelsAdd(map);
}
}
);


GEvent.addListener(map, "click", 
function(overlay, point) {



if (overlay) {

	//m_onclick=true;

	//if(m_dataSideMenu==true){
	//		ShowPropertyDetails(overlay.prpid); 
	//}

	if(m_dataBaloon==true){

		var strHTML = "";
		var strprpid="";

		if(overlay.prpid!='undefined'){
			strprpid = overlay.prpid;
		}else{
			strprpid = 0;
		}

//alert('aaa_b');		
if(strprpid!=""){
		strHTML = GetBaloonPropertyDetails(strprpid);
}else{
			strHTML ="";
}


		if(strHTML != ""){
		m_onclick=true;
			overlay.openInfoWindowHtml(strHTML);   
			//m_onclick=false;

		}										
	}


}else {

//alert('bbb');
	if(m_dataGetXYPos==true){
 		document.getElementById("fldLat").value =point.y;
 		document.getElementById("fldLon").value =point.x;
	}


		m_onclick=false;
		//alert('b');
		if ( map.getZoomLevel() > 9 ) { 
			//EnableSearchFields(); 
			map.setCenter ( new GPoint(point.x, point.y), 10 ) 
		}
}

});

            } else {
              alert("Sorry, the Google Maps API is not compatible with this browser");
            }
  
        }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: InitializeMap\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
        
    }
    
    

    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	GENERIC ZOOM FUNCTION
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
    this.ZoomInto = function(lat,lon,zoomlevel){
        try
        {
            map.setCenter(new GLatLng(lat,lon), zoomlevel);
        }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: ZoomInto\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
       
    }
    

        
    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	GENERIC METHOD TO REQUERY THE DATABASE
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/

     this.RequeryMapData =  function (){
        try
        {

               // EnableSearchFields();

            	var bounds = map.getBounds();
            	var strQuery = '';

	/* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
	'	SEARCH CRITERIA
	' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
 

	var strURL = 'http://www.viladecabecao.org/xkudos_cabecao/xkudos/lib/googlemap/getallitems.asp';
//var strURL = 'xml3.xml';

	//document.getElementById("prpCount").innerHTML = "LOADING";        	
        //document.getElementById("prpCount").innerHTML	= strURL;
        
	var request = GXmlHttp.create();
        request.open("GET",strURL , true);
        request.onreadystatechange = function() {

            if (request.readyState == 4) {
//alert('a');
               if(map.getZoom()>0){ map.clearOverlays(); }
//alert('b');
               var xmlDoc   = request.responseXML;
               var markers  = xmlDoc.documentElement.getElementsByTagName("p");
//lert('aa');
                for (var i=0; i<markers.length; i++) {
                 ///alert('cc');
                 //document.getElementById("prpCount").innerHTML	= markers[i].getAttribute('la');
                 
                 var point = new GLatLng(markers[i].getAttribute('la'),markers[i].getAttribute('lo'));                                                                   
                 var prpICon = markers[i].getAttribute('t').toLowerCase();	
                
               
               	   var marker = new GMarker(point, gicons[prpICon]); 
               
                    marker.prpid =markers[i].getAttribute('id');
                    marker.prpICon = prpICon;
                    marker.layerid = i;	
                    marker.lat = markers[i].getAttribute('la');
                    marker.lon = markers[i].getAttribute('lo');
                    
                   
                    map.addOverlay(marker);
                     
        	 
                }
                                
	//	 document.getElementById("prpCount").innerHTML = "<a href='" + strURL + "/si.cmsx?itemID=1391&" + strQuery + "&searchType=map'>" + markers.length + " Properties</a>";
		
		
            }
      }

      request.send(null);

        }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: RequeryMapData\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
    }
    
    
        
    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	PLACE NAME / POSTCODE SEARCH 
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
  
    this.GetLocality = function(){
        try
        {
           var center = map.getCenter();
 
            document.getElementById("lblMultipleResults").innerHTML ="";
        
            var strLocality = document.getElementById("txtLocation");

            if(strLocality.value!=""){
           
                    var request = GXmlHttp.create();
                    var strURL = strSiteURL + "/mapsearch/serverPlaceSearch.asp?place=" + strLocality.value;
     // alert('a');
         // document.getElementById("divMoreDetails").innerHTML	= strURL;
                    request.open("GET",strURL , true);
                    //      alert('b');
                    request.onreadystatechange = function() {
                      //    alert('c');
  
        	            if (request.readyState == 4) {
         
        		    var xmlDoc   = request.responseXML;
        		    var prpCount = xmlDoc.documentElement.getElementsByTagName("p") ;
   //alert(strURL + ":" + prpCount.length);
        		    switch(prpCount.length) {
        
                              case 0 : alert('Sorry! We could not find a location matching your search criteria...');                      
                                    
                                        break;
        
        		      case 1 : selectLocality( prpCount[0].getAttribute("lo"), prpCount[0].getAttribute("la"), prpCount[0].getAttribute("pl")); 
        		      
                            break;
        
        		      default:
       
        		//	document.getElementById("tblSearchForm").style.display = 'none';
       
                      var strMoreLocations = '<table width=100% cellpadding=1 cellspacing=0 class=tblLeft>';
       
        			strMoreLocations += '<tr><td class="tblHead"><img src="' + strSiteURL + '/m/i_consumer.gif"/>Select a location... <a href="#" onclick="ClearMultipleResults();">back</a></td></tr><tr><td class="tblContentWhite"><div style="height: 169; width: 100%; overflow: scroll">'
        
        	                for (var i = 0; i < prpCount.length; i++) {
      
                        var strTown = prpCount[i].getAttribute("pl");
                        
											strMoreLocations += '<a href="#" onclick=\'selectLocality("' + prpCount[i].getAttribute("lo") + '","' + prpCount[i].getAttribute("la") + '","' + prpCount[i].getAttribute("pl") + '");\'>' + prpCount[i].getAttribute("pl") + ', ' + prpCount[i].getAttribute("c") + '</a><br/>'; 
        
        			}
        
        		        strMoreLocations += "</div></td></tr></table>";
           
        			document.getElementById("lblMultipleResults").innerHTML = strMoreLocations;
        			document.getElementById("lblMultipleResults").style.visibility='visible';
        			document.getElementById("lblMultipleResults").style.display='inline';
        			break;
        
        		      }
        			
                 	   }
        
        		}
        
                request.send(null);
      
            }else{
                alert('Please enter a place name or postcode area to search for...');
            }

        }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: GetLocality\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
    }
    
    
    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	SHOW & HIDE PROPERTY DETAILS
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
       function createPopAgentHtml(AgentID,office,address,town,postcode,tel,email,url){

      			var strPop = "<table width='329' border='0'><tr>    <td width='97'><div align='center'><img src='" + strSiteURL + "/showlogo.cmsx?type=agent&id=" + AgentID + "' border='1'> </div></td><td width='216'><strong>" + office + "</strong></td></tr><tr>    <td height='132'>&nbsp;</td>    <td valign='top'><p>" + address + "<br>" + town + " " + postcode + "</p><table width='100%' border='0'>        <tr><td width='13%'><strong>T:</strong></td>          <td width='87%'>" + tel + "</td>        </tr><tr><td><strong>E:</strong></td>          <td>" + email + "</td>        </tr>        <tr><td><strong>W: </strong></td>          <td>" + url + "</td>        </tr></table>          </td>  </tr></table>";
     
            return strPop;                
       }
       

       

           
    function GetBaloonPropertyDetails(propertyID){
        try{

//alert('444444');

	var strBaloonProperties="";
	var requestValidate = GXmlHttp.create();
        var strURLValPcode = "http://www.viladecabecao.org/xkudos_cabecao/xkudos/lib/googlemap/getspecificiem.asp?pageid=" + propertyID;

document.getElementById("prpCount").innerHTML =  strURLValPcode;

                requestValidate.open("GET",strURLValPcode , true);
                requestValidate.onreadystatechange = function() {
  //alert('888884');    
                if (requestValidate.readyState == 4) {
          //alert('333333');
       
            	var xmlDocVal   = requestValidate.responseXML;
            	var prpCountVal = xmlDocVal.documentElement.getElementsByTagName("p") ;
           // alert('pop');
                strBaloonProperties = createPopHtml(prpCountVal[0].getAttribute("l"),prpCountVal[0].getAttribute("i"),prpCountVal[0].getAttribute("d"),prpCountVal[0].getAttribute("t") )
                          // alert('pop_withinfo' + strBaloonProperties );
                

                }
            
            }
                requestValidate.send(null);
             
                return strBaloonProperties;
        
            }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: GetPropertyDetails\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
    }
    
       function createPopHtml(linkToMoreDetails,strImageLink,strMoreDetails,stTitle){
      		 
      		// alert(linkToMoreDetails + ":" + strImageLink + ":" + strMoreDetails + ":" +  stTitle);
      		 
      		var strPop = "<table width='329' border='1'><tr><td colspan=2><b>" +  stTitle + "</b></td></tr><tr><td ><img src='" + strImageLink + "' border='1' width='100'></td><td valign='top'>" + strMoreDetails + "</td></tr><tr><td colspan=2 align=right><a href='" + linkToMoreDetails + "'>mais informacao >>></a></td></tr></table>"	                			
     
            return strPop;                
       }    
    
    function ShowPropertyDetails(propertyID){
        try
        {
            var requestValidate = GXmlHttp.create();
            var strURLValPcode = strSiteURL + "/mapsearch/serverPropertyDetails.asp?propertyID=" + propertyID;
            
                requestValidate.open("GET",strURLValPcode , true);
                requestValidate.onreadystatechange = function() {
            
                if (requestValidate.readyState == 4) {
            
            	var xmlDocVal   = requestValidate.responseXML;
            	var prpCountVal = xmlDocVal.documentElement.getElementsByTagName("p") ;
            
            	document.getElementById("tblPropertyDetails").style.visibility='visible';
            	document.getElementById("imgPropThumb").src= strSiteURL  + "/spi.cmsx?h=115&w=155&pid=" + propertyID;
            	document.getElementById("divAddr").innerHTML = prpCountVal[0].getAttribute("a"); 
                document.getElementById("divPrice").innerHTML = '£' + prpCountVal[0].getAttribute("pr"); 
            
            if (prpCountVal[0].getAttribute("bed") == 1 ) {
                document.getElementById("divBeds").innerHTML = prpCountVal[0].getAttribute("bed") + " bedroom";
            }
            else
            {
                document.getElementById("divBeds").innerHTML = prpCountVal[0].getAttribute("bed") + " bedrooms";
            }
            
                document.getElementById("divType").innerHTML= prpCountVal[0].getAttribute("t2") + " " + prpCountVal[0].getAttribute("t1");
            
            	document.getElementById("divMoreDetails").innerHTML=" <a href='" + strSiteURL + "/si.cmsx?itemID=1355&propertyID=" + propertyID + "&searchType=map'>More Details...</a>";
                }
            
            }
                requestValidate.send(null);
  
        }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: ShowPropertyDetails\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
    
    }

        
    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	ADD POSTCODE LABELS
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
    function TLabelsAdd(map){
        try
        {
        
        var zoomLevel = map.getZoom();
        var center = map.getCenter();
        var requestValidate = GXmlHttp.create();
        var strURLValPcode = strSiteURL + "/mapsearch/serverPropertyCount.asp?lat=" + center.y + "&lon=" +center.x + "&dist=10";


requestValidate.open("GET",strURLValPcode , true);
requestValidate.onreadystatechange = function() {

	if (requestValidate.readyState == 4) {

		var xmlDocVal   = requestValidate.responseXML;
		var prpCountVal = xmlDocVal.documentElement.getElementsByTagName("p") ;

		if(prpCountVal.length>0){

		  for (var i = 0; i < prpCountVal.length; i++) {

			picLabel[i] = new  TLabel();
			picLabel[i].id = prpCountVal[i].getAttribute("pc");
			picLabel[i].anchorLatLng = new GLatLng (parseFloat(prpCountVal[i].getAttribute("la")),parseFloat(prpCountVal[i].getAttribute("lo")));
			
		
			picLabel[i].anchorPoint="bottomCenter";
			picLabel[i].content = "<a href=# onclick=TLabelsRemove('" + parseFloat(prpCountVal[i].getAttribute("lo")) + "','" + parseFloat(prpCountVal[i].getAttribute("la")) + "'," + i + ");><div  style='width=50px;border: 1px solid #9E759D;padding: 0px 0px 0px 0px; no-repeat bottom left;'><div style='background-color: #ffffff; padding: 2px; font-size: 0.7em;' align='centre'><nobr><b>" + prpCountVal[i].getAttribute("pc") + "</b><br/>" + prpCountVal[i].getAttribute("c") + "</nobr></div></div></a>" ;
					
			picLabel[i].percentOpacity = 100;
            
			map.addTLabel(picLabel[i]);


		   }

		}
	}
}
	requestValidate.send(null);
        
        }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: TLabelsAdd\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
    }



    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	REMOVE POSTCODE LABELS
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
    this.TLabelsRemove = function(lon,lat,i){
     
        try
        {

        	for (var i = 0; i < picLabel.length; i++) {
        		map.removeTLabel(picLabel[i]);
        		picLabel[i] =null;
        	}
        	
        	ZoomInto(lat,lon, 13)
        }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: TLabelsRemove\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
    }

    /* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
    '	SELECT PLACE NAME
    ' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
    
    this.selectLocality = function( lon, lat, strName ) {
  try{
    	ClearMultipleResults();
 
    	HidePropertyDetails();

    	document.getElementById("txtLocation").value = strName;

        ZoomInto(lat,lon,13);

    	//EnableSearchFields();
    }
    catch(err)
    {
        var txt="";
        txt="There was an error on on the Method: selectLocality\n\n"
        txt+="Error description: " + err.description + "\n\n"
        alert(txt);
    }
    }

    function ClearMultipleResults(){
    try{
    	document.getElementById("tblSearchForm").style.display = '';
    	document.getElementById("lblMultipleResults").innerHTML = '';
    	document.getElementById("lblMultipleResults").style.display = 'none';
      }
        catch(err)
        {
            var txt="";
            txt="There was an error on on the Method: ClearMultipleResults\n\n"
            txt+="Error description: " + err.description + "\n\n"
            alert(txt);
        }
    }
    
    function HidePropertyDetails(){	

	  //document.getElementById("tblPropertyDetails").style.visibility='hidden';
    }

    //function EnableSearchFields(){
  //  try{
  //  	document.getElementById("txtPmin").disabled = false;
  //  	document.getElementById("txtPmax").disabled = false;
  //  	document.getElementById("drpMinRooms").disabled = false;
  //  	document.getElementById("drpHouseStatus").disabled = false;
  ///  }
  //  catch(err)
  //  {
   //     var txt="";
   //     txt="There was an error on on the Method: ClearMultipleResults\n\n"
   //     txt+="Error description: " + err.description + "\n\n"
   //     alert(txt);
   //     }
   // }
    
/* -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
'	POSTCODE LABELS SCRIPT
' -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~*/
function TLabel(){}
TLabel.prototype.initialize=function(a){
 this.parentMap=a;
 var b=document.createElement('span');
 b.setAttribute('id',this.id);
 b.innerHTML=this.content;
 document.body.appendChild(b);
 b.style.position='absolute';
 b.style.zIndex=1;
 if(this.percentOpacity){this.setOpacity(this.percentOpacity);}
 this.w = document.getElementById(this.id).offsetWidth;
 this.h = document.getElementById(this.id).offsetHeight;
 this.mapTray=a.getPane(G_MAP_MAP_PANE);
 this.mapTray.appendChild(b);
 if(!this.markerOffset){this.markerOffset=new GSize(0,0);}
 this.setPosition();
 GEvent.bind(a,"zoomend",this,function(){this.setPosition()});
 GEvent.bind(a,"moveend",this,function(){this.setPosition()});
}
TLabel.prototype.setPosition=function(a){
 if(a){this.anchorLatLng=a;}
 var b=this.parentMap.fromLatLngToDivPixel(this.anchorLatLng);
 var x=parseInt(b.x);
 var y=parseInt(b.y);
 with(Math){switch(this.anchorPoint){
  case 'topLeft':break;
  case 'topCenter':x-=floor(this.w/2);break;
  case 'topRight':x-=this.w;break;
  case 'midRight':x-=this.w;y-=floor(this.h/2);break;
  case 'bottomRight':x-=this.w;y-=this.h;break;
  case 'bottomCenter':x-=floor(this.w/2);y-=this.h;break;
  case 'bottomLeft':y-=this.h;break;
  case 'midLeft':y-=floor(this.h/2);break;
  case 'center':x-=floor(this.w/2);y-=floor(this.h/2);break;
  default:break;
 }}
 var d=document.getElementById(this.id);
 d.style.left=x-this.markerOffset.width+'px';
 d.style.top=y-this.markerOffset.height+'px';
}
TLabel.prototype.setOpacity=function(b){
 if(b<0){b=0;} if(b>100){b=100;}
 var c=b/100;
 var d=document.getElementById(this.id);
 if(typeof(d.style.filter)=='string'){d.style.filter='alpha(opacity:'+b+')';}
 if(typeof(d.style.KHTMLOpacity)=='string'){d.style.KHTMLOpacity=c;}
 if(typeof(d.style.MozOpacity)=='string'){d.style.MozOpacity=c;}
 if(typeof(d.style.opacity)=='string'){d.style.opacity=c;}
}
GMap2.prototype.addTLabel=function(a){
 a.initialize(this);
}
GMap2.prototype.removeTLabel=function(a){
 var b=document.getElementById(a.id);
 this.getPane(G_MAP_MAP_PANE).removeChild(b);
 delete(b);
}
  
}