// JavaScript Document
    	var map;
    	var geocoder;
		var polyline= new Array();

		// ====== Array for decoding the failure codes ======
			  var reasons=[];
			  reasons[G_GEO_SUCCESS]            = "Success";
			  reasons[G_GEO_MISSING_ADDRESS]    = "Missing Address: The address was either missing or had no value.";
			  reasons[G_GEO_UNKNOWN_ADDRESS]    = "Unknown Address:  No corresponding geographic location could be found for the specified address.";
			  reasons[G_GEO_UNAVAILABLE_ADDRESS]= "Unavailable Address:  The geocode for the given address cannot be returned due to legal or contractual reasons.";
			  reasons[G_GEO_BAD_KEY]            = "Bad Key: The API key is either invalid or does not match the domain for which it was given";
			  reasons[G_GEO_TOO_MANY_QUERIES]   = "Too Many Queries: The daily geocoding quota for this site has been exceeded.";
			  reasons[G_GEO_SERVER_ERROR]       = "Server error: The geocoding request could not be successfully processed.";
		
		var gmarkers = [];
      	var gi = 0;
	//Colors
		var inColor = new Array();
		var outColor = new Array();
		inColor[0]='#0CF';
		outColor[0]='#06F';
		inColor[1]='#0F9';
		outColor[1]='#0C9';
		inColor[2]='#99F';
		outColor[2]='#93F';
		inColor[3]='#F33';
		outColor[3]='#F03';
		inColor[4]='#0F0';
		outColor[4]='#0C0';
		inColor[5]='#FF0';
		outColor[5]='#F60';
		inColor[6]='#C6F';
		outColor[6]='#C0C';
		inColor[7]='#9C0';
		outColor[7]='#060';
		inColor[8]='#30C';
		outColor[8]='#336';
		inColor[9]='#F3C';
		outColor[9]='#F03';
		
	// Marker Types
        var blueIcon = new GIcon(G_DEFAULT_ICON);
			blueIcon.shadow = "";
			blueIcon.printShadow ="";
			blueIcon.image = "images/blue.png";
			blueIcon.printImage = "images/blue.png";
			blueIcon.mozPrintImage = "images/blue.png";
			blueIcon.iconSize = new GSize(18, 16);
			blueIcon.iconAnchor = new GPoint(9, 8);
      	    blueIcon.infoWindowAnchor = new GPoint(10, 4);
		var redIcon = new GIcon(G_DEFAULT_ICON);
			redIcon.image = "images/red.png";
			redIcon.shadow = "";
			redIcon.printShadow ="";
			redIcon.printImage = "images/red.png";
			redIcon.mozPrintImage = "images/red.png";
			redIcon.iconSize = new GSize(18, 16);
			redIcon.iconAnchor = new GPoint(9, 8);
      	    redIcon.infoWindowAnchor = new GPoint(10, 4);
		var purpleIcon = new GIcon(G_DEFAULT_ICON);
			purpleIcon.image = "images/purple.png";
			purpleIcon.shadow = "";
			purpleIcon.printShadow ="";
			purpleIcon.printImage = "images/purple.png";
			purpleIcon.mozPrintImage = "images/purple.png";
			purpleIcon.iconSize = new GSize(18, 16);
			purpleIcon.iconAnchor = new GPoint(9, 8);
      	    purpleIcon.infoWindowAnchor = new GPoint(10, 4);
		var siteIcon = new GIcon(G_DEFAULT_ICON);
        	siteIcon.printShadow ="";
			siteIcon.shadow ="";
			siteIcon.printImage = "images/site.png";
			siteIcon.image = "images/site.png";
			siteIcon.iconSize = new GSize(18, 16);
			siteIcon.iconAnchor = new GPoint(9, 8);
      	    siteIcon.infoWindowAnchor = new GPoint(10, 9);
		
			
		markerBlue = { icon:blueIcon };
		markerRed = { icon:redIcon };
		markerPurple = { icon:purpleIcon };
		markerSite = { icon:siteIcon };

function load() {
 document.getElementById('market').value = 0;
 document.getElementById('county').value = 0;
  
  if (GBrowserIsCompatible()) {
	if(document.implementation.hasFeature(
		"http://www.w3.org/TR/SVG11/feature#SVG","1.1")){ 
	  _mSvgEnabled = true;
	  _mSvgForced  = true;
	}
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GLargeMapControl());
	map.addControl(new GMapTypeControl());
	var ovSize=new GSize(200, 150);
	var ovMap=new GOverviewMapControl(ovSize);
	map.addControl(ovMap);
	var mini=ovMap.getOverviewMap();
	map.setCenter(new GLatLng(40, -83), 16);
	var mt = map.getMapTypes(); 
	for (var i=0; i<mt.length; i++) { 
				mt[i].getMinimumResolution = function() {return 10;} 
			  } 
	GEvent.addListener(map, "moveend", function() {
		i = loadProps();
	});
  }
  document.getElementById('apDivLoadingNCAL').style.visibility='hidden';

 //var rsTarget = document.getElementById('target').value;
}

function createMarker(point, name, address, city, state, zip, type, lat, lng, cap) {
		if (type=='AL') {
      		var marker = new GMarker(point, markerBlue);
			var html = '<table border="0"> <tr> <td><img src="images/blue.png"></td> <td class="NCALpuWindowTitleAL">' + name + '</td> </tr>';
	  	} else {
	  		var marker = new GMarker(point, markerRed);
			 var html = '<table border="0"> <tr> <td><img src="images/red.png"></> <td class="NCALpuWindowTitleNC">' + name + '</td> </tr>';
	 	}
	 html = html + '<tr> <td>&nbsp;</td> <td class="NCALpuWindowAddress">' + address + '<br>' + city + ', ' + state + '  ' +zip + '</td> </tr>' + '<tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap + '</td></tr>'; 
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
	  });
      return marker; 
    }
function createMarkerTwo(point, name, address, city, state, zip, type, lat, lng, cap, name2, type2, cap2) {
	 var html ='';
		if (type!=type2) {
			var marker = new GMarker(point, markerPurple);
		}else if (type=="AL"){
			var marker = new GMarker(point, markerRed);
		}else{
			var marker = new GMarker(point, markerBlue);
		}
		html = ' <table border="0"> <tr> <td colspan="2" class="NCALpuWindowTitleMulti">Properties at:</td> </tr> <tr> <td width="40"> &nbsp; </td> <td width="220" class="NCALpuWindowAddress">' + address + '<br>' + city+ ', ' + state + '  ' +zip + '</td> </tr>';
		
		if (type=="NC") {
			html = html+ ' <tr> <td><center><img src="images/red.png" width="18" height="16" alt="Nursing Care" /></center></td>';
			html = html + ' <td class="NCALpuWindowTitleNC">' + name + '</td> </tr><tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap + '</td></tr>';
		} else {
			html = html + ' <tr> <td><center><img src="images/blue.png" width="18" height="16" alt="Assisted Living" /></center></td>';
			html = html + ' <td class="NCALpuWindowTitleAL">' + name + '</td> </tr><tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap + '</td></tr>';
		}
		if (type2=="NC") {
			html = html + ' <tr> <td><center><img src="images/red.png" width="18" height="16" alt="Nursing Care" /></center></td>';
			html = html + ' <td class="NCALpuWindowTitleNC">' + name2 + '</td> </tr><tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap2 + '</td></tr>';
		} else {
			html = html + ' <tr> <td><center><img src="images/blue.png" width="18" height="16" alt="Assisted Living" /></center></td>';
			html = html + ' <td class="NCALpuWindowTitleAL">' + name2 + '</td> </tr><tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap2 + '</td></tr>';
		}
			
      html = html +  '</table>';
	  GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
	  });
      return marker; 
    }	
