var map = null;var smap = null;
var geocoder = null;
var lstl="T";
var lgkl="O";
var geoXml=[];
var aOBJ=[];
var clk=false;
var key='NEW';
var tObj=''
var SlL={R:255,G:0, B:0, O:0.95, W:2, RGB:'#FF0000'},SlF={R:0,G:255, B:0, O:0.95, RGB:'#00FF00'},SlS={R:0,G:0, B:255, O:0.95, W:2, RGB:'#0000FF'};	
var icon= new GIcon();
var dIcn = 'http://maps.google.com/mapfiles/kml/paddle/blu-blank.png';
var dLN={O:0.95, W:2, RGB:'#FF0000'},dPF={O:0.95, RGB:'#00FF00'},dPS={O:0.95, W:2, RGB:'#0000FF'};	
var SIm={N:58,S:57, W:56, E:57, LN:"/img/target.png"}
var stObj,winSD, winOD, winRMV, winTD, winGE;
var opSTND=1.0;
var streetviewClient;SCPGE=false;
function ShowOD(ID, plnk, Nmbr){
	if(!winOD){
	  frmTPS = new Ext.form.FormPanel({
		 region:'center',
		 baseCls: 'x-plain',
		 labelWidth: 45,
		 margins   : '3 3 3 3', 
		 height:200,
		 items: [
		    cbox=new Ext.form.ComboBox({
	             fieldLabel: 'Type',
	             hiddenName:'Name',
	             store: new Ext.data.ArrayStore({
	                 fields: ['abbr', 'Name', 'link']
	             }),
	             valueField:'abbr',
	             displayField:'Name',
	             typeAhead: true,
	             mode: 'local',
	             triggerAction: 'all',
	             selectOnFocus:true,
				 readOnly:true,
		         anchor: '100%',
		         listeners: {select: function(combo, record, idx) {
		    	 golnk=record.get('link');
		    	  switch(cbox.value){
		    	    case "H":
				    	   frmTPS.getComponent('prml').setValue('<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="'+ golnk +'"></iframe><br /><small><a href="'+ golnk +'" style="color:#0000FF;text-align:left">Open</a></small>')	 
                        break
		    	    case "MK":
		    	    case "MR":
		    	    case "MG":
				    	   golnk=golnk+GetT("iev")
		    	    default:
		    	   frmTPS.getComponent('prml').setValue(golnk)
		    	  }
		          }}		         
	        }),{
		         xtype: 'textfield',
		         fieldLabel: 'URL',
		         itemId:'prml',
		         anchor: '100%'
	       }
		]
	});	
	winOD = new Ext.Window({
	            title    : 'Output Wizard',
	            closable : true,
	            width    : 400,
	            height   : 150,
	        	minHeight: 145,
	            border : true,
	            plain    : true,
	            layout   : 'border',
	            closeAction :'hide',
	            items    : [frmTPS],
	            buttonAlign:'center',
	            buttons: [{
	                text     : 'Open',
	                handler  : function(){
	            	if (cbox.value!="S"){window.open(golnk)}else{ShowSD(GetMapType(), null, null, map.getZoom(), tID )}	
	            	}
	             },{
	                text     : 'Close',
	                handler  : function(){
	          	    winOD.hide();
	             }
	            }]
	}
	)
	}
	golnk=mHost+'Event.html?k='+ ID
	tID=ID
	myData=[]
	switch(Nmbr){
    case 5:
		myData=[
		        ['MK','KML', mHost+'info?t=K&MP='+ ID+"&e="],
		        ['MR','GeoRSS', mHost+'info?t=R&MP='+ ID+"&e="],
			    ['MG','GPX', mHost+'info?t=G&MP='+ ID+"&e="],
			    ['VW','View', mHost+'maps/map.html?MP='+ ID]			    
		       ];
		   golnk=mHost+'MainMap.html?MP='+ ID
	       break;	
    case 4:
		myData=[
		        ['K','KML', mHost+'info?t=K&K='+ ID],
		        ['R','GeoRSS', mHost+'info?t=R&K='+ ID],
			    ['G','GPX', mHost+'info?t=G&K='+ ID],
				['S','Static Map', mHost+'StMap.html?k='+ ID]
		       ];
	       break;
    case 3:
		myData=[['K','KML', mHost+'info?t=K&K='+ ID]];
	       break;
    case 2:
		myData=[['K','KML', plnk]];
	       break;
	}	
	myData.push(['E','Event On Map', golnk])
	myData.push(['H','HTML', golnk])
	if (Nmbr!=5){
	 myData.push(['A','Gadget', mHost+'info?t=GA&K='+ ID])
	}else{
	 myData.push(['A','Gadget', mHost+'info?t=GA&MP='+ ID])
	}
	cbox.store.loadData(myData)

	cbox.setValue("E")
	frmTPS.getComponent('prml').setValue(golnk)
	winOD.show();
}
function ShowSD(Type,lat, lng, Zoom, ID){		  
    if(!winSD){
       winSD = new Ext.Window({
           applyTo     : 'SD-win',
           layout      : 'fit',
           width       : 400,
           height      : 400,
           closeAction :'hide',
           plain       : true,
           items      : new Ext.Panel({
                deferredRender : false,
                border         : false,
               html:'<div style="border: 1px ridge #E8ECF9; height: 100%; width: 100%; " id="smap"></div>'
            }),              
           buttonAlign:'center',
           buttons: [{
               text     : 'To Center',
               handler  : function(){ToCntr(stObj)}
            },{
               text     : 'Create',                  
                   handler  : function(){
         	   mt = 0;
        	   for (var i=0;i<smap.getMapTypes().length;i++) {
        		   if (smap.getCurrentMapType() == smap.getMapTypes()[i]) {
        		       mt = i;
        		      }
        		    }
        	  smap.checkResize()
        	  if (tID){
        		  mtd='k='+tID
        	  }else{
        		  mtd='lc='+stObj.getPoint().lat()+',' + stObj.getPoint().lng()
        	  }	
        	  smp=document.getElementById("smap")
        	  
         	  window.open('/StMap.html?'+ mtd+ '&zm=' + smap.getZoom() +'&mt='+ mt + '&sm=' + smap.getCenter().toUrlValue() + '&sz='+ (smp.clientWidth <512 ? smp.clientWidth : 512)+'x'+(smp.clientHeight <512 ? smp.clientHeight : 512))
               }
           },{
               text     : 'Close',
               handler  : function(){
         	   winSD.hide();
            }
           }]
       });
     smap = new GMap2(document.getElementById("smap"));
  	 smap.addMapType(G_PHYSICAL_MAP);
     smap.addControl(new GHierarchicalMapTypeControl());
     smap.addControl(new GSmallZoomControl);
     smap.addControl(new GMapTypeControl());
     smap.enableScrollWheelZoom()
   }
   winSD.show();
   smap.checkResize()
   smap.setMapType(smap.getMapTypes()[Type])
   if (stObj) {smap.removeOverlay(stObj); stObj=null}
   smap.clearOverlays()
   tID=ID
   if (ID){
	   stObj=aOBJ[ID].copy()
   }else{
   var mIcon = new GIcon();
   mIcon.image = 'http://maps.google.com/mapfiles/kml/paddle/S.png'
   mIcon.shadow = "";
   mIcon.iconSize = new GSize(34, 34);
   mIcon.shadowSize = new GSize(37, 34);
   mIcon.iconAnchor = new GPoint(9, 34);
   mIcon.infoWindowAnchor = new GPoint(9, 2);
   mIcon.infoShadowAnchor = new GPoint(18, 25);
   markerOpt = { icon:mIcon , draggable: true};

  var point = new GLatLng(lat, lng);
  stObj = new GMarker(point, markerOpt );
  }
   if (lat){smap.setCenter(new GLatLng(lat,lng), Zoom)}else{ToCntr(stObj)
	   };
   smap.addOverlay(stObj);
};
function ToCntr(stObj){
smap.checkResize();	
if(stObj.getBounds){smap.setCenter(stObj.getBounds().getCenter(), smap.getBoundsZoomLevel(stObj.getBounds()))}else{smap.setCenter(stObj.getLatLng(), map.getZoom())}	
}
function onLoad(Lat, Lon, Zm) {
 if (GBrowserIsCompatible()) {
     map = new GMap2(document.getElementById("map"));
     map.setUIToDefault();
     map.addMapType(G_PHYSICAL_MAP);
	 map.addMapType(G_SATELLITE_3D_MAP);
     map.addControl(new GHierarchicalMapTypeControl());
     map.addControl(new GMapTypeControl());
     map.addControl(new GOverviewMapControl());
     Loc = GetCookie('Loc')
     if (Loc == null) {map.setCenter(new GLatLng(Lat,Lon), Zm);}else{Go(Loc);}
     SetT("i",GetCookie('Tag'));
     lstl=GetCookie('Lgk');if (lstl==null){lstl="T"};if (lstl!="F"){Ext.getCmp('StOn').toggle(true);}
     clk=GetCookie('Adr');if (clk==null || clk=='false'){clk=false};
     Ext.getCmp('SAD').toggle(clk);
     geocoder = new GClientGeocoder(); GEvent.addListener(map, "click", clicked);
     icon.image = dIcn;
     icon.shadow = "";
     icon.iconSize = new GSize(34, 34);
     icon.shadowSize = new GSize(37, 34);
     icon.iconAnchor = new GPoint(9, 34);
     icon.infoWindowAnchor = new GPoint(9, 2);
     icon.infoShadowAnchor = new GPoint(18, 25);
     
     
     icon_NE = new GIcon(); 
     icon_NE.image = 'http://imagine-it.org/google/marker_NE_icon.png';
     icon_NE.shadow = '';
     icon_NE.iconSize = new GSize(16, 16);
     icon_NE.shadowSize = new GSize(11, 5);
     icon_NE.iconAnchor = new GPoint(11, 5);
     icon_NE.dragCrossImage = '';

     icon_SW = new GIcon(); 
     icon_SW.image = 'http://imagine-it.org/google/marker_SW_icon.png';
     icon_SW.shadow = '';
     icon_SW.iconSize = new GSize(16, 16);
     icon_SW.shadowSize = new GSize(11, 10);
     icon_SW.iconAnchor = new GPoint(3, 10);
     icon_SW.dragCrossImage = '';

     icon_move = new GIcon();
     icon_move.image = 'http://imagine-it.org/google/marker_move_icon.png';
     icon_move.shadow = '';
     icon_move.iconSize = new GSize(24, 24);
     icon_move.shadowSize = new GSize(5, 15);
     icon_move.iconAnchor = new GPoint(5, 15);
     icon_move.dragCrossImage = '';
	 streetviewClient = new GStreetviewClient();
	 map.addControl(new ExtMapTypeControl( { posRight: 350,  showMore: true } ));
 } else {
     alert("Sorry, the Google Maps API is not compatible with this browser");
 }
}

function GetLoc(){
var Loc = GetCookie('Loc')
if (Loc == null) {
	map.setCenter(new GLatLng(57.715885,58.908691), 6); 	
}else{Go(Loc);}
}
function Go(Loc){
  try{
	 var st=Loc.split(",");
	 map.setCenter(new GLatLng(st[0],st[1]),parseInt(st[2]))
	 mt=0; if (st[3]!=null){if (st[3]!=4){mt=st[3]};map.setMapType(map.getMapTypes()[mt])}
  }catch (e) {
	 map.setCenter(new GLatLng(0,0), 2); 	
  }	
}
function GetMapType (){
    mt = 0;
    for (var i=0;i<map.getMapTypes().length;i++) {
      if (map.getCurrentMapType() == map.getMapTypes()[i]) {
        mt = i;
      }
    }
return mt
}
function SaveCookies(){
loc=map.getCenter().lat()+","+map.getCenter().lng()+","+map.getZoom()+","+GetMapType()
SetCookie ('Loc',loc, exp);
Tag=GetT("iev")	
SetCookie ('Tag',Tag, exp);
SetCookie ('Lgk',lstl, exp);
SetCookie ('Adr',clk, exp);
}

function GetT(name){
	Tag=""
	var els=document.getElementsByName(name);
	for ( var i = 0; i < els.length; i++ ) {
		if (els[i].className=="select"){
			if(Tag!=""){Tag=Tag+'|'}
			   Tag=Tag+ els[i].id.slice(1)
			}
		} 
	return Tag	
}
function SetT(indx, Tag){
  if ((Tag != null) && (Tag!="")) {
   Tags=Tag.split("|")	
   for (var j=0; j<Tags.length; j++) {
		var el=document.getElementById(indx+Tags[j]);
		if (el != null) {el.className="select"}
	  }	  
  }
}

