
Application = function() {
	
  return {
  
    init : function() {
      var self = Application;
	  self.sizeWindow();
      if (GBrowserIsCompatible()) {self.launchMap();}
		
	},
	
	launchMap : function() {
	
		var self = Application;

		if (GBrowserIsCompatible()) {
		
			self.map = new GMap2(document.getElementById("map_canvas"));
			self.map.setCenter(new GLatLng(37.778569, -122.183762), 11);
			self.map.setUIToDefault();
			self.map.disableDoubleClickZoom(); 
	
			//Coverages now live in MyMap
	
			transit = new GGeoXml("http://blnktag.com/demos/contra-costa-map/kml/cctransit.kml?"+(new Date()).getTime());
			
			GEvent.addListener(transit,"load",function(){
				setInterval(function(){
					self.map.removeOverlay(Stations);
					}, updateTime);
			});	
			
			GEvent.addListener(transit,"load",self.launchlogos());
			GEvent.addListener(transit,"load",self.launchstations());
			// Load Google Transit Layer
			  var gTransitTileUrlTemplate = 'http://mlt1.google.com/mapslt?lyrs=transit&x={X}&y={Y}&z={Z}&w=256&h=256&gl=us&hl=en';
				var tileLayerOverlay = new GTileLayerOverlay(
				  new GTileLayer(null, null, null, {
				    tileUrlTemplate: gTransitTileUrlTemplate, 
				    isPng:true,
				    opacity:1
				  })
				);

				self.map.addOverlay(tileLayerOverlay);
			
			
			self.map.addOverlay(transit);}
	},
	
	launchlogos : function(){
	
		var self = Application;
	
		//AC Transit
	
		ac_bounds = new GLatLngBounds(new GLatLng(37.750682,-122.126546), new GLatLng(37.775002,-122.071614));
		ac_src = "http://blnktag.com/demos/contra-costa-map/images/ac_trans.png";
	
		ac_logo = EInsert.groundOverlay(ac_src,ac_bounds);	
		self.map.addOverlay(ac_logo);
		
		//County Connection
		
		cc_bounds = new GLatLngBounds(new GLatLng(37.933403,-122.026133), new GLatLng(37.942351,-121.939441));
		cc_src = "http://blnktag.com/demos/contra-costa-map/images/county_con.png";
	
		cc_logo = EInsert.groundOverlay(cc_src,cc_bounds);	
		self.map.addOverlay(cc_logo);
		
		//WestCAT
		
		wc_bounds = new GLatLngBounds(new GLatLng(37.996162,-122.281952), new GLatLng(38.005966,-122.249680));
		wc_src = "http://blnktag.com/demos/contra-costa-map/images/westcat.png";
	
		wc_logo = EInsert.groundOverlay(wc_src,wc_bounds);	
		self.map.addOverlay(wc_logo);
		
		//Tri Delta
		
		td_bounds = new GLatLngBounds(new GLatLng(37.990704,-121.850951), new GLatLng(38.011262,-121.793959));
		td_src = "http://blnktag.com/demos/contra-costa-map/images/tridelta.png";
		
		td_logo = EInsert.groundOverlay(td_src,td_bounds);	
		self.map.addOverlay(td_logo);
		
		//Wheels
		
		wh_bounds = new GLatLngBounds(new GLatLng(37.710704,-121.850951), new GLatLng(37.731262,-121.793959));
		wh_src = "http://blnktag.com/demos/contra-costa-map/images/wheels.png";
		
		wheels = EInsert.groundOverlay(wh_src,wh_bounds);	
		self.map.addOverlay(wheels);	
	},
	

	launchstations : function(){
	
		var self = Application;
	
		//Pitsburg
	
		pb_bounds = new GLatLngBounds(new GLatLng(37.96,-121.94), new GLatLng(38.05,-121.84));
	
		pb_src_a = "http://blnktag.com/demos/contra-costa-map/images/pittsburg-label.png";	
		pb_src_b = "http://blnktag.com/demos/contra-costa-map/images/pittsburg.png";
	
		pittsburg_a = EInsert.groundOverlay(pb_src_a,pb_bounds);
		pittsburg_b = EInsert.groundOverlay(pb_src_b,pb_bounds);
	
		self.map.addOverlay(pittsburg_a);
		self.map.addOverlay(pittsburg_b);
		
		//Richmond
		
		r_bounds = new GLatLngBounds(new GLatLng(37.954228,-122.37005), new GLatLng(38.048447,-122.265988));
	
		r_src_a = "http://blnktag.com/demos/contra-costa-map/images/richmond-label.png";	
		r_src_b = "http://blnktag.com/demos/contra-costa-map/images/richmond.png";
	
		richmond_a = new EInsert.groundOverlay(r_src_a,r_bounds);
		richmond_b = new EInsert.groundOverlay(r_src_b,r_bounds);
		
		self.map.addOverlay(richmond_a);
		self.map.addOverlay(richmond_b);
		
		//Orinda
		
		o_bounds = new GLatLngBounds(new GLatLng(37.887319,-122.224274), new GLatLng(37.975759,-122.127594));
	
		o_src_a = "http://blnktag.com/demos/contra-costa-map/images/orinda.png";
		o_src_b = "http://blnktag.com/demos/contra-costa-map/images/orinda-label.png";
	
		orinda_a = EInsert.groundOverlay(o_src_a,o_bounds);	
		orinda_b = EInsert.groundOverlay(o_src_b,o_bounds);
		
		self.map.addOverlay(orinda_a);
		self.map.addOverlay(orinda_b);
	
	
	},
	
	windowHeight : function() {
	  var myHeight = 0;
	  if( typeof( window.innerWidth ) == 'number' ) {
	    //Non-IE
	    myHeight = window.innerHeight;
	  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
	    //IE 6+ in 'standards compliant mode'
	    myHeight = document.documentElement.clientHeight;
	  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
	    //IE 4 compatible
	    myHeight = document.body.clientHeight;
	  }
	  return (myHeight);
	},
	
	windowWidth : function() {
	  var myWidth = 0;
	  if( typeof( window.innerWidth ) == 'number' ) {
	    //Non-IE
	    myWidth = window.innerWidth;
	  } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
	    //IE 6+ in 'standards compliant mode'
	    myWidth = document.documentElement.clientWidth;
	  } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
	    //IE 4 compatible
	    myWidth = document.body.clientWidth;
	  }
	  return (myWidth);
	},

	sizeWindow : function(){
		var self = Application;
		self.windowheight = self.windowHeight();
		self.windowwidth = self.windowWidth();
		self.mapframe = document.getElementById("map_canvas");
		self.mapframe.style.height = (self.windowheight - 80) + "px";	
	},
};

}();

$(Application.init);