function createMarkerThree(point, name, address, city, state, zip, type, lat, lng, cap, name2, type2, cap2, name3, type3, cap3) {
	 var html ='';
 	 var marker = new GMarker(point, markerPurple);
	 html = ' <table border="0"> <tr> <td colspan="2" class="NCALpuWindowTitleMulti">Properties at:</td> </tr> <tr> <td width="40"> &nbsp; </td> <td width="220" class="NCALpuWindowAddress">' + address + '<br>' + city+ ', ' + state + '  ' +zip + '</td> </tr>';
		if (type=="NC") {
			html = html+ ' <tr> <td><center><img src="images/red.png" width="18" height="16" alt="Nursing Care" /></center></td>';
			html = html + ' <td class="NCALpuWindowTitleNC">' + name + '</td> </tr><tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap + '</td></tr>';
		} else {
			html = html + ' <tr> <td><center><img src="images/blue.png" width="18" height="16" alt="Assisted Living" /></center></td>';
			html = html + ' <td class="NCALpuWindowTitleAL">' + name + '</td> </tr><tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap + '</td></tr>';
		}
		if (type2=="NC") {
			html = html + ' <tr> <td><center><img src="images/red.png" width="18" height="16" alt="Nursing Care" /></center></td>';
			html = html + ' <td class="NCALpuWindowTitleNC">' + name2 + '</td> </tr><tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap2 + '</td></tr>';
		} else {
			html = html + ' <tr> <td><center><img src="images/blue.png" width="18" height="16" alt="Assisted Living" /></center></td>';
			html = html + ' <td class="NCALpuWindowTitleAL">' + name2 + '</td> </tr><tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap2 + '</td></tr>';
		}
	if (type3=="NC") {
			html = html + ' <tr> <td><center><img src="images/red.png" width="18" height="16" alt="Nursing Care" /></center></td>';
			html = html + ' <td class="NCALpuWindowTitleNC">' + name3 + '</td> </tr><tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap3 + '</td></tr>';
		} else {
			html = html + ' <tr> <td><center><img src="images/blue.png" width="18" height="16" alt="Assisted Living" /></center></td>';
			html = html + ' <td class="NCALpuWindowTitleAL">' + name3 + '</td> </tr><tr><td> &nbsp; </td><td class="NCALpuWindowCapacity">Capacity: ' + cap3 + '</td></tr>';
		}
      html = html +  '</table>';
	  GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
	  });
      return marker; 
    }	
function reLoad() {
	//map.clearOverlays();
	  if (GBrowserIsCompatible()) {
		document.getElementById('apDivLoadingNCAL').style.visibility='visible';
		var inID = document.getElementById('market').value;
		document.getElementById('county').value = 0;
		var searchUrl = 'genXML/NCALCenter_genxml.php?inID=' + inID;
    GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
       var demos = xml.documentElement.getElementsByTagName('demo');
       for (var i = 0; i < demos.length; i++) {
         var cLat = parseFloat(demos[i].getAttribute('lat'));
		 var cLon = parseFloat(demos[i].getAttribute('lon'));
		 map.setCenter(new GLatLng(cLat, cLon), 11);
		 }
		});
	  }
	  var vLine = vwbAddLine(inID); 
   	 document.getElementById('apDivLoadingNCAL').style.visibility='hidden'; 
	}
	
function hideStateSWF(){
			document.getElementById('apDivOhMapNCAL09').style.visibility='hidden';
			document.getElementById('apDivOhMapNCAL09').style.height='0px';
			document.getElementById('apDivOhMapNCAL09').style.zIndex=0;
}

function loadDivLayer(url, dName) {
	divName = dName;
	xmlhttp=null;
	if (window.XMLHttpRequest)
	  {// code for Firefox, Opera, IE7, etc.
	  xmlhttp=new XMLHttpRequest();
	  }
	else if (window.ActiveXObject)
	  {// code for IE6, IE5
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	  }
	if (xmlhttp!=null)
	  {
	  xmlhttp.onreadystatechange=state_Change;
	  xmlhttp.open("GET",url,true);
	  xmlhttp.send(null);
	  }
	else
	  {
	  alert("Your browser does not support XMLHTTP.");
	  }
}
function state_Change()
{
if (xmlhttp.readyState==4)
  {// 4 = "loaded"
  if (xmlhttp.status==200)
    {// 200 = "OK"
    document.getElementById(divName).innerHTML=xmlhttp.responseText;
    }
  else
    {
    alert("Problem retrieving data:" + xmlhttp.statusText);
    }
  }
return;
}
function loadSmCriteria(inID){
	loadDivLayer('NCALdemos.php?smID=' + inID, 'colMenuCont1');
}

function reLoadCounty() {
	//map.clearOverlays();
	  if (GBrowserIsCompatible()) {
		document.getElementById('apDivLoadingNCAL').style.visibility='visible';
		var inID = document.getElementById('county').value;
		document.getElementById('market').value = 0;
			var searchUrl = 'genXML/vwbCoCenter_genxml.php?coCode=' + inID;
    GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
       var demos = xml.documentElement.getElementsByTagName('demo');
       for (var i = 0; i < demos.length; i++) {
         var cLat = parseFloat(demos[i].getAttribute('lat'));
		 var cLon = parseFloat(demos[i].getAttribute('lon'));
		 map.setCenter(new GLatLng(cLat, cLon), 10);
	     }
		});
	  }
	  var vLine = callDrawLineCounty(); 
   	 document.getElementById('apDivLoadingNCAL').style.visibility='hidden'; 
	}
	