function showAddress(address) {
	  if (geocoder) {
	    geocoder.getLatLng(address,
	        function(point) {
	          if (!point) {
	            alert(address + " not found");
	          } else {
	            map.setCenter(point, map.getZoom());
	          }
	        }
	    );
	  }
}
function clicked(overlay, latlng) {
	if (clk){
		if (latlng) {
			geocoder.getLocations(latlng, function(addresses) {
				if(addresses.Status.code != 200) {
					alert("reverse geocoder failed to find an address for " + latlng.toUrlValue());
				}else {
					var address = addresses.Placemark[0];
					var myHtml = "<br>" + address.address + "<br><a href ='javascript:ShowSD(" + GetMapType ()+ "," + latlng.toUrlValue()+ "," + map.getZoom() + "); '>Static Map</a>    <a href='/info?t=K&K=N&LC="+latlng.toUrlValue()+"&CN=" + encodeURIComponent(address.address)+"' target='_blank'>Google Earth</a>    <a href='javascript:SetMark(" + latlng.y + "," + latlng.x + ", address.address)' id='AM'>Add Marker</a>"
					map.openInfoWindowHtml(latlng, myHtml, {maxWidth: 250});
					if (SCPGE){
						ShowPano();
						streetviewClient.getNearestPanorama(latlng, showPanoData);
					}
				}
			});
		}
	}
}

var myPano
function showPanoData(panoData) {
    if (panoData.code != 200) {
      //alert('showPanoData: Server rejected with code: ' + panoData.code);
      return;
    }else{}
    myPano.setLocationAndPOV(panoData.location.latlng);
}
var pnlGE = new Ext.Panel({
    resisable:true,
    layout: 'fit',
    items:{
	html:"<div name='pano' id='pano' style='background:#D5E4F2; width: 100%; height: 100%'></div>"
}
});
function ShowPano(){
    if(!winGE){
    	winGE = new Ext.Window({
            layout: 'fit',
            title: 'Street Panorama',
            closeAction: 'hide',
            width:270,
            height:300,
            minWidth:250,
            minHeight:250,            
            items: pnlGE,
            listeners: { resize: function(){if (myPano){myPano.checkResize()}}}
        });
        
    }    
    winGE.show();
    if (!myPano){myPano = new GStreetviewPanorama(document.getElementById("pano"));GEvent.addListener(myPano, "error", handleNoFlash);}
}
function handleNoFlash(errorCode) {
	if (errorCode == FLASH_UNAVAILABLE) {
		alert("Error: Flash doesn't appear to be supported by your browser");
		return;
	}
} 
function SetMark(lat,lng,add){
	RetObj();tObj='PNT';
	var point = new GLatLng(lat,lng);
    marker = new GMarker(point, { icon:icon, draggable: true});
    GEvent.addListener(marker, 'click', function() {marker.openInfoWindowHtml(add);});
    GEvent.addListener(marker, "dragstart", function() {marker.closeInfoWindow();});
    map.addOverlay(marker);
	key='NEW'; ShowADDdlg("Anonim", Email, null, "Address",add);	
}
function ChEv(butId, Q) {
	  f=document.getElementById(butId).className;
	  if (f=="select"){f="unselect";}
	  else{f ="select";}
	  document.getElementById(butId).className=f;
	  if(Q==1){ChQ(true)}
}

function ChSt(){
	if (lstl=="F"){lstl="T"}else{lstl="F"}
	ChQ(true)
}
function ChQ(St){
	if (St){grid.setTitle('<b style="color: #FF0000">Objects. Click Refresh </b>')}else{grid.setTitle("Objects")}	
}
function ShowHide(ID,vsbl){
 if (aOBJ[ID]){	
  if (vsbl){
	map.addOverlay(aOBJ[ID])
  }else{
	map.removeOverlay(aOBJ[ID])
  }	
 }	  
}
function RdObj(DT){
	  if (!aOBJ[DT.NN]){
	    switch (DT.TP) {
	      case "PNT":
	        RdPNT(DT.AI[0], DT.NN, CrHTML(DT))
	        break;
	      case "LST":
	        RdLST(DT.AI[0], DT.NN, CrHTML(DT))
	        break;
	      case "PLG":
	        RdPLG(DT.AI[0], DT.NN, CrHTML(DT))
	        break;
	      case "KML":
	        RdKML(DT.NN, DT.AI[0].LN, DT.DS)
	        break;
	      case "TLE":
	          RdTLE(DT.NN, DT.AI[0].LN)
	          break;
	      case "IMG":
	          RdIMG(DT.NN, DT.AI[0])
	          break;
	    }		 		
	  }
	}

function RdIMG(ID, AI){
  if (lstl=='T'){tIm = AI.LN;}else{tIm = SIm.LN;}	
  aOBJ[ID] = new GGroundOverlay(tIm, new GLatLngBounds(new GLatLng(AI.S, AI.W), new GLatLng(AI.N, AI.E)));
}

function RdKML(ID, Link, DS){
 aOBJ[ID]=new GGeoXml(Link, function() {
  if (!aOBJ[ID].loadedCorrectly()){
   Ext.Msg.show({title:'Error',
    msg: '<b><font color="#ff0000">No loaded KML file</font></b><br>'+DS,
    buttons: Ext.Msg.OK,icon: Ext.MessageBox.ERROR});
   aOBJ[ID]=null
  }
 });
}

function RdTLE(ID, Link){
  aOBJ[ID] = new GTileLayerOverlay(
	 new GTileLayer(null, null, null, {
	 tileUrlTemplate: Link, 
	 isPng:true,
	 opacity:1.00}
     )
  );
  aOBJ[ID].getTileLayer().getOpacity = function() { return this.opacity; }
  if (ID=='stnd'){op=opSTND}else{op=1.0}
  aOBJ[ID].getTileLayer().opacity=op
}
function RdSTN(ID){
	if (!aOBJ[ID]){
	    switch (ID) {
	    case "G_NORMAL_MAP":
	    	TileLayer=G_NORMAL_MAP.getTileLayers()[0]
	      break;
	    case "G_SATELLITE_MAP":
	    	TileLayer=G_SATELLITE_MAP.getTileLayers()[0]
	      break;
	    case "G_HYBRID_MAP":
	    	TileLayer=G_HYBRID_MAP.getTileLayers()[1]
	      break;
	    case "G_PHYSICAL_MAP":
	    	TileLayer=G_PHYSICAL_MAP.getTileLayers()[0]
	      break;
	  }		 		
		
	 aOBJ[ID] = new GTileLayerOverlay(TileLayer);
	 aOBJ[ID].getTileLayer().getOpacity = function() { return this.opacity; }
	 aOBJ[ID].getTileLayer().opacity=1.0
}
}  
function RdPNT(AI, ID, html){
    var mIcon = new GIcon();
    if (lstl=='T'){mIcon.image = AI.Im;
             }else{mIcon.image = dIcn;}
    mIcon.shadow = "";
    mIcon.iconSize = new GSize(34, 34);
    mIcon.shadowSize = new GSize(37, 34);
    mIcon.iconAnchor = new GPoint(9, 34);
    mIcon.infoWindowAnchor = new GPoint(9, 2);
    mIcon.infoShadowAnchor = new GPoint(18, 25);
	markerOpt = { icon:mIcon , draggable: true};

	var point = new GLatLng(AI.LC[0].lat, AI.LC[0].lng);
	aOBJ[ID] = new GMarker(point, markerOpt );
	aOBJ[ID].disableDragging()
	html=html
	GEvent.addListener(aOBJ[ID], "click", function() {aOBJ[ID].openInfoWindowHtml(html);});
}

function RdPLG(AI, ID, html){
    var pts = GetCoord(AI.LC);
    if (lstl=='T'){aOBJ[ID]=new GPolygon(pts, AI.BC, AI.BW, AI.BO, AI.FC, AI.FO);
             }else{aOBJ[ID]=new GPolygon(pts, dPS.RGB, dPS.W, dPS.O, dPF.RGB, dPF.O)}
	sA=aOBJ[ID].getArea();
	loc=aOBJ[ID].getBounds().getCenter().toUrlValue()
	if (sA>100000){sA=(sA/1000000).toFixed(2) + " km<SUP>2</SUP>"}else{sA=(sA).toFixed(2) + " m<SUP>2</SUP>"}
	html=html + "<br><b>Area:</b> "+ sA
	GEvent.addListener(aOBJ[ID], "click", function(latlng) {map.openInfoWindowHtml(latlng, html); });
}

function RdLST(AI, ID, html){
    var pts = GetCoord(AI.LC);
    if (lstl=='T'){aOBJ[ID]=new GPolyline(pts,  AI.C, AI.W, AI.O);
             }else{aOBJ[ID]=new GPolyline(pts,  dLN.RGB, dLN.W, dLN.O);}
	sA=aOBJ[ID].getLength();
	loc=aOBJ[ID].getBounds().getCenter().toUrlValue()
	if (sA>1000){sA=(sA/1000).toFixed(2) + " km"}else{sA=(sA).toFixed(2) + " m"}
	html=html + "<br><b>Length:</b> "+ sA
	GEvent.addListener(aOBJ[ID], "click", function(latlng) {map.openInfoWindowHtml(latlng, html);}); 	
}
function CrHTML(sIn){
	sOut='<b style="color: #000080">'+sIn.DS+'</b><br> <span style="font-size: 8pt">by '+sIn.Au+'</span><div style="margin-top: 5px; margin-bottom: 5px;">'+sIn.DL+'</div>'
	return sOut	
}

function GetCoord(jd){
	  var pts = [];
	  for (var j=0; j<jd.length; j++) {
		pts[j] = new GLatLng(jd[j].lat, jd[j].lng);
	  }
return pts	
} 
function ShowTD(N){		  
    if(!winTD){
       winTD = new Ext.Window({
   		title: 'Opacity',
		width: 300,
		height:100,
		layout: 'border',
		plain:true,
		closable :false,
	    closeAction :'hide',
		buttonAlign:'center',
           resizable:false,
           items :new Ext.form.FormPanel({
       	    region:'center',
    	    baseCls: 'x-plain',
    	    margins   : '3 3 3 3', 
    	    items: [ {
    	        xtype: 'slider',
    	        id:'sldrOP',
    	        hideLabel: true,
    	        anchor: '100%',
    	        clickToChange:false,
    	        plugins: new Ext.ux.SliderTip2()
    	    }
    	]
    	}),              
	          buttonAlign:'center',
           buttons: [{
               text     : 'Default',
               tooltip:'Set Default Value',
               handler  : function(){
        	   switch (chDT.TP) {
        	   case "PLG":
        		  tV.O=chDT.AI[0].BO; tV.FO=chDT.AI[0].FO;val=tV.FO;
        		  break;
        	   case "LST":
        		  tV.O=chDT.AI[0].O;val=tV.O;
        		  break;
        	   case "TLE":
        		  tV.O=1.0;val=tV.O;
        	   break;
        	 }		         
        	   SetOpacity(tN,tV); Ext.getCmp('sldrOP').setValue(Number(val*100))
            }
           },{
               text     : 'Close',
               tooltip:'Close',
               handler  : function(){
          	   winTD.hide();
            }
           }]
       });
   }
   winTD.show();
   tV={}
   tN=N;
   switch (chDT.TP) {
   case "PLG":
	  tV.O=chDT.AI[0].BO; tV.W=chDT.AI[0].BW;tV.C=chDT.AI[0].BC;
	  tV.FO=chDT.AI[0].FO; tV.FC=chDT.AI[0].FC;
	  val=aOBJ[N].opacity;
	  break;
   case "LST":
	  tV.O=chDT.AI[0].O; tV.W=chDT.AI[0].W;tV.C=chDT.AI[0].C;
	  val=aOBJ[N].opacity;
	  break;
   case "TLE":
	   tV.O=1.0
	   val=aOBJ[N].getTileLayer().opacity
   break;
 }		         
   Ext.getCmp('sldrOP').setValue(Number(val*100)) 
};
function SetOpacity(N,V){
 switch (chDT.TP) {
  case "PLG":
	   aOBJ[N].setFillStyle({color:V.FC,opacity:V.FO});
  case "LST":
	   aOBJ[N].setStrokeStyle({color:V.C,weight:V.W,opacity:V.O});   
   break;
  case "TLE":
   aOBJ[N].getTileLayer().opacity = V.O
   if (chDT.checked){
	    map.removeOverlay(aOBJ[N]);
	    map.addOverlay(aOBJ[N]);
   } 
   break;
 }		         	
}

Ext.ux.SliderTip2 = Ext.extend(Ext.Tip, {
    minWidth: 10,
    offsets : [0, -10],
    init : function(slider){
        slider.on('dragstart', this.onSlide, this);
        slider.on('drag', this.onSlide, this);
        slider.on('changecomplete', this.onChangecomplete, this);
        slider.on('dragend', this.hide, this);        
        slider.on('destroy', this.destroy, this);
    },

    onChangecomplete : function(slider){
    	tV.FO=Ext.getCmp('sldrOP').getValue()/100; tV.O=tV.FO;
 	    SetOpacity(tN,tV)
    	this.hide;
    },
    
    onSlide : function(slider){
        this.show();
        this.body.update(this.getText(slider));
        this.doAutoWidth();
        this.el.alignTo(slider.thumb, 'b-t?', this.offsets);        
    },

    getText : function(slider){
        return String(slider.getValue());
    }
});