//
// File : food-rtwgmap-core.js
//
// Description : Javascript functions for core components on the Food Industry Map
//               implementation. Overrides several functions found in the 
//               RTWGMap's javascript lib (rtwgmap-core.js)
//


	//
	// get all the gmarkers for the specified region
	//
	function getMarkersForRegion(regionId){
    	currentRegionId = regionId;
	    map.closeInfoWindow();    
    	closeDirections();
    	//unapplyFilter();
    	//filterChanged();
    	
	    for(var i = 0; i < regions.length; i++)
    	{
        	if(regions[i].id == regionId) {
    	        map.setCenter(new GLatLng(regions[i].latitude, regions[i].longitude), regions[i].zoomLevel);
	            globalRegion = regions[i];
        	    break;
	        }
    	}

		// the default is to get the rtwgmap lib to return/list the markers in the current view ...
		//eval(getDataProviderClassName()).getMarkersForRegion(returnFilteredMarkers, globalRegion.id);
	}
	
	   //
    // print the current listings
    // see printableMarkers, returnFilteredMarkers
    //
    var printCurrentListings = function(title) {
    
   		setCookie("printableMapUrl", getPrintableMapUrl());
   
    
	    top.consoleRef=window.open('/app68/listings/foodindustry/foodindustry_printable_map.jsp','myconsole',
									  'width=600,height=400'
									 +',menubar=0'
									 +',toolbar=1'
									 +',status=0'
								     +',scrollbars=1'
									 +',resizable=1');   	

		//
		//
		//
		markerListing = "<table border='0'>";
		var count = 0;
		for(var i=0;i<printableMarkers.length && count < maxPrintableMarkers; i++) {
				
		    var gmarker = gmarkers[printableMarkers[i].id];           
            if( !gmarker.isHidden() && map.getBounds().contains( gmarker.getPoint() ) ) {                          
    			var character = count + 97; // 'a'

	    		var lat = printableMarkers[i].latitude;
    			var lng = printableMarkers[i].longitude;
    			
    			if(count%2 == 0)
	    			markerListing += "<tr>";
    			
    			markerListing += "<td valign='top'>";
    			markerListing += "<br/><img align='left' alt='A' src='/app21/rtw/icons/maps/red" + unescape("%" + character.toString(16)) + ".png'>";    			
    		    markerListing += "<br/>" + printableMarkers[i].infoHtml;
    		    markerListing += "</td>";
    		    
    			if(count%2 != 0)
	    		    markerListing += "</tr>";
	    		    
    			count ++;
    		}
		}
		markerListing += "</table>";
	
		setTimeout('update()',1000);
    }
 	
 	
 	var update = function() {
		var listings = top.consoleRef.document.getElementById("listings");
		if(listings) {
			listings.innerHTML = markerListing;
			top.consoleRef.focus();
			top.consoleRef.print();
		} else {
			setTimeout('update()',1000);
		}
 	}
 	
 	var maxPrintableMarkers = 15;
 	
	
 	//
 	//
 	// 	
    var getPrintableMapUrl = function() {    
	     var c = map.getCenter();
	     var xcoord = c.lng();
    	 var ycoord = c.lat();
        var center = ycoord + "," + xcoord;
	   	var markerListing = "";
	   	
	   	var mapImgUrl = "";
		mapImgUrl += "http://maps.google.com/staticmap?center=" + center ;
		mapImgUrl += "&zoom=" + map.getZoom();
		mapImgUrl += "&size=500x480";
		mapImgUrl += "&markers=";
		var count = 0;
		for(var i=0;i<printableMarkers.length && count < maxPrintableMarkers; i++) {
				
		    var gmarker = gmarkers[printableMarkers[i].id];           
            if( !gmarker.isHidden() && map.getBounds().contains( gmarker.getPoint() ) ) {                          
    			var character = count + 97; // 'a'

	    		var lat = printableMarkers[i].latitude;
    			var lng = printableMarkers[i].longitude;
    			
    			markerListing += "<br/><img align='left' alt='A' src='/app21/rtw/icons/maps/red" + unescape("%" + character.toString(16)) + ".png'>";    			
		
				var printHtml = printableMarkers[i].infoHtml;
				if(printableMarkers[i].additionalInfo.printHtml)
					printHtml = printableMarkers[i].additionalInfo.printHtml;
					
    		    markerListing += "<br/>" + printHtml;
    		 
    			mapImgUrl += lat + "," + lng;
    			mapImgUrl += ",red" + unescape("%" + character.toString(16));
    			mapImgUrl += "%7C";
    			count ++;
    		}
		}
              
	 	return mapImgUrl;
 	}	