/**
 * @author Cristián Aguirre, Informática y Automatización Ltda., http://www.infomatic.cl, http://www.dondeestacionar.cl/
 * @copyright 2010
 */
process_lug = function(doc) {
	var jsonData = eval('(' + doc + ')');			// === Parse the JSON document === 
	var doSetupPoly = false;
	side_bar_html[4] = '';
	for (var i=0; i<jsonData.ce.length; i++) {
		var point = new GLatLng(jsonData.ce[i].lat, jsonData.ce[i].lng);
		var markerce = createMarker_CE(point, jsonData.ce[i].tipo_lug, jsonData.ce[i].nom_lug, jsonData.ce[i].descripcion_iw, jsonData.ce[i].icono_url,4,'ce');
		batch_ce.push(markerce);																																	//map.addOverlay(marker); 	
		var coordenadasPoly_ce = new Array(); 
		if (jsonData.ce[i].polygon.puntos.length>0){
			doSetupPoly = true;
			for (var k=0; k<jsonData.ce[i].polygon.puntos.length; k++){ 
				coordenadasPoly_ce[k] = new GLatLng(parseFloat(jsonData.ce[i].polygon.puntos[k].lat),parseFloat(jsonData.ce[i].polygon.puntos[k].lng)); 
			}
			p_SColor = jsonData.ce[i].polygon.SColor;
			p_SWeight = parseFloat(jsonData.ce[i].polygon.SWeight);
			p_SOpacity = parseFloat(jsonData.ce[i].polygon.SOpacity);
			p_FColor = jsonData.ce[i].polygon.FColor;
			p_FOpacity = parseFloat(jsonData.ce[i].polygon.FOpacity);
			p_opts = jsonData.ce[i].polygon.opts;
			polygons_ce[i] = new google.maps.Polygon(coordenadasPoly_ce,p_SColor, p_SWeight, p_SOpacity,p_FColor, p_FOpacity,p_opts);
		}
	}
	setupMarkersCE();
	if (doSetupPoly){setupPolygonsCE();}
	updateIH('divLugares', side_bar_html[4],'input');
	side_bar_html[4]="";
}

function createMarker_CE(point,tipo_est,nom_esta,descripcion_iw,icono_url,ic,VOI) {
	var baseIcon = new GIcon();
	baseIcon.iconSize = new GSize(24,24);
	baseIcon.shadowSize = new GSize(24,24);
	baseIcon.iconAnchor = new GPoint(12,12);
	baseIcon.infoWindowAnchor = new GPoint(24,0);
	var icono = new GIcon(baseIcon, icono_url);
	var marker = new GMarker(point, {icon: icono, draggable:false });
	GEvent.addListener(marker, "click", function() {
		html_info_window = creaInfoWindow(nom_esta, descripcion_iw, point);
		movimientoxClick = true;
		marker.openInfoWindowHtml(html_info_window);
		});
	// save the info we need to use later for the side_bar
	objGmarkers[VOI][i] = marker;
	html_info_window = creaInfoWindow(nom_esta, descripcion_iw, point);
	objHtmls[VOI][i]= html_info_window;			
	
	// add a line to the side_bar html
	if (tipo_est=='lug'){
		if (side_bar_html[ic] == undefined){
			side_bar_html[ic] = '<li><span class="nombre_item" onclick="javascript:muestraInfo(' + i + ',\'' + VOI + '\')">' + nom_esta + '</span></li>';
			//side_bar_html[ic] = '-&nbsp;<span class="nombre_item" onclick="javascript:muestraInfo(' + i + ')">' + nom_esta + i + '</span><br>';
		} else {
			side_bar_html[ic] += '<li><span class="nombre_item" onclick="javascript:muestraInfo(' + i + ',\'' + VOI + '\')">' + nom_esta + '</span></li>';
		}
	}
	i++; //obj
	return marker;
}
function updateMarkersCE(){
	if (batch_ce.length == 0){
		var bounds = map.getBounds();
		var northEast = bounds.getNorthEast();
		var southWest = bounds.getSouthWest();
		var nivelZoom = map.getZoom();
		GDownloadUrl(im_vars.d+im_vars.b, process_lug,"NElng="+northEast.lng()+"&NElat="+northEast.lat()+"&SWlng="+southWest.lng()+"&SWlat="+southWest.lat()+"&NivelZoom="+nivelZoom+"&strCapa=ce&IMKey="+im_vars.c, im_vars.e);
	}
}
		
function removedorCE(){
		var markerInfo=false;
		infoWindow=map.getInfoWindow();
		if(!infoWindow.isHidden()){
			var infoWindowPoint=infoWindow.getPoint();
		}
		for(var i = 0; i < batch_ce.length; i++){
			var latlng=batch_ce[i].getLatLng();
			if(!infoWindow.isHidden()){
				if(latlng.lat()==infoWindowPoint.y && latlng.lng()==infoWindowPoint.x){
					markerInfo=batch_ce[i];
				}else{
					mgr.removeMarker(batch_ce[i]);
				}
			}else{
				mgr.removeMarker(batch_ce[i]);
			}
		}
		removedorPolygonCE();
		batch_ce = [];
		objGmarkers.ce = [];
		objHtmls.ce = [];			
		batch_ce.length = 0;
		side_bar_html[4] = "";
		updateIH('divLugares', side_bar_html[4],'input');
		if(markerInfo){
			batch_ce[0]=markerInfo;
			mgr.addMarker(batch_ce[0],1);
		}
}

function setupMarkersCE() {
	mgr.addMarkers(batch_ce, 11); // Capa estacionamientos
	mgr.refresh();
}
function setupPolygonsCE() {
	if (map.getZoom()>12){
		for (var i = 0; i < polygons_ce.length; i++){
			map.addOverlay(polygons_ce[i]);
		}
	}			
}
		
function removedorPolygonCE(){
	for(var i = 0; i < polygons_ce.length; i++){
		if (polygons_ce[i]!=undefined){
			map.removeOverlay(polygons_ce[i]);
		}
	}/**/
	//map.clearOverlays();
	coordenadasPoly_ce = [];
	coordenadasPoly_ce.length = 0;
	polygons_ce = [];
	polygons_ce.length = 0;
}