function callDrawLineCounty(){
	//map.clearOverlays();
	var coCode = document.getElementById('county').value;
     var searchUrl = 'genXML/vwbCoID_genxml.php?coCode=' + coCode;
     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
	   var demos = xml.documentElement.getElementsByTagName('demo');
       for (var i = 0; i < demos.length; i++) {
         var coID = parseFloat(demos[i].getAttribute('gid'));
			var coLine = vwbAddLineCounty(coID);
		 }
     });	
}
function vwbAddLine(inID) {
	var searchUrl = 'genXML/smLine_genxml.php?inCode=' + inID;
	GDownloadUrl(searchUrl, function(data) {
	   var xml = GXml.parse(data);
	   var points = xml.documentElement.getElementsByTagName('cPoint');
	   var gpoint = new Array(0);
		  for (var i = 0; i < points.length; i++) {
			  gpoint[i]= new GLatLng(parseFloat(points[i].getAttribute('pLat')), parseFloat(points[i].getAttribute('pLon')));
		  }
		var polylineEncoder = new PolylineEncoder();
			polyline[inID] = polylineEncoder.dpEncodeToGPolygon([gpoint],'#CC0033', 3, 0.5,'#CC0033', 0.2, true, true); 
			map.addOverlay(polyline[inID]);
	});
}
function vwbAddLineCounty(inID) {
		var searchUrl = 'genXML/vwbCo_genxml.php?inCode=' + inID;
		GDownloadUrl(searchUrl, function(data) {
		   var xml = GXml.parse(data);
		   var points = xml.documentElement.getElementsByTagName('cPoint');
		   var gpoint = new Array(0);
			  for (var i = 0; i < points.length; i++) {
				  gpoint[i]= new GLatLng(parseFloat(points[i].getAttribute('pLat')), parseFloat(points[i].getAttribute('pLon')));
			  }
			var polylineEncoder = new PolylineEncoder();
			polyline[inID] = polylineEncoder.dpEncodeToGPolygon([gpoint],'#CC0033', 3, 0.5,'#CC0033', 0.2, true, true); 
			map.addOverlay(polyline[inID]);
		});
}
function changeTarget(){
	
	loadProps();
	if ((document.getElementById('county').value==0)) {
		if (document.getElementById('market').value==0) {
			load();
		}else{
			moveToSm();
		}
	}else{
		moveToCounty();
	}
}
function ohfaClick(i) {
        GEvent.trigger(gmarkers[i], "click");
      }
function loadProps(){
		mapbounds=map.getBounds();
		var mapne=mapbounds.getNorthEast();
		var mapsw=mapbounds.getSouthWest();
		var mapSWLat=mapsw.lat();
		var mapSWLng=mapsw.lng();
		var mapNELat=mapne.lat();
		var mapNELng=mapne.lng();
		var rsTarget = document.getElementById('target').value;
		var searchUrl = 'genXML/NCAL_genxml2.php?rs=' + rsTarget +"&nelat="+mapNELat+"&nelng="+mapNELng+"&swlat="+mapSWLat+"&swlng="+mapSWLng;
		GDownloadUrl(searchUrl, function(data) {
		   var xml = GXml.parse(data);
		   var markers = xml.documentElement.getElementsByTagName('marker');
			if (markers.length == 0) {
			 return;
		    }
			var bounds = new GLatLngBounds();
			for (var i = 0; i < markers.length; i++) {
				var count = markers[i].getAttribute('count');
				if (count=='1') {
					 var name = markers[i].getAttribute('name1');
					 var address = markers[i].getAttribute('address1');
					 var point = new GLatLng(parseFloat(markers[i].getAttribute('lat1')),
											 parseFloat(markers[i].getAttribute('lng1')));
					 var city = markers[i].getAttribute('city1');
					 var zip = markers[i].getAttribute('zip1');
					 var state = markers[i].getAttribute('state1');
					 var type = markers[i].getAttribute('type1');
					 var lat = parseFloat(markers[i].getAttribute('lat1'));
					 var lng = parseFloat(markers[i].getAttribute('lng1'));
					 var cap = markers[i].getAttribute('cap1');
					 var marker = createMarker(point, name, address, city, state, zip, type, lat, lng, cap);
					 map.addOverlay(marker);
				}else if (count=='2'){
					var name = markers[i].getAttribute('name1');
					 var address = markers[i].getAttribute('address1');
					 var point = new GLatLng(parseFloat(markers[i].getAttribute('lat1')),
											 parseFloat(markers[i].getAttribute('lng1')));
					 var city = markers[i].getAttribute('city1');
					 var zip = markers[i].getAttribute('zip1');
					 var state = markers[i].getAttribute('state1');
					 var type = markers[i].getAttribute('type1');
					 var lat = parseFloat(markers[i].getAttribute('lat1'));
					 var lng = parseFloat(markers[i].getAttribute('lng1'));
					 var cap = markers[i].getAttribute('cap1');
					 var name2 = markers[i].getAttribute('name2');
					 var type2 = markers[i].getAttribute('type2');
					 var cap2 = markers[i].getAttribute('cap2');
					 var marker = createMarkerTwo(point, name, address, city, state, zip, type, lat, lng, cap, name2, type2, cap2);
					 map.addOverlay(marker);
				}else{
					var name = markers[i].getAttribute('name1');
					 var address = markers[i].getAttribute('address1');
					 var point = new GLatLng(parseFloat(markers[i].getAttribute('lat1')),
											 parseFloat(markers[i].getAttribute('lng1')));
					 var city = markers[i].getAttribute('city1');
					 var zip = markers[i].getAttribute('zip1');
					 var state = markers[i].getAttribute('state1');
					 var type = markers[i].getAttribute('type1');
					 var lat = parseFloat(markers[i].getAttribute('lat1'));
					 var lng = parseFloat(markers[i].getAttribute('lng1'));
					 var cap = markers[i].getAttribute('cap1');
					 var name2 = markers[i].getAttribute('name2');
					 var type2 = markers[i].getAttribute('type2');
					 var cap2 = markers[i].getAttribute('cap2');
					 var name3 = markers[i].getAttribute('name3');
					 var type3 = markers[i].getAttribute('type3');
					 var cap3 = markers[i].getAttribute('cap3');
					 var marker = createMarkerThree(point, name, address, city, state, zip, type, lat, lng, cap, name2, type2, cap2, name3, type3, cap3);
					 map.addOverlay(marker);
				}
			}
		 });	
}
function searchLocations() {
    map.clearOverlays();
	document.getElementById('apDivOhMapNCAL09').style.visibility='hidden';
	 document.getElementById('apDivLoadingNCAL').style.visibility='visible';
	 document.getElementById('locatedAddressMulti').style.height = '0px';
	document.getElementById('locatedAddressMulti').style.visibility = 'hidden';
     var address = document.getElementById('addressInput').value;
	 var geocod = new GClientGeocoder();
	 geocod.setBaseCountryCode('US');
	 document.getElementById("locatedAddr").innerHTML = 'Searching....';
	 map.clearOverlays();
	 geocod.getLocations(address, function (result)
          { 
            // If that was successful
            if (result.Status.code == G_GEO_SUCCESS) {
			  if (result.Placemark.length == 0){
				  document.getElementById("message").innerHTML = "Could Not Locate";
			  } else if(result.Placemark.length == 1){
				  var p = result.Placemark[0].Point.coordinates;
				  var f = findCounty(p[1],p[0]);
				  var marker = new GMarker(new GLatLng(p[1],p[0]));
				  document.getElementById("locatedAddr").innerHTML = "Located: "+ result.Placemark[0].address + marker.getPoint();
			  }else{
				  	document.getElementById('apDivOhMapNCAL09').style.visibility='hidden';
					document.getElementById("locatedAddr").innerHTML = '';
					document.getElementById('apDivLoadingNCAL').style.visibility='hidden';
					document.getElementById('locatedAddressMulti').innerHTML = "That search returned " +result.Placemark.length +" results: Please click the correct one";
				  for (var i=0; i<result.Placemark.length; i++) {
					var p = result.Placemark[i].Point.coordinates;
					var marker = new GMarker(new GLatLng(p[1],p[0]));
					
					document.getElementById('locatedAddressMulti').innerHTML += "<br><a href='javascript:findCountyML("+p[1]+","+p[0]+"," + escape("'" + result.Placemark[i].address + "'") + ")'>" +(i+1)+": "+ result.Placemark[i].address + marker.getPoint() + "</a>";
				  }
				  mi = (20* result.Placemark.length) + 20;
				  document.getElementById('locatedAddressMulti').style.height = mi + 'px';
				  document.getElementById('locatedAddressMulti').style.visibility = 'visible';
			  }
			  // centre the map on the first result
              var p = result.Placemark[0].Point.coordinates;
              //map.setCenter(new GLatLng(p[1],p[0]),14);
            }
            // ====== error status ======
            else {
              var reason="Code "+result.Status.code;
              if (reasons[result.Status.code]) {
                reason = reasons[result.Status.code]
              } 
              alert('Could not find "'+address+ '" ' + reason);
			  document.getElementById("message").innerHTML = '';
            }
          }
        );
}
function findCountyML(lat, lng, addr){
	document.getElementById("locatedAddr").innerHTML = addr;
	document.getElementById('apDivLoadingNCAL').style.visibility='visible';
	document.getElementById('apDivOhMapNCAL09').visible ='hidden';
	document.getElementById('locatedAddressMulti').style.height = '0px';
	document.getElementById('locatedAddressMulti').style.visibility = 'hidden';
	i = findCounty(lat, lng);
}

function findCounty(lat, lng) {
	var marker = new GMarker(new GLatLng(lat, lng));
	map.addOverlay(marker);
	map.setCenter(new GLatLng(lat,lng),10);
	//alert('1');
	var searchUrl = 'genXML/County_genxml.php?lat=' + lat + '&lng=' + lng;
	 //demos.innerHTML = searchUrl;
     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
    	var demos = xml.documentElement.getElementsByTagName('demo');
       if (demos.length == 0) {
         document.getElementById("message").innerHTML += ('No County found.  ' + lat + ',' + lng);
         return;
       }
		if (demos.length ==1) {
			var f = testForSMCounty( demos[0].getAttribute('gid'), lat, lng);
			//alert ('2');
		} else {
       		for (var i = 0; i < demos.length; i++) {
				var p = testCounty ( demos[i].getAttribute('gid'), lat, lng);
			}
		}
      });
}

function loadCounty (coCode) {
			hideStateSWF();
			document.getElementById('FlashID2').style.height='0px';
			document.getElementById('map').style.zIndex=980;
			document.getElementById('county').value = coCode;
			var tempTO = setTimeout('reLoadCounty()', 0);
			var tempT2 = setTimeout('loadSmCriteria(' + coCode + ')',2);
}
function loadSM (inID) {
			hideStateSWF();
			document.getElementById('FlashID2').style.height='0px';
			document.getElementById('map').style.zIndex=980;
			document.getElementById('market').value = inID;
			var tempTO = setTimeout('reLoad()', 0);
			var tempT2 = setTimeout('loadSmCriteria(' + inID + ')',2)
}
function moveToSm(){
	document.getElementById('apDivLoadingNCAL').style.visibility='visible';
	map.clearOverlays();
		var inID = document.getElementById('market').value;
		loadSM (inID);
}
function moveToCounty(){
	document.getElementById('apDivLoadingNCAL').style.visibility='visible';
	map.clearOverlays();
		var inID = document.getElementById('county').value;
	loadCounty (inID);
}
function moveToCountyNum(inID){
	document.getElementById('apDivLoadingNCAL').style.visibility='visible';
	map.clearOverlays();
	loadCounty (inID);
}
function moveToSmNum(inID){
	document.getElementById('apDivLoadingNCAL').style.visibility='visible';
	map.clearOverlays();
	loadSM (inID);
}
function loadStateMap() {
			map.clearOverlays();
			document.getElementById('apDivOhMapNCAL09').style.visibility='visible';
			document.getElementById('apDivOhMapNCAL09').style.height='550px';
			document.getElementById('apDivOhMapNCAL09').style.zIndex=980;
			document.getElementById('FlashID2').style.height='550px';
			document.getElementById('map').style.zIndex=0;	
			var tempT2 = setTimeout('loadSmCriteria(39000)',2);
}
function testCounty(coCode, lat, lng) {
	var searchUrl = 'genXML/vwbCoID_genxml.php?coCode=' + coCode;
     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
	   var demos = xml.documentElement.getElementsByTagName('demo');
	   if (demos.length == 0) {
         document.getElementById("message").innerHTML += ('No polygon found.  ' + coCode);
         return;
       }
       for (var i = 0; i < demos.length; i++) {
         var coID = parseFloat(demos[i].getAttribute('gid'));
		 //document.getElementById("message").innerHTML += (' testing ' + coID);
			testCountyPoly(coID, lat, lng, coCode);
		}
     });	
}
function findCountySM(inCity, lat, lng) {
	//alert ('test county ' + coCode);
	var searchUrl = 'genXML/vwbSmID_genxml.php?inCity=' + inCity;
     GDownloadUrl(searchUrl, function(data) {
       var xml = GXml.parse(data);
	   var demos = xml.documentElement.getElementsByTagName('demo');
	   if (demos.length == 0) {
         document.getElementById("message").innerHTML += ('No sm polygon found.  ' + inCity);
         return;
       }
       for (var i = 0; i < demos.length; i++) {
         var smID = parseFloat(demos[i].getAttribute('smid'));
		 //document.getElementById("message").innerHTML += (' : testing SM' + smID);
			testSmPoly(smID, lat, lng);
		}
     });	
}
function testCountyPoly(inID, lat, lng, coCode){
	contn = 0;
	var coPoint = new GLatLng(lat, lng);
	var searchUrl = 'genXML/vwbCo_genxml.php?inCode=' + inID;
		GDownloadUrl(searchUrl, function(data) {
		   var xml = GXml.parse(data);
		   var points = xml.documentElement.getElementsByTagName('cPoint');
		   var gpoint = new Array(0);
			  for (var i = 0; i < points.length; i++) {
				  gpoint[i]= new GLatLng(parseFloat(points[i].getAttribute('pLat')), parseFloat(points[i].getAttribute('pLon')));
			  }
			var polylineEncoder = new PolylineEncoder();
			polyline = polylineEncoder.dpEncodeToGPolyline(gpoint, '#CC0033');
			if (polyline.Contains(coPoint)) {
				//Good County
				testForSMCounty(coCode);
			}
		});
}
function testSmPoly(inID, lat, lng){
	contn = 0;
	var coPoint = new GLatLng(lat, lng);
	var searchUrl = 'genXML/vwbSM_genxml.php?inCode=' + inID;
		GDownloadUrl(searchUrl, function(data) {
		   var xml = GXml.parse(data);
		   var points = xml.documentElement.getElementsByTagName('cPoint');
		   var gpoint = new Array(0);
			  for (var i = 0; i < points.length; i++) {
				  gpoint[i]= new GLatLng(parseFloat(points[i].getAttribute('pLat')), parseFloat(points[i].getAttribute('pLon')));
			  }
			var polylineEncoder = new PolylineEncoder();
			polyline = polylineEncoder.dpEncodeToGPolyline(gpoint, '#CC0033');
			if (polyline.Contains(coPoint)) {
				//Good SM
				loadSM(inID)
				var tempT2 = setTimeout('loadSmCriteria("' + inID + '")',2);
			}
		});
}
function testForSMCounty(coCode, lat, lng){
//alert ('Testing for SM ' +coCode);	
	switch(coCode) {
		case '39049':
			findCountySM('Columbus', lat, lng);
			break;
		case '39153':
			findCountySM('Akron', lat, lng);
			break;
		case '39061':
			findCountySM('Cincinnati', lat, lng);
			break;
		case '39095':
			findCountySM('Toledo', lat, lng);
			break;	
		case '39113':
			findCountySM('Dayton', lat, lng);
			break;
		case '39035':
			findCountySM('Cleveland', lat, lng);
			break;
		case '39151':
			findCountySM('Canton', lat, lng);
			break;
		case '39099':
			findCountySM('Youngstown', lat, lng);
			break;
		default:
			loadCounty(coCode);
			var tempT2 = setTimeout('loadSmCriteria("' + coCode + '")',2);
			break;
	}
}

function pip(center){
	  var sitepoint = new GLatLng(parseFloat(center.lat()),
                                 parseFloat(center.lng()));
	   var clonlat = center.lng() + " " + center.lat();	
	   var marker = new GMarker(sitepoint, markerSite);
		 var html = 'site:' + sitepoint;
		   GEvent.addListener(marker, 'click', function() {
			 marker.openInfoWindowHtml(html);
		   });
		   map.addOverlay(marker);	
 }