// Caltrain location data code used by permission from Jorge Vittes
// http://jorge.vittes.com/bayareatransit2.html

        function BP7(y,x) {
        return (new GLatLng(37+y,-121-x));
        }
 
	function GPnt(x,y) {
	return (new GLatLng(y,x));
	}

	var cal_l = [];
	var cal_s = [];
	var cal_sl = [];

	cal_l.push(GPnt(-121.566789,37.004352));//Gilroy
	cal_s.push(GPnt(-121.566789,37.004352));//Gilroy
	cal_sl.push(cal_l.length-1);
		
	cal_l.push(GPnt(-121.610477,37.085892));//San Martin
	cal_s.push(GPnt(-121.610477,37.085892));//San Martin
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-121.650088,37.129204));//Morgan Hill
	cal_s.push(GPnt(-121.650088,37.129204));//Morgan Hill
	cal_sl.push(cal_l.length-1);

	cal_l.push(BP7(.13899,.66002));   
	cal_l.push(BP7(.16853,.690396));   
	cal_l.push(BP7(.18868,.710995));   
	cal_l.push(BP7(.19894,.721456));   
	cal_l.push(BP7(.20705,.729782));   
	cal_l.push(BP7(.21171,.734717));   
	cal_l.push(BP7(.21329,.736573));   
	cal_l.push(BP7(.21535,.738987));   
	cal_l.push(BP7(.21894,.743096));   
	cal_l.push(BP7(.21977,.743922));   
	cal_l.push(BP7(.22164,.745703));   
	cal_l.push(BP7(.222495,.746562));   
	cal_l.push(BP7(.224032,.748278));   
	cal_l.push(BP7(.22487,.749297));   
	cal_l.push(BP7(.22557,.750252));   
	cal_l.push(BP7(.226074,.750982));   
	cal_l.push(BP7(.226433,.751518));   
	cal_l.push(BP7(.227116,.752774));   
	cal_l.push(BP7(.228406,.755316));   
	cal_l.push(BP7(.23207,.762719));   
	cal_l.push(BP7(.234036,.766667));   
	cal_l.push(BP7(.236462,.77097));   
	cal_l.push(BP7(.239152,.775465));   
	cal_l.push(BP7(.241809,.779928));   
	cal_l.push(BP7(.246942,.788447));   
	cal_l.push(BP7(.249358,.79248));   

	cal_l.push(GPnt(-121.797395,37.252288));//Blossom Hill
	cal_s.push(GPnt(-121.797395,37.252288));//Blossom Hill
	cal_sl.push(cal_l.length-1);
 
	cal_l.push(BP7(.256455,.804336));   
	cal_l.push(BP7(.25823,.807362));   
	cal_l.push(BP7(.260947,.811857));   
	cal_l.push(BP7(.262962,.815205));   
	cal_l.push(BP7(.264892,.81838));   
	cal_l.push(BP7(.266292,.820709));   
	cal_l.push(BP7(.266949,.821728));   
	cal_l.push(BP7(.26852,.823992));   
	cal_l.push(BP7(.27097,.827478));   
	cal_l.push(BP7(.272294,.829345));   
	cal_l.push(BP7(.27307,.830493));   
	cal_l.push(BP7(.273908,.831502));   
	cal_l.push(BP7(.27441,.83207));   
	cal_l.push(BP7(.275393,.833079));   
	cal_l.push(BP7(.280498,.838282));   
	cal_l.push(BP7(.282684,.840492));   

	cal_l.push(GPnt(-121.841898,37.284007));//Capitol
	cal_s.push(GPnt(-121.841898,37.284007));//Capitol
	cal_sl.push(cal_l.length-1);

	cal_l.push(BP7(.284545,.842359));   
	cal_l.push(BP7(.284954,.84282));   
	cal_l.push(BP7(.285424,.84341));   
	cal_l.push(BP7(.285834,.843969));   
	cal_l.push(BP7(.286363,.84474));   
	cal_l.push(BP7(.28684,.845707));   
	cal_l.push(BP7(.287233,.84664));   
	cal_l.push(BP7(.28778,.84813));   
	cal_l.push(BP7(.28859,.850588));   
	cal_l.push(BP7(.290059,.854998));   
	cal_l.push(BP7(.291578,.85961));   
	cal_l.push(BP7(.293038,.86402));   
	cal_l.push(BP7(.293618,.865705));   
	cal_l.push(BP7(.294036,.866724));   
	cal_l.push(BP7(.294378,.867486));   
	cal_l.push(BP7(.294864,.868473));   
	cal_l.push(BP7(.29530,.86916));   
	cal_l.push(BP7(.295888,.870083));   
	cal_l.push(BP7(.296546,.870973));   
	cal_l.push(BP7(.297612,.872228));   
	cal_l.push(BP7(.298722,.873312));   
	cal_l.push(BP7(.299763,.874138));   
	cal_l.push(BP7(.301163,.875265));   
	cal_l.push(BP7(.305148,.878526));   
	
	cal_l.push(GPnt(-121.88478,37.3127));//Tamien
	cal_s.push(GPnt(-121.88478,37.3127));//Tamien
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-121.887066,37.315687));
	cal_l.push(GPnt(-121.88756,37.316293));
	cal_l.push(GPnt(-121.888204,37.316907));
	cal_l.push(GPnt(-121.889073,37.317479));	
	cal_l.push(GPnt(-121.89050,37.317948));     
	cal_l.push(GPnt(-121.891819,37.318093));
	cal_l.push(GPnt(-121.89493,37.31822));
	cal_l.push(GPnt(-121.895907,37.318324));    
	cal_l.push(GPnt(-121.896368,37.318417));
	cal_l.push(GPnt(-121.896658,37.318503));
	cal_l.push(GPnt(-121.897548,37.318853));	     
	cal_l.push(GPnt(-121.89818,37.31916));
	cal_l.push(GPnt(-121.89889,37.319663));
	cal_l.push(GPnt(-121.901422,37.322009));		     
	cal_l.push(GPnt(-121.902044,37.322735));		     
	cal_l.push(GPnt(-121.90244,37.323417));		 
	cal_l.push(GPnt(-121.902634,37.324287));		     

	cal_l.push(GPnt(-121.902795,37.32996));//San Jose
	cal_s.push(GPnt(-121.902795,37.32996));//San Jose
	cal_sl.push(cal_l.length-1);
  
	cal_l.push(GPnt(-121.90331,37.332119));		     
	cal_l.push(GPnt(-121.903363,37.332785));		     
	cal_l.push(GPnt(-121.90347,37.33315));		     
	cal_l.push(GPnt(-121.904286,37.334235));		     
	cal_l.push(GPnt(-121.905509,37.335327));		     
	cal_l.push(GPnt(-121.911045,37.340402));			   
	cal_l.push(GPnt(-121.912612,37.341392));
		
	cal_l.push(GPnt(-121.915594,37.342859));//College Park
	cal_s.push(GPnt(-121.915594,37.342859));//College Park
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-121.936578,37.353488));//Santa Clara
	cal_s.push(GPnt(-121.936578,37.353488));//Santa Clara    
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-121.973079,37.369373));     
	cal_l.push(GPnt(-121.978776,37.370498));
    
	cal_l.push(GPnt(-121.997509,37.370515));//Lawrence
	cal_s.push(GPnt(-121.997509,37.370515));//Lawrence
	cal_sl.push(cal_l.length-1);

	
	cal_l.push(GPnt(-122.017304,37.374207));	
		
	cal_l.push(GPnt(-122.03139,37.378854));//Sunnyvale
	cal_s.push(GPnt(-122.03139,37.378854));//Sunnyvale     
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-122.062933,37.38928));
		     
	var mountain_view = GPnt(-122.075872,37.394394);
	cal_l.push(mountain_view);
	cal_s.push(mountain_view);
	cal_sl.push(cal_l.length-1);
								  
	cal_l.push(GPnt(-122.103832,37.405483));
		
	cal_l.push(GPnt(-122.107512,37.407523));//San Antonio
	cal_s.push(GPnt(-122.107512,37.407523));//San Antonio
	cal_sl.push(cal_l.length-1);
	
	cal_l.push(GPnt(-122.14151,37.429086));//Calif Ave
	cal_s.push(GPnt(-122.14151,37.429086));//Calif Ave
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-122.156467,37.438526));//Stanford	    
	cal_s.push(GPnt(-122.156467,37.438526));//Stanford
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-122.164728,37.4434));//Palo Alto
	cal_s.push(GPnt(-122.164728,37.4434));//Palo Alto
	cal_sl.push(cal_l.length-1);
	
	cal_l.push(GPnt(-122.18256,37.454994));//Menlo Park
	cal_s.push(GPnt(-122.18256,37.454994));//Menlo Park
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-122.197462,37.464342));//Atherton
	cal_s.push(GPnt(-122.197462,37.464342));//Atherton
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-122.23159,37.4859));//Redwood City
	cal_s.push(GPnt(-122.23159,37.4859));//Redwood City
	cal_sl.push(cal_l.length-1);

	cal_l.push(BP7(.488046,1.234992));
	cal_l.push(BP7(.490217,1.238425));
	cal_l.push(BP7(.49197,1.241215));
	cal_l.push(BP7(.492583,1.242137));
	cal_l.push(BP7(.493435,1.243339));
	cal_l.push(BP7(.494124,1.24424));
	cal_l.push(BP7(.49489,1.245163));
	cal_l.push(BP7(.495818,1.246203));
	cal_l.push(BP7(.500917,1.25206));

	cal_l.push(GPnt(-122.260389,37.508177));//San Carlos
	cal_s.push(GPnt(-122.260389,37.508177));//San Carlos
  	cal_sl.push(cal_l.length-1);

	cal_l.push(BP7(.514849,1.26808));
	cal_l.push(BP7(.515462,1.268863));
	cal_l.push(BP7(.517255,1.271352));
	cal_l.push(BP7(.519076,1.27355));
	cal_l.push(BP7(.519757,1.27442));

	cal_l.push(GPnt(-122.276319,37.521265));//Belmont
	cal_s.push(GPnt(-122.276319,37.521265));//Belmont
	cal_sl.push(cal_l.length-1);
	
	cal_l.push(BP7(.525265,1.280976));
	cal_l.push(BP7(.526524,1.282585));
	cal_l.push(BP7(.531918,1.290556));
	cal_l.push(BP7(.53242,1.291243));
	cal_l.push(BP7(.534922,1.294483));
	cal_l.push(BP7(.535704,1.295299));

	cal_l.push(GPnt(-122.297584,37.538069));//Hillsdale
	cal_s.push(GPnt(-122.297584,37.538069));//Hillsdale
	cal_sl.push(cal_l.length-1);
	
	cal_l.push(BP7(.549035,1.306939)); 
	cal_l.push(BP7(.549749,1.307497));		
	cal_l.push(BP7(.550396,1.307969));		
	cal_l.push(BP7(.551034,1.308377));		    
	cal_l.push(BP7(.551578,1.308699));
		
	cal_l.push(GPnt(-122.309589,37.55321));//Hayward Park
	cal_s.push(GPnt(-122.309589,37.55321));//Hayward Park
	cal_sl.push(cal_l.length-1);

	cal_l.push(BP7(.55578,1.310772));		 
	cal_l.push(BP7(.556435,1.311252));		
	cal_l.push(GPnt(-122.31240,37.557693));
		
	cal_l.push(GPnt(-122.324352,37.56852));//San Mateo
	cal_s.push(GPnt(-122.324352,37.56852));//San Mateo
	cal_sl.push(cal_l.length-1);
 
	cal_l.push(BP7(.572508,1.328612));		
	cal_l.push(BP7(.573826,1.330554));		
	cal_l.push(BP7(.57476,1.332206));		
	cal_l.push(BP7(.575816,1.334588));
			
	cal_l.push(GPnt(-122.345048,37.580178));//Burlingame
	cal_s.push(GPnt(-122.345048,37.580178));//Burlingame
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-122.36202,37.58731));//Broadway 
	cal_s.push(GPnt(-122.36202,37.58731));//Broadway
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-122.381097,37.595345));		
	cal_l.push(GPnt(-122.38467,37.598014));
		
	var millbrae = GPnt(-122.386912,37.600224);
	cal_l.push(millbrae);//Millbrae
	cal_s.push(millbrae);//Millbrae
	cal_sl.push(cal_l.length-1);
 
	cal_l.push(BP7(.609438,1.396439));		
	cal_l.push(BP7(.611775,1.398778));		
	cal_l.push(BP7(.613424,1.400087));		
	cal_l.push(BP7(.615574,1.401525));
	cal_l.push(BP7(.621612,1.406339));
	cal_l.push(BP7(.622279,1.406809));

	cal_l.push(BP7(.624066,1.40789));//San Bruno
	cal_s.push(BP7(.624066,1.40789));//San Bruno
	cal_sl.push(cal_l.length-1);

	cal_l.push(BP7(.631713,1.412337));
	cal_l.push(BP7(.63221,1.412589));
	cal_l.push(GPnt(-122.412715,37.632552));	 
	cal_l.push(BP7(.63296,1.412844));
	cal_l.push(BP7(.633319,1.412908));
	cal_l.push(BP7(.633956,1.412959));
	cal_l.push(BP7(.641845,1.413152));
	cal_l.push(BP7(.642569,1.41313));
	cal_l.push(BP7(.644098,1.41294));
	cal_l.push(BP7(.645817,1.412498));
	cal_l.push(BP7(.646573,1.412106));
	cal_l.push(BP7(.648586,1.411165));
	cal_l.push(GPnt(-122.410612,37.649408));
		
	cal_l.push(GPnt(-122.404915,37.656033));//South SF
	cal_s.push(GPnt(-122.404915,37.656033));//South SF
	cal_sl.push(cal_l.length-1);
	
	cal_l.push(GPnt(-122.391129,37.670234));		   
	cal_l.push(GPnt(-122.39012,37.67183));		     
	cal_l.push(GPnt(-122.389905,37.672612));		
	cal_l.push(GPnt(-122.389669,37.674497));	
	cal_l.push(GPnt(-122.38984,37.675669));		
	cal_l.push(GPnt(-122.38999,37.67628));			
	cal_l.push(GPnt(-122.390592,37.677503));		
	cal_l.push(GPnt(-122.39911,37.687777));			
	cal_l.push(GPnt(-122.400312,37.689713));		     
	cal_l.push(GPnt(-122.400956,37.691122));		     
	cal_l.push(GPnt(-122.401578,37.69343));		   
	cal_l.push(GPnt(-122.40175,37.694314));		
	cal_l.push(GPnt(-122.401793,37.69552));
		
	cal_l.push(BP7(.70762,1.401828));//Bayshore
	cal_s.push(BP7(.70762,1.401828));//Bayshore
	cal_sl.push(cal_l.length-1);
		
	cal_l.push(BP7(.709138,1.401809));
	cal_l.push(BP7(.70992,1.401726));
	cal_l.push(BP7(.71093,1.40146));
	cal_l.push(BP7(.722087,1.397426));
	cal_l.push(BP7(.72397,1.396783));
	cal_l.push(BP7(.724845,1.396557));
	cal_l.push(BP7(.729953,1.39587));
	cal_l.push(BP7(.736826,1.394819));
	cal_l.push(BP7(.742502,1.394079));
	cal_l.push(BP7(.75163,1.39277));
	cal_l.push(BP7(.754744,1.392577));

	cal_l.push(GPnt(-122.392759,37.757696));//22nd St.
	cal_s.push(GPnt(-122.392759,37.757696));//22nd St.
	cal_sl.push(cal_l.length-1);

	cal_l.push(GPnt(-122.39278,37.76012));		
	cal_l.push(GPnt(-122.393113,37.762887));		
	cal_l.push(GPnt(-122.393403,37.764133));	
	cal_l.push(GPnt(-122.39350,37.765134));	     
	cal_l.push(GPnt(-122.393757,37.765584));		
	cal_l.push(GPnt(-122.39440,37.76627));		
	cal_l.push(GPnt(-122.394927,37.766635));		
	cal_l.push(GPnt(-122.396986,37.768306));	
	cal_l.push(GPnt(-122.398864,37.769884));
	cal_l.push(GPnt(-122.399744,37.770664));	
	cal_l.push(GPnt(-122.39999,37.77096));		
	cal_l.push(GPnt(-122.400076,37.771113));		
	cal_l.push(GPnt(-122.40015,37.771274));		
	cal_l.push(GPnt(-122.40015,37.77147));	
	cal_l.push(GPnt(-122.40013,37.77157));		
	cal_l.push(GPnt(-122.39983,37.772072));
	cal_l.push(GPnt(-122.399325,37.77258));
			  
	cal_l.push(GPnt(-122.394465,37.776439));//SF
	cal_s.push(GPnt(-122.394465,37.776439));//SF
	cal_sl.push(cal_l.length-1);

	// Create our "tiny" marker icon
	var icon = new GIcon();
	icon.image = "red-square.JPG";
	icon.shadow = "red-square-shadow.JPG";
	icon.iconSize = new GSize(10,10);
	icon.shadowSize = new GSize(10, 10);
	icon.iconAnchor = new GPoint(5, 5);
	icon.infoWindowAnchor = new GPoint(5, 1);

	var cal_markers = [];

	function createMarker(point,i) {
	var marker = new GMarker(point, icon);
	map.addOverlay(marker);
	cal_markers.push(marker);
	}
