/// ozones.js ///

function generateOzonesMap(wid){

    var bounds = new GLatLngBounds();
	var encoded_pts = true; // run encoded poly rendering, else 'false'
	
	
		//var map_url = "gmap/get_xml.php?qURL="+ escape("http://wmap.globalpeoples.net/gmap/gmap_xml.php?rol="+rol+"&rog="+rog+"&maptype=poly");
		var map_url = "gmap/get_xml.php?qURL="+ escape("http://wmap.globalpeoples.net/gmap/ozones_xml.php?wid="+wid);
		var color1 = '#0000FF';
		var color2 = '#FF00FF';
	
	//document.getElementById('radio_gmap').click();
	document.getElementById("statusDIV").innerHTML = "<br>LOADING...<br>"; // 
	
	GDownloadUrl(map_url, function(data) {
	  var xml = GXml.parse(data);
	  var polys = xml.documentElement.getElementsByTagName("poly");
	  var pmarker = [];
	  //var polylines = [];
	  var polylines;
	  
	  if (polys.length > 0) {
	    //document.getElementById("statusDIV").innerHTML = "Language: "+ langname + "  <br>ROL: "+ lang.value +"<br> Records found: "+polys.length ; //
		document.getElementById("statusDIV").innerHTML = "<br> Records found: "+polys.length;
	  } 
	  else {
	    document.getElementById("statusDIV").innerHTML = "NO MATCH FOUND.."; // 
		//alert('No match found');
		errflag = true;
		return null;
	  }

		  for (var i = 0; i < polys.length; i++) {  // for XML ELEMENTS
		  
			var world_id = polys[i].getAttribute("world_id");
			var zone_name = polys[i].getAttribute("zone_name");
			var country = polys[i].getAttribute("country");
			var extent = polys[i].getAttribute("extent");
			/*
				if (parseInt(pop_str,10) > 0) {
					population = pop_str;
				} else {
					population = "unknown (<a href='gmap/digitizer/update.php?ROG3='"+ rog +"' >submit info</a>)";
				}
			//var pop_source = points[i].getAttribute("pop_source");
			var pop_source = "unknown";
			*/
				  									
			// LOOP THROUGH POINTS XML ELEMENTS
			var points_str = polys[i].getAttribute("points");			
			
			// PROCESS ENCODED PTS
			if (encoded_pts == true) {
				var levels_str = polys[i].getAttribute("levels");			
				//polylines[i] = {points: points_str, 
				polylines = {points: points_str, 
								levels: levels_str, 
								color: color2,
								opacity: 0.7,
								weight: 3,
								numLevels: 18,
								zoomFactor: 2
								};
			}
			// PROCESS REGULAR PTS
			else {
				//var bounds = new GLatLngBounds();
				var points_arr = points_str.split(":");
				var points_float = [];
				
				for (var p = 0; p < points_arr.length; p++) {
				  lat = points_arr[p].split(",")[0];
				  lng = points_arr[p].split(",")[1];
				  latlng = new GLatLng(parseFloat(lat), parseFloat(lng));
				  points_float.push(latlng);
				  bounds.extend(latlng);
				  //points_float.push (new GLatLng(parseFloat(lat), parseFloat(lng)));
				}
			}
						
			// ADD POLYGON OVERLAY - EITHER ENCODED PTS OR NOT - 2 TYPES OF POLYGONS POSSIBLE			
			//GPolygon.fromEncoded(polylines, fill?, color?, opacity?, outline?)
			// PROCESS ENCODED PTS
			if (encoded_pts == true) {
				//var lang_poly = new GPolygon.fromEncoded(polylines[i], true, color1, 0.4, true);				
				//var lang_poly = new GPolygon.fromEncoded(polylines, true, color1, 0.4, true);				
				
				var lang_poly = new GPolygon.fromEncoded({
				  polylines: [
					{points: points_str,
					 levels: levels_str,
					 color: color1,
					 opacity: 0.7,
					 weight: 3,
					 numLevels: 18,
					 zoomFactor: 2}],
				  fill: true,
				  color: color2,
				  opacity: 0.4,
				  outline: true
				});	
				
				//var bounds = new GLatLngBounds(poly_bounds.getSouthWest(), poly_bounds.getNorthEast());
				//alert('polylines:'+'\n'+polylines[i].levels);
				//alert('bounds.isEmpty:'+'\n'+lang_poly.getBounds().isEmpty());
				//alert('lang_poly:'+'\n'+lang_poly);
				//alert('lang_poly.cnt:'+'\n'+lang_poly.getVertexCount());
				var poly_bounds = lang_poly.getBounds();
				var SW = new GLatLng(poly_bounds.getSouthWest().lat(), poly_bounds.getSouthWest().lng());
				var NE = new GLatLng(poly_bounds.getNorthEast().lat(), poly_bounds.getNorthEast().lng());
				bounds.extend(SW);
				bounds.extend(NE);
			}
			// PROCESS REGULAR PTS
			else {
				var lang_poly = new BDCCPolygon(points_float, color1, 5, 0.9, color2, 0.3, entname);
			}

			// NEED TO ADD INFO_TAB CLICK FUNCTION HERE:
			//GEvent.addListener(lang_poly,"click",function(){alert(lang_poly.tooltip);});
			GEvent.addListener(lang_poly,"click",function(){alert(zone_name);});

			map.addOverlay(lang_poly);			
			
		  }  // END for XML ELEMENTS
		  
		  
			// DISPLAY MAP - SET CENTER OF MAP
			map.setZoom(map.getBoundsZoomLevel(bounds));
			map.setCenter(bounds.getCenter());
			/*
			var poly_extent = bounds.getSouthWest().lat() +'|'+ 
							  bounds.getSouthWest().lng() +'|'+ 
							  bounds.getNorthEast().lat() +'|'+ 
							  bounds.getNorthEast().lng();
			*/ 
						
							  
		//alert('poly_recs:  '+polys.length);
	  
  });  //END GDownloadUrl & END function(data)
	
	//return poly_extent;
	
} // END function GenerateMap()
	

//end of poly code


