function wlMap() {
	
	
	var lat = 0 ; 
	var long = 0 ; 
	
	var map = "" ;
	

	this.draw = function (divId) {
			this.map = new GMap2(document.getElementById(divId));
	}
	
	this.setCenter = function (lat,long, zoom) {
		this.lat = lat ;
		this.long = long ;
		
		
		this.map.setCenter(new GLatLng(lat,long),zoom);
	}
	
	this.setMarker = function (lat,long) {
		coords = new GLatLng(lat,long);
		marker = new GMarker(coords) ;
	    this.map.addOverlay(marker);
	}	
	
	this.zoomIn = function () {
		this.map.zoomIn() ;
	}
	
	this.zoomOut = function () {
		this.map.zoomOut() ;
	}
	
	this.getZoom = function () {
		return this.map.getZoom() ;
	}
	
	this.setZoom = function(zoomLevel) {
		this.map.setZoom(zoomLevel) ;	
	}
}


function loadWlMap(divId, lt, lg) {
	ggMap = new wlMap() ;
	ggMap.draw(divId) ;
	ggMap.setCenter(lt,lg,15) ;
	ggMap.setMarker(lt,lg) ;
}

function loadWlMapTown(divId, lt, lg) {
	ggMap = new wlMap() ;
	
	ggMap.draw(divId) ;
	ggMap.setCenter(lt,lg,5) ;
	ggMap.setMarker(lt,lg) ;
	
	mapMajZoomLevel(ggMap.getZoom()) ;
}

function mapZoomIn() {
	ggMap.zoomIn() ;
	mapMajZoomLevel(ggMap.getZoom()) ;
}

function mapZoomOut() {
	ggMap.zoomOut() ;	
	mapMajZoomLevel(ggMap.getZoom()) ;
}

function mapMajZoomLevel(zoomLevel) {
	var width = 270 ;
	var cleft = Math.round(((zoomLevel * width) / 17) - 10) ;
	
	
	document.getElementById('mapZoomCursor').style.left = cleft + "px" ;
}

cursorDragStartPos = false ;
cursorDragStartPosRelative = false ;
cursorDragTimeOut = false ;
diffPrev = 0 ;

function startDragCursor(obj) {
	cursorDragStartPos = x ;
	cursorDragStartPosRelative = obj.style.left;
}

function moveCursor(obj) {
	if (cursorDragStartPos) {
			tmp = (parseInt(cursorDragStartPosRelative) - (cursorDragStartPos - x)) ;	
			if ((tmp >= 0) && (tmp <= 260)) {
				obj.style.left = tmp + "px" ;	
			}
			else {
				if (tmp < 0) {
					obj.style.left = "0px" ;		
				}
				else if (tmp > 260) {
					obj.style.left = "260px" ;	
				}
			}
			cursorDragTimeOut = window.setTimeout("moveCursor(document.getElementById('" + obj.id + "'));",100) ;
	}
}

function endDragCursor() {
	if (cursorDragTimeOut != false) {
		window.clearTimeout(cursorDragTimeOut) ;
		cursorDragTimeOut = false ;
	}
	
	obj = document.getElementById('mapZoomCursor') ;
	
	tmp = (parseInt(cursorDragStartPosRelative) - (cursorDragStartPos - x)) + "px" ;	
	
	if ((tmp >= 0) && (tmp <= 260)) {
		obj.style.left = tmp + "px" ;	
	}
	else {
		if (tmp < 0) {
			obj.style.left = "0px" ;		
		}
		else if (tmp > 260) {
				obj.style.left = "260px" ;	
		}
	}
	
	destPos = parseInt(obj.style.left) ;
	
	zoomLevel = Math.round((destPos * 17) / 260) ;

	ggMap.setZoom(zoomLevel) ;
	mapMajZoomLevel(ggMap.getZoom()) ;
	
	cursorDragStart = false ;
}
