/**
 * @author Cristián Aguirre, Informática y Automatización Ltda., http://www.infomatic.cl, http://www.dondeestacionar.cl/
 * @copyright 2010
 */
 process_it_ini = function(doc) {
	var jsonData = eval('(' + doc + ')');
	side_bar_html[0] = '';
	for (var i=0; i<jsonData.markers.length; i++) {
		var point = new GLatLng(jsonData.markers[i].lat, jsonData.markers[i].lng);
		var marker = createMarkerE(point, jsonData.markers[i].tipo_est, jsonData.markers[i].nom_esta, jsonData.markers[i].descripcion_iw, jsonData.markers[i].icono_url,0,'e');
		batch_e.push(marker);																																	//map.addOverlay(marker); 	
		
		var coordenadasPoly = new Array(); 
		for (var k=0; k<jsonData.markers[i].polygon.puntos.length; k++){
			coordenadasPoly[k] = new GLatLng(parseFloat(jsonData.markers[i].polygon.puntos[k].lat),parseFloat(jsonData.markers[i].polygon.puntos[k].lng)); 
		}
		p_SColor = jsonData.markers[i].polygon.SColor;
		p_SWeight = parseFloat(jsonData.markers[i].polygon.SWeight);
		p_SOpacity = parseFloat(jsonData.markers[i].polygon.SOpacity);
		p_FColor = jsonData.markers[i].polygon.FColor;
		p_FOpacity = parseFloat(jsonData.markers[i].polygon.FOpacity);
		p_opts = jsonData.markers[i].polygon.opts;
		polygons_e[i] = new google.maps.Polygon(coordenadasPoly,p_SColor, p_SWeight, p_SOpacity,p_FColor, p_FOpacity,p_opts);
	}
	for (var i=0; i<jsonData.accesos.length; i++) {
		var point_acc = new GLatLng(jsonData.accesos[i].lat, jsonData.accesos[i].lng);
		var marker_acc = createMarker_acc(point_acc, jsonData.accesos[i].nom_mar, jsonData.accesos[i].descripcion_iw, jsonData.accesos[i].icono_url,i);
		batch_acc.push(marker_acc);																																	//map.addOverlay(marker); 	
	}/**/
	setupMarkersE();
	//varic++;
	setupPolygonsE();
	updateIH('divPublicos', side_bar_html[0],'input');
	side_bar_html[0]="";
}   
function createMarkerE(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 (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 updateMarkersE(){
	var bounds = map.getBounds();
	var northEast = bounds.getNorthEast();
	var southWest = bounds.getSouthWest();
	var nivelZoom = map.getZoom();
	GDownloadUrl(im_vars.d+im_vars.a, process_it_ini,"NElng="+northEast.lng()+"&NElat="+northEast.lat()+"&SWlng="+southWest.lng()+"&SWlat="+southWest.lat()+"&NivelZoom="+nivelZoom+"&strCapa=e&IMKey="+im_vars.c, im_vars.e);
}
		
function removedorE(){
	/**/var info;
	var markerInfo=false;
	var markerInfo_acc=false;
	infoWindow=map.getInfoWindow();

	if(!infoWindow.isHidden()){
		var infoWindowPoint=infoWindow.getPoint();
	}
	for(var i = 0; i < batch_e.length; i++){
		var latlng=batch_e[i].getLatLng();
		if(!infoWindow.isHidden()){
			if(latlng.lat()==infoWindowPoint.y && latlng.lng()==infoWindowPoint.x){
				markerInfo=batch_e[i];
			}else{
				mgr.removeMarker(batch_e[i]);
			}
		}else{
			mgr.removeMarker(batch_e[i]);
		}
	}
	for(var i = 0; i < batch_acc.length; i++){
		var latlng=batch_acc[i].getLatLng();
		if(!infoWindow.isHidden()){
			if(latlng.lat()==infoWindowPoint.y && latlng.lng()==infoWindowPoint.x){
				markerInfo_acc=batch_acc[i];
			}else{
				mgr.removeMarker(batch_acc[i]);
			}
		}else{
			mgr.removeMarker(batch_acc[i]);
		}//
	}/**/
	batch_e = [];
	batch_e.length = 0;
	side_bar_html[0] = "";
	batch_acc = [];
	objGmarkers.e = [];
	gmarkers_acc = [];
	objHtmls.e = [];			
	batch_acc.length = 0;
	updateIH('divPublicos', side_bar_html[0],'input');
	if(markerInfo){
		batch_e[0]=markerInfo;
		mgr.addMarker(batch_e[0],1);
	}
	if(markerInfo_acc){
		batch_acc[0]=markerInfo_acc;
	}
}

function setupMarkersE() {
	mgr.addMarkers(batch_dir, 14);
	mgr.addMarkers(batch_e, 11); // Capa estacionamientos
	mgr.addMarkers(batch_acc, 16);//Capa accesos
	mgr.refresh();
	cargaTerminada = true;
}
function setupPolygonsE() {
	if (map.getZoom()>12){
		for (var i = 0; i < polygons_e.length; i++){
			map.addOverlay(polygons_e[i]);
		}
	}			
}
		
function removedorPolygonE(){
	for(var i = 0; i < polygons_e.length; i++){
		if (polygons_e[i]!=undefined){
			map.removeOverlay(polygons_e[i]);
		}
	}/**/
	map.clearOverlays();
	/*coordenadasPoly_e = [];
	coordenadasPoly_e.length = 0;*/
	polygons_e = [];
	polygons_e.length = 0;
}
