function TLabel(){}

TLabel.prototype.initialize=function(a){
 this.parentMap=a;
 this.mapTray=a.getPane(G_MAP_FLOAT_PANE);

 //if IE create shadow element
 if (document.all) {
	 var s=document.createElement('span');
	 s.setAttribute('id','shadow-'+this.id);
	 s.innerHTML='&nbsp;';
 	 s.style.position='absolute';
	 document.body.appendChild(s);
	 this.mapTray.appendChild(s);
 }

 //create box
 var b=document.createElement('span');
 b.setAttribute('id',this.id);
 b.innerHTML=this.content;
 document.body.appendChild(b);
 b.style.visibility = 'hidden';
 b.style.position='absolute';

 this.w = document.getElementById(this.id).offsetWidth;
 this.h = document.getElementById(this.id).offsetHeight;

 if(this.percentOpacity){this.setOpacity(this.percentOpacity);}
 this.mapTray.appendChild(b);

 if(!this.markerOffset){this.markerOffset=new GSize(0,0);}

 // If IE create style apha bg object
 if (b.currentStyle) {
 	  // If BG is none need
 		s.style.height = b.currentStyle.height;
 		s.style.width = b.currentStyle.width;
 		s.style.padding = b.currentStyle.padding;
 		s.style.margin = b.currentStyle.margin;
 		var bgfile = b.currentStyle.backgroundImage;
 		bgfile = bgfile.substring(bgfile.indexOf('"')+1,bgfile.lastIndexOf('"'));
 		s.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src='" + bgfile +"')";
 		b.style.background = 'none';
 }

 this.setPosition();
 GEvent.bind(a,"zoomend",this,function(){this.setPosition()});
 //GEvent.bind(a,"moveend",this,function(){this.setPosition()});

}
//EO initialize

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';
 // If IE apply style to shadow
 if (d.currentStyle) {
 		var s=document.getElementById('shadow-'+this.id);
 		s.style.left = d.style.left;
 	  s.style.top = d.style.top;
 		s.style.visibility = 'visible';
 }
 d.style.visibility = 'visible';

}
//EO setPosition

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_FLOAT_PANE).removeChild(b);
 delete(b);
 // If IE made a shadow remove it.
 var s=document.getElementById('shadow-'+a.id);
 if (s) {
  this.getPane(G_MAP_FLOAT_PANE).removeChild(s);
  delete(s);
 }
}
