// JavaScript Document
/****
*************  AUTHOR ****************
Sheela V Surisetty 
Web Developer/Designer 
http://web.mst.edu/~svs5z5/
surisettysh@gmail.com 
**************************************
*****/

$(document).ready(function(){
	var countyArray = new Array('', 'Washington', 'St Francois', 'Perry', 'Cape Girardeau', 'Bollinger', 'Scott', 'Mississippi', 'New Madrid', 'Pemiscot', 'Dunklin', 'Stoddard', 'Wayne', 'Madison', 'Iron', 'Reynolds', 'Shannon', 'Carter', 'Butler', 'Ripley', 'Oregon', 'Howell', 'Ozark', 'Taney', 'Douglas', 'Wright', 'Texas', 'Dent', 'Phelps'); 
	
	$(countyArray).each(function(a,sel){
								 $("#countyNews" + a).hide();
								 });

$("#map").css('width', '99%');

/*** Date *****/
var monthName = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
var currentDate = new Date();
var y1 = 2010;//year is 2010
var m1 = 0; //0 for January
var m2 = 1; //1 for February
var date1 = [];
date1[1] = new Date();
date1[1].setFullYear(y1, m1, 20);
date1[2] = new Date();
date1[2].setFullYear(y1, m1, 21);
date1[3] = new Date();
date1[3].setFullYear(y1, m1, 22);
date1[4] = new Date();
date1[4].setFullYear(y1, m1, 23);
date1[5] = new Date();
date1[5].setFullYear(y1, m1, 24);
date1[6] = new Date();
date1[6].setFullYear(y1, m1, 25);
date1[7] = new Date();
date1[7].setFullYear(y1, m1, 26);
date1[8] = new Date();
date1[8].setFullYear(y1, m1, 27);
date1[9] = new Date();
date1[9].setFullYear(y1, m1, 28);
date1[10] = new Date();
date1[10].setFullYear(y1, m1, 29);
date1[11] = new Date();
date1[11].setFullYear(y1, m1, 30);
date1[12] = new Date();
date1[12].setFullYear(y1, m1, 31);
date1[13] = new Date();
date1[13].setFullYear(y1, m2, 1);
date1[14] = new Date();
date1[14].setFullYear(y1, m2, 2);
date1[15] = new Date();
date1[15].setFullYear(y1, m2, 3);
date1[16] = new Date();
date1[16] .setFullYear(y1, m2, 4);
date1[17] = new Date();
date1[17].setFullYear(y1, m2, 5);
date1[18] = new Date();
date1[18].setFullYear(y1, m2, 6);
date1[19] = new Date();
date1[19].setFullYear(y1, m2, 7);
date1[20] = new Date();
date1[20].setFullYear(y1, m2, 8);
date1[21] = new Date();
date1[21].setFullYear(y1, m2, 9);
date1[22] = new Date();
date1[22].setFullYear(y1, m2, 10);
date1[23] = new Date();
date1[23].setFullYear(y1, m2, 11);
date1[24] = new Date();
date1[24].setFullYear(y1, m2, 12);
date1[25] = new Date();
date1[25].setFullYear(y1, m2, 13);
date1[26] = new Date();
date1[26].setFullYear(y1, m2, 14);
date1[27] = new Date();
date1[27].setFullYear(y1, m2, 15);
date1[28] = new Date();
date1[28].setFullYear(y1, m2, 16);

var browser = navigator.appName;

var month = currentDate.getMonth() ;
var day = currentDate.getDate();
var year = currentDate.getFullYear();
var currDate = month + "/" + day + "/" + year;


var currentTime = new Date();
var hours = currentTime.getHours();
var minutes = currentTime.getMinutes();
var currTime = hours + ":" + minutes;
var ldatesNo = [];;



/********* Capturing Date and Time ***/

				var map = new GMap2($("#map").get(0));
				var initZoom = 7;
				var centerLatLng = new GLatLng(37.0317147, -91.1223);
				map.setCenter(centerLatLng, initZoom);
				

				//map.setUIToDefault();
				map.addControl(new GSmallMapControl());
				map.addControl(new GScaleControl());
				map.addControl(new GMapTypeControl());
				map.disableScrollWheelZoom();
				//map.enableDoubleClickZoom()		


//small map

var mapsmall_points = new Array('', 'Washington', 'St Francois', 'Perry', 'Cape Girardeau', 'Bollinger', 'Scott', 'Mississippi', 'New Madrid', 'Pemiscot', 'Dunklin', 'Stoddard', 'Wayne', 'Madison', 'Iron', 'Reynolds', 'Shannon', 'Carter', 'Butler', 'Ripley', 'Oregon', 'Howell', 'Ozark', 'Taney', 'Douglas', 'Wright', 'Texas', 'Dent', 'Phelps')


var mapsmall = new GMap2($("#mapsmall").get(0));
var initZoomsmall = 9;
//var centerLatLngsmall = new GLatLng(40.9119944, -90.7081846);
//mapsmall.setCenter(centerLatLngsmall, initZoomsmall);
mapsmall.addControl(new GSmallMapControl());
mapsmall.addControl(new GScaleControl());
mapsmall.addControl(new GMapTypeControl());
mapsmall.disableScrollWheelZoom()
var boundssmall = mapsmall.getBounds();
//alert(boundssmall);
var pointsmall1 = new GLatLng(40.9119944, -90.7381846);
mapsmall.addOverlay(new GMarker(pointsmall1));
var pointsmall2 = new GLatLng(40.9119944, -90.5481846);
mapsmall.addOverlay(new GMarker(pointsmall2));
var pointsmall3 = new GLatLng(40.9119944, -90.4581846);
mapsmall.addOverlay(new GMarker(pointsmall3));
var pointsmall4 = new GLatLng(40.9119944, -90.6481846);
mapsmall.addOverlay(new GMarker(pointsmall4));

$("#mapsmall").hide();

/*************** mini map ends here *************/

				// setup 10 random points
				var bounds = map.getBounds();
				//alert(bounds);
				var southWest = bounds.getSouthWest();
				var northEast = bounds.getNorthEast();
				var lngSpan = northEast.lng() - southWest.lng();
				var latSpan = northEast.lat() - southWest.lat();
				var markers = [];
				var latlng = [];
				var lines = [];
							
				 latlng[1] = new GLatLng(37.922293, -90.7521503);
				 latlng[2] = new GLatLng(37.7801029, -90.421004);
				 latlng[3] = new GLatLng(37.7097744, -89.7537154);
				 latlng[4] = new GLatLng(37.3717622, -89.5488065);
				 latlng[5] = new GLatLng(37.238582, -89.8710465);
				 latlng[6] = new GLatLng(37.0978279, -89.5625848);
				 latlng[7] = new GLatLng(36.8908854, -89.250631);
				 latlng[8] = new GLatLng(36.2864488, -89.5178547);
				 latlng[9] = new GLatLng(36.1000000, -89.5752078);
				 latlng[10] = new GLatLng(36.2161762, -89.9999999);
				 latlng[11] = new GLatLng(36.7958853, -89.79572);
				 latlng[12] = new GLatLng(37.107274, -90.3801137);
				 latlng[13] = new GLatLng(37.5597754, -90.1940069);
				 latlng[14] = new GLatLng(37.5472724, -90.5273444);
				 latlng[15] = new GLatLng(37.3550477, -90.8584571);
				 latlng[16] = new GLatLng(37.0956044, -91.227635);
				 latlng[17] = new GLatLng(36.9956066, -91.0145714);
				 latlng[18] = new GLatLng(36.7369994, -90.292888);
				 latlng[19] = new GLatLng(36.5508917, -90.7134551);
				 latlng[20] = new GLatLng(36.6542252, -91.3993039);
				 latlng[21] = new GLatLng(36.6781154, -91.7523711);
				 latlng[22] = new GLatLng(36.5231184, -92.428217);
				 latlng[23] = new GLatLng(36.6150612, -92.9899012);
				 latlng[24] = new GLatLng(36.951999, -92.5404457);
				 latlng[25]= new GLatLng(37.2108837, -92.3504446);
				 latlng[26] = new GLatLng(37.2761588, -91.795988);
				 latlng[27] = new GLatLng(37.6055993, -91.3959808);
				 latlng[28] = new GLatLng(37.8914304, -91.6712691);
				 
		
		/************ Arrowed Lines **************/
		//var lineColor = "#333";
		var lineColor = "#990088";
		var arrowColor = "#003d20";
		var lineColorVisited = "#990088";
		var arrowColorVisited = "#003d20";
		var lineOpacityVisited = 0.7;
		var arrowOpacityVisited = 0.7;
		//var arrowColor = "#0e2193";
		var lineWeight = 3;
		var arrowWeight = 3;
		var lineOpacity = 0.4;
		var arrowOpacity = 0.4;
		var arrownos = 30;
		var arrowSize = 5;
		var polyLines = [];
		var pts = new Array(28);
		
		var k = 1;
		for(var i=1; i<28; ++i)
		{
			var dateStr = date1[i].getMonth() + "/" + date1[i].getDate() + "/" + date1[i].getFullYear();
			pts[i] = new Array(2);
			pts[i][0] = latlng[k];
			pts[i][1] = latlng[++k];
			if (date1[i] < currentDate)
			{
				polyLines[i] = new BDCCArrowedPolyline(pts[i], lineColorVisited,lineWeight,lineOpacityVisited,null,arrownos,arrowSize, arrowColorVisited,arrowWeight,arrowOpacityVisited);
			}
			else
			{
				polyLines[i] = new BDCCArrowedPolyline(pts[i], lineColor,lineWeight,lineOpacity,null,arrownos,arrowSize, arrowColor,arrowWeight,arrowOpacity);
			}
			
			map.addOverlay(polyLines[i]);

		}
			
				//creating marker icons - sheela code
				var icon = [];
				for (var i = 1; i <= 28; i++) {
					icon[i] = new GIcon();
					var dateDummy = date1[i].getMonth() + "/" + date1[i].getDate() + "/" + date1[i].getFullYear();
					if(currDate == dateDummy)
					{
						icon[i].image = "/page/-/Boots/media/Maps/images/truck.gif";
						//icon[i].image = "media/Maps/images/truck.gif";
						//icon[i].image = "Maps/images/gy" + i + ".png";
						icon[i].iconSize = new GSize(50,25);
					}
					else if(currentDate > date1[i])
					{
						icon[i].image = "/page/-/Boots/media/Maps/images/gy" + i + ".png";
						//icon[i].image = "media/Maps/images/gy" + i + ".png";
						//icon[i].image = "Maps/images/gy281.png";
						//icon[i].iconSize = new GSize(40, 45);
					}
					else
					{
						icon[i].image = "/page/-/Boots/media/Maps/images/g" + i + ".png";
						//icon[i].image = "media/Maps/images/g" + i + ".png";
						//icon[i].iconSize = new GSize(40, 45);
					}
					icon[i].iconAnchor = new GPoint(2,10);
				}

		var cityLatLng = [];
		cityLatLng[1] = new GLatLng(37.9389073, -90.7914371);
		cityLatLng[2] = new GLatLng(37.7808846, -90.4217895);
		cityLatLng[3] = new GLatLng(37.7242202, -89.8612196);
		cityLatLng[4] = new GLatLng(37.3822732, -89.6662063);
		cityLatLng[5] = new GLatLng(37.3058871, -89.9703793);
		cityLatLng[6] = new GLatLng(37.0978279, -89.5625848);
		cityLatLng[7] = new GLatLng(36.9208854, -89.350631);
		cityLatLng[8] = new GLatLng(36.5864488, -89.5278547);
		cityLatLng[9] = new GLatLng(36.1931245, -89.6556353);
		cityLatLng[10] = new GLatLng(36.2361762, -90.0556493);
		cityLatLng[11] = new GLatLng(36.8858853, -89.9292572);
		cityLatLng[12] = new GLatLng(37.127274, -90.4501137);
		cityLatLng[13] = new GLatLng(37.5597754, -90.2940069);
		cityLatLng[14] = new GLatLng(37.5972724, -90.6273444);
		cityLatLng[15] = new GLatLng(37.4350477, -90.9584571);
		cityLatLng[16] = new GLatLng(37.1506044, -91.357635);
		cityLatLng[17] = new GLatLng(36.9956066, -91.0145714);
		cityLatLng[18] = new GLatLng(36.7569994, -90.392888);
		cityLatLng[19] = new GLatLng(36.6208917, -90.8234551);
		cityLatLng[20] = new GLatLng(36.6942252, -91.3993039);
		cityLatLng[21] = new GLatLng(36.7281154, -91.8523711);
		cityLatLng[22] = new GLatLng(36.6031184, -92.428217);
		cityLatLng[23] = new GLatLng(36.6850612, -93.1199012);
		cityLatLng[24] = new GLatLng(36.951999, -92.6604457);
		cityLatLng[25] = new GLatLng(37.2508837, -92.5104446);
		cityLatLng[26] = new GLatLng(37.3261588, -91.955988);
		cityLatLng[27] = new GLatLng(37.6455993, -91.5359808);
		cityLatLng[28] = new GLatLng(37.9514304, -91.7712691);
		
		/*custom lat and longitude markers*/
		
		var marker1 = new GMarker(cityLatLng[1], icon[1]);
		map.addOverlay(marker1);
		markers[0] = marker1;
		markers[1] = marker1;
				
		var marker2 = new GMarker(cityLatLng[2], icon[2]);
		map.addOverlay(marker2);
		markers[2] = marker2;
		var marker3 = new GMarker(cityLatLng[3], icon[3]);
		map.addOverlay(marker3);
		markers[3] = marker3;
		var marker4 = new GMarker(cityLatLng[4], icon[4]);
		map.addOverlay(marker4);
		markers[4] = marker4;
		var marker5 = new GMarker(cityLatLng[5], icon[5]);
		map.addOverlay(marker5);
		markers[5] = marker5;
		var marker6 = new GMarker(cityLatLng[6], icon[6]);
		map.addOverlay(marker6);
		markers[6] = marker6;
		var marker7 = new GMarker(cityLatLng[7], icon[7]);
		map.addOverlay(marker7);
		markers[7] = marker7;
		var marker8 = new GMarker(cityLatLng[8], icon[8]);
		map.addOverlay(marker8);
		markers[8] = marker8;
		var marker9 = new GMarker(cityLatLng[9], icon[9]);
		map.addOverlay(marker9);
		markers[9] = marker9;
		var marker10 = new GMarker(cityLatLng[10], icon[10]);
		map.addOverlay(marker10);
		markers[10] = marker10;
		var marker11 = new GMarker(cityLatLng[11], icon[11]);
		map.addOverlay(marker11);
		markers[11] = marker11;
		var marker12 = new GMarker(cityLatLng[12], icon[12]);
		map.addOverlay(marker12);
		markers[12] = marker12;
		var marker13 = new GMarker(cityLatLng[13], icon[13]);
		map.addOverlay(marker13);
		markers[13] = marker13;
		var marker14 = new GMarker(cityLatLng[14], icon[14]);
		map.addOverlay(marker14);
		markers[14] = marker14;
		var marker15 = new GMarker(cityLatLng[15], icon[15]);
		map.addOverlay(marker15);
		markers[15] = marker15;
		var marker16 = new GMarker(cityLatLng[16], icon[16]);
		map.addOverlay(marker16);
		markers[16] = marker16;
		var marker17 = new GMarker(cityLatLng[17], icon[17]);
		map.addOverlay(marker17);
		markers[17] = marker17;
		var marker18 = new GMarker(cityLatLng[18], icon[18]);
		map.addOverlay(marker18);
		markers[18] = marker18;
		var marker19 = new GMarker(cityLatLng[19], icon[19]);
		map.addOverlay(marker19);
		markers[19] = marker19;
		var marker20 = new GMarker(cityLatLng[20], icon[20]);
		map.addOverlay(marker20);
		markers[20] = marker20;
		var marker21 = new GMarker(cityLatLng[21], icon[21]);
		map.addOverlay(marker21);
		markers[21] = marker21;
		var marker22 = new GMarker(cityLatLng[22], icon[22]);
		map.addOverlay(marker22);
		markers[22] = marker22;
		var marker23 = new GMarker(cityLatLng[23], icon[23]);
		map.addOverlay(marker23);
		markers[23] = marker23;
		var marker24 = new GMarker(cityLatLng[24], icon[24]);
		map.addOverlay(marker24);
		markers[24] = marker24;
		var marker25 = new GMarker(cityLatLng[25], icon[25]);
		map.addOverlay(marker25);
		markers[25] = marker25;
		var marker26 = new GMarker(cityLatLng[26], icon[26]);
		map.addOverlay(marker26);
		markers[26] = marker26;
		var marker27 = new GMarker(cityLatLng[27], icon[27]);
		map.addOverlay(marker27);
		markers[27] = marker27;
		var marker28 = new GMarker(cityLatLng[28], icon[28]);
		map.addOverlay(marker28);
		markers[28] = marker28;



// mouse over 
		$(markers).each(function(i,sel_marker){
		if(i>0)
		{
		GEvent.addListener(sel_marker, "mouseover", function(){
						//displayPoint(sel_marker, i);
					});
		}
		GEvent.addListener(sel_marker, "mouseout", function(){
						//$("#message").fadeOut("fast");
						//map.closeInfoWindow();
					});
		});
		
		
		function displayPoint(marker, index){
					var countyName = countyArray[index]
					var markerOffset = map.fromLatLngToDivPixel(marker.getLatLng());
					htmlContent = "<center>" + countyName + " County" + "<hr width='200' color='#555'>" + monthName[date1[1].getMonth()] + " " + date1[1].getDate() + ", " + date1[1].getFullYear() + "</center>";
					map.openInfoWindowHtml(marker.getLatLng(), htmlContent);
					map.panTo(centerLatLng);
				}
				// mouse over ends here 



				//marker click starts here
		$(markers).each(function(i,sel_marker){
		GEvent.addListener(sel_marker, "click", function(){
								 if(i>0)
								 {
						displayPoint1(sel_marker, i);
								 }
					});
								 
		});
								
				function displayPoint1(marker, index){
					var a1 = "#countyNews" + index;
					$(a1).css('display:', 'block');
					//$("#newsBox").hide();
					//$("#message").hide();
					$("#map").hide();
					//$("#newsBox").css('display', 'none');
					 for(var j=1; j<=28; ++j)
					 {
						a2 = "#countyNews" + j;
						$(a2).hide();
					 }
					 /************** defining mini map *************/

					$("#mapsmall").css('height', '230px');
					//$("#mapsmall").css('width', '255px');
					//$("#mapsmall").css('height', '360px');
					mapsmall.setCenter(cityLatLng[index], initZoomsmall);
					//mapsmall.setZoom(initZoomsmall);
					$("#mapsmall").fadeIn('slow');
					mapsmall.addOverlay(new GMarker(cityLatLng[index]));

					mapsmall.panTo(cityLatLng[index]);
					/*** the below two styles are important to display the news content ****/
					$(a1).css('position:', 'relative');
					$(a1).css('float', 'left');
					$(a1).fadeIn('slow');
					var b1 = a1 + " .button2";
					//close button
					$(b1).click(function(){
										 //alert(b1 + "clicked");
										 mapsmall.clearOverlays();//to clear all the markers and overlays
										 $("#mapsmall").hide();
										 for(var j=1; j<=28; ++j)
										 {
										 	a2 = "#countyNews" + j;
											//alert("hiding" + a2);
											$(a2).hide();
										 }
										 
										 $("#map").css('width', '99%');
										 $("#map").css('height', '360px');
										 $("#map").show();
										 //$("#newsBox").show();

										 
										 map.setZoom(initZoom);
										 map.panTo(centerLatLng);

								});//button click event closes

					}//displayPoint1 function ends here

});// end jquery