google.load("earth", "1"); google.load("maps", "2.99"); // For JS geocoder var ge = null; function init() { google.earth.createInstance("map3d", initCallback, failureCallback); geocoder = new GClientGeocoder(); } function initCallback(object) { ge = object; ge.getWindow().setVisibility(true); ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW); ge.getOptions().setStatusBarVisibility(true); google.earth.addEventListener(ge.getWindow(), "mousedown", mousedown_eventListener); windfarms = getNL('http://www.fintree.com/demodata/US_Windfarms.kmz'); windresource = getNL('http://www.fintree.com/demodata/US_WindResource_Map.kmz'); airports1 = getNL('http://www.fintree.com/demodata/us_airports1.kmz'); airports1.setVisibility(false); airports2 = getNL('http://www.fintree.com/demodata/us_airports2.kmz'); airports2.setVisibility(false); airports3 = getNL('http://www.fintree.com/demodata/us_airports3.kmz'); airports3.setVisibility(false); airports4 = getNL('http://www.fintree.com/demodata/us_airports4.kmz'); airports4.setVisibility(false); airports5 = getNL('http://www.fintree.com/demodata/us_airports5.kmz'); airports5.setVisibility(false); airports6 = getNL('http://www.fintree.com/demodata/us_airports6.kmz'); airports6.setVisibility(false); airports7 = getNL('http://www.fintree.com/demodata/us_airports7.kmz'); airports7.setVisibility(false); radar_10mi = getNL('http://www.fintree.com/demodata/radar_10mi.kmz'); radar_10mi.setVisibility(false); radar_large = getNL('http://www.fintree.com/demodata/radar_large.kmz'); radar_large.setVisibility(false); radar_towers = getNL('http://www.fintree.com/demodata/radar_towers.kmz'); radar_towers.setVisibility(false); met = getNL('http://www.fintree.com/demodata/met.kmz'); met.setVisibility(false); highres_ma = getNL('http://www.fintree.com/demodata/Wind_Map_MA.kmz'); highres_ma.setVisibility(false); highres_vt = getNL('http://www.fintree.com/demodata/Wind_Map_VT.kmz'); highres_vt.setVisibility(false); highres_akn1 = getNL('http://www.fintree.com/demodata/Wind_Map_AK_North1.kmz'); highres_akn1.setVisibility(false); highres_akn2 = getNL('http://www.fintree.com/demodata/Wind_Map_AK_North2.kmz'); highres_akn2.setVisibility(false); highres_akn3 = getNL('http://www.fintree.com/demodata/Wind_Map_AK_North3.kmz'); highres_akn3.setVisibility(false); highres_akm1 = getNL('http://www.fintree.com/demodata/Wind_Map_AK_Middle1.kmz'); highres_akm1.setVisibility(false); highres_akm2 = getNL('http://www.fintree.com/demodata/Wind_Map_AK_Middle2.kmz'); highres_akm2.setVisibility(false); highres_akm3 = getNL('http://www.fintree.com/demodata/Wind_Map_AK_Middle3.kmz'); highres_akm3.setVisibility(false); highres_aks1 = getNL('http://www.fintree.com/demodata/Wind_Map_AK_South1.kmz'); highres_aks1.setVisibility(false); highres_aks2 = getNL('http://www.fintree.com/demodata/Wind_Map_AK_South2.kmz'); highres_aks2.setVisibility(false); highres_ar = getNL('http://www.fintree.com/demodata/Wind_Map_AR.kmz'); highres_ar.setVisibility(false); highres_az = getNL('http://www.fintree.com/demodata/Wind_Map_AZ.kmz'); highres_az.setVisibility(false); highres_co1 = getNL('http://www.fintree.com/demodata/Wind_Map_CO1.kmz'); highres_co1.setVisibility(false); highres_co2 = getNL('http://www.fintree.com/demodata/Wind_Map_CO2.kmz'); highres_co2.setVisibility(false); highres_co3 = getNL('http://www.fintree.com/demodata/Wind_Map_CO3.kmz'); highres_co3.setVisibility(false); highres_co4 = getNL('http://www.fintree.com/demodata/Wind_Map_CO4.kmz'); highres_co4.setVisibility(false); highres_co5 = getNL('http://www.fintree.com/demodata/Wind_Map_CO5.kmz'); highres_co5.setVisibility(false); highres_ct = getNL('http://www.fintree.com/demodata/Wind_Map_CT.kmz'); highres_ct.setVisibility(false); highres_men = getNL('http://www.fintree.com/demodata/Wind_Map_ME_North.kmz'); highres_men.setVisibility(false); highres_mes = getNL('http://www.fintree.com/demodata/Wind_Map_ME_South.kmz'); highres_mes.setVisibility(false); highres_nh = getNL('http://www.fintree.com/demodata/Wind_Map_NH.kmz'); highres_nh.setVisibility(false); highres_ri = getNL('http://www.fintree.com/demodata/Wind_Map_RI.kmz'); highres_ri.setVisibility(false); highres_hi = getNL('http://www.fintree.com/demodata/Wind_Map_HI.kmz'); highres_hi.setVisibility(false); highres_il = getNL('http://www.fintree.com/demodata/Wind_Map_IL.kmz'); highres_il.setVisibility(false); highres_in = getNL('http://www.fintree.com/demodata/Wind_Map_IN.kmz'); highres_in.setVisibility(false); highres_mi1 = getNL('http://www.fintree.com/demodata/Wind_Map_MI1.kmz'); highres_mi1.setVisibility(false); highres_mi2 = getNL('http://www.fintree.com/demodata/Wind_Map_MI2.kmz'); highres_mi2.setVisibility(false); highres_mi3 = getNL('http://www.fintree.com/demodata/Wind_Map_MI3.kmz'); highres_mi3.setVisibility(false); highres_mi4 = getNL('http://www.fintree.com/demodata/Wind_Map_MI4.kmz'); highres_mi4.setVisibility(false); highres_mid1 = getNL('http://www.fintree.com/demodata/Wind_Map_MidAtl1.kmz'); highres_mid1.setVisibility(false); highres_mid2 = getNL('http://www.fintree.com/demodata/Wind_Map_MidAtl2.kmz'); highres_mid2.setVisibility(false); highres_mid3 = getNL('http://www.fintree.com/demodata/Wind_Map_MidAtl3.kmz'); highres_mid3.setVisibility(false); highres_mid4 = getNL('http://www.fintree.com/demodata/Wind_Map_MidAtl4.kmz'); highres_mid4.setVisibility(false); highres_mid5 = getNL('http://www.fintree.com/demodata/Wind_Map_MidAtl5.kmz'); highres_mid5.setVisibility(false); highres_midp = getNL('http://www.fintree.com/demodata/Wind_Map_MidAtlPoor.kmz'); highres_midp.setVisibility(false); highres_mo = getNL('http://www.fintree.com/demodata/Wind_Map_MO.kmz'); highres_mo.setVisibility(false); highres_ndsd = getNL('http://www.fintree.com/demodata/Wind_Map_Dakotas.kmz'); highres_ndsd.setVisibility(false); highres_ne = getNL('http://www.fintree.com/demodata/Wind_Map_NE.kmz'); highres_ne.setVisibility(false); highres_nv = getNL('http://www.fintree.com/demodata/Wind_Map_NV.kmz'); highres_nv.setVisibility(false); highres_oh = getNL('http://www.fintree.com/demodata/Wind_Map_OH.kmz'); highres_oh.setVisibility(false); highres_ut = getNL('http://www.fintree.com/demodata/Wind_Map_UT.kmz'); highres_ut.setVisibility(false); highres_pacn = getNL('http://www.fintree.com/demodata/Wind_Map_PacNW_North.kmz'); highres_pacn.setVisibility(false); highres_pacmn = getNL('http://www.fintree.com/demodata/Wind_Map_PacNW_MN.kmz'); highres_pacmn.setVisibility(false); highres_pacms = getNL('http://www.fintree.com/demodata/Wind_Map_PacNW_MS.kmz'); highres_pacms.setVisibility(false); highres_pacs = getNL('http://www.fintree.com/demodata/Wind_Map_PacNW_South.kmz'); highres_pacs.setVisibility(false); highres_ca1 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_1.kmz'); highres_ca1.setVisibility(false); highres_ca2 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_2.kmz'); highres_ca2.setVisibility(false); highres_ca3 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_3.kmz'); highres_ca3.setVisibility(false); highres_ca4 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_4.kmz'); highres_ca4.setVisibility(false); highres_ca5 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_5.kmz'); highres_ca5.setVisibility(false); highres_ca6 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_6.kmz'); highres_ca6.setVisibility(false); highres_ca7 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_7.kmz'); highres_ca7.setVisibility(false); highres_ca8 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_8.kmz'); highres_ca8.setVisibility(false); // highres_ca_pw1 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_Poor_1.kmz'); // highres_ca_pw1.setVisibility(false); // highres_ca_pw2 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_Poor_2.kmz'); // highres_ca_pw2.setVisibility(false); // highres_ca_pw3 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_Poor_3.kmz'); // highres_ca_pw3.setVisibility(false); // highres_ca_pw4 = getNL('http://www.fintree.com/demodata/Wind_Map_CA_Poor_4.kmz'); // highres_ca_pw4.setVisibility(false); util_ma = getNL('http://www.fintree.com/demodata/Util_MA.kmz'); util_ma.setVisibility(false); cons_p = getNL('http://www.nrdc.org/googleearth/ConsSolRenewUSWest_GE_NRDC/Merge_01April2009/Merge_Category01_Raster_lvl6/Merge_Category01_Raster_lvl6.kmz'); cons_p.setVisibility(false); cons_r = getNL('http://www.nrdc.org/googleearth/ConsSolRenewUSWest_GE_NRDC/Merge_01April2009/Merge_Category02_Raster_lvl6/Merge_Category02_Raster_lvl6.kmz'); cons_r.setVisibility(false); cons_a = getNL('http://www.nrdc.org/googleearth/ConsSolRenewUSWest_GE_NRDC/Merge_01April2009/Merge_Category03_Raster_lvl6/Merge_Category03_Raster_lvl6.kmz'); cons_a.setVisibility(false); birds_ia = getNL('http://www.fintree.com/demodata/birds_ia.kmz'); birds_ia.setVisibility(false); birds_gb = getNL('http://www.fintree.com/demodata/birds_gb.kmz'); birds_gb.setVisibility(false); birds_wyg = getNL('http://www.fintree.com/demodata/birds_wyg.kmz'); birds_wyg.setVisibility(false); solar_jan = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_jan.kmz'); solar_jan.setVisibility(false); solar_feb = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_feb.kmz'); solar_feb.setVisibility(false); solar_mar = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_mar.kmz'); solar_mar.setVisibility(false); solar_apr = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_apr.kmz'); solar_apr.setVisibility(false); solar_may = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_may.kmz'); solar_may.setVisibility(false); solar_jun = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_jun.kmz'); solar_jun.setVisibility(false); solar_jul = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_jul.kmz'); solar_jul.setVisibility(false); solar_aug = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_aug.kmz'); solar_aug.setVisibility(false); solar_sep = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_sep.kmz'); solar_sep.setVisibility(false); solar_oct = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_oct.kmz'); solar_oct.setVisibility(false); solar_nov = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_nov.kmz'); solar_nov.setVisibility(false); solar_dec = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_dec.kmz'); solar_dec.setVisibility(false); solar_annl = getNL('http://www.fintree.com/demodata/solar_pv_resource_map_annl.kmz'); solar_annl.setVisibility(false); epautilwind = getNL('http://www.fintree.com/demodata/epa_re_energy_utilwind.kmz'); epautilwind.setVisibility(false); epacommwind = getNL('http://www.fintree.com/demodata/epa_re_energy_commwind.kmz'); epacommwind.setVisibility(false); epanongridtiewind = getNL('http://www.fintree.com/demodata/epa_re_energy_nongridwind.kmz'); epanongridtiewind.setVisibility(false); epacspsolar = getNL('http://www.fintree.com/demodata/epa_re_energy_csputilsolar.kmz'); epacspsolar.setVisibility(false); epapvsolar = getNL('http://www.fintree.com/demodata/epa_re_energy_pvutilsolar.kmz'); epapvsolar.setVisibility(false); epanongridtiesolar = getNL('http://www.fintree.com/demodata/epa_re_energy_nongridsolar.kmz'); epanongridtiesolar.setVisibility(false); epalandfills = getNL('http://www.fintree.com/demodata/landfills_inactive_closed.kmz'); epalandfills.setVisibility(false); transmission = getNL('http://www.fintree.com/demodata/transmission.kmz'); transmission.setVisibility(false); historic1 = getNL('http://www.fintree.com/demodata/NRHP_Northeast_1.kmz'); historic1.setVisibility(false); historic2 = getNL('http://www.fintree.com/demodata/NRHP_Northeast_2.kmz'); historic2.setVisibility(false); historic3 = getNL('http://www.fintree.com/demodata/NRHP_Northeast_3.kmz'); historic3.setVisibility(false); historic4 = getNL('http://www.fintree.com/demodata/NRHP_Northeast_4.kmz'); historic4.setVisibility(false); historic5 = getNL('http://www.fintree.com/demodata/NRHP_South_1.kmz'); historic5.setVisibility(false); historic6 = getNL('http://www.fintree.com/demodata/NRHP_South_2.kmz'); historic6.setVisibility(false); historic7 = getNL('http://www.fintree.com/demodata/NRHP_South_3.kmz'); historic7.setVisibility(false); historic8 = getNL('http://www.fintree.com/demodata/NRHP_South_4.kmz'); historic8.setVisibility(false); historic9 = getNL('http://www.fintree.com/demodata/NRHP_Midwest_1.kmz'); historic9.setVisibility(false); historic10 = getNL('http://www.fintree.com/demodata/NRHP_Midwest_2.kmz'); historic10.setVisibility(false); historic11 = getNL('http://www.fintree.com/demodata/NRHP_Midwest_3.kmz'); historic11.setVisibility(false); historic12 = getNL('http://www.fintree.com/demodata/NRHP_Midwest_4.kmz'); historic12.setVisibility(false); historic13 = getNL('http://www.fintree.com/demodata/NRHP_West_1.kmz'); historic13.setVisibility(false); historic14 = getNL('http://www.fintree.com/demodata/NRHP_West_2.kmz'); historic14.setVisibility(false); historic15 = getNL('http://www.fintree.com/demodata/NRHP_Territories.kmz'); historic15.setVisibility(false); meteodyn80AT = getNL('http://www.fintree.com/demodata/Meteodyn_80AT.kmz'); meteodyn80AT.setVisibility(false); meteodyn80KT = getNL('http://www.fintree.com/demodata/Meteodyn_80KT.kmz'); meteodyn80KT.setVisibility(false); meteodyn80PotT = getNL('http://www.fintree.com/demodata/Meteodyn_80PotT.kmz'); meteodyn80PotT.setVisibility(false); meteodyn80ProdT = getNL('http://www.fintree.com/demodata/Meteodyn_80ProdT.kmz'); meteodyn80ProdT.setVisibility(false); meteodyn80Fact = getNL('http://www.fintree.com/demodata/Meteodyn_80Fact.kmz'); meteodyn80Fact.setVisibility(false); meteodyn80Vmoy = getNL('http://www.fintree.com/demodata/Meteodyn_80Vmoy.kmz'); meteodyn80Vmoy.setVisibility(false); meteodyn80Tmoy = getNL('http://www.fintree.com/demodata/Meteodyn_80Tmoy.kmz'); meteodyn80Tmoy.setVisibility(false); meteodyn80Imoy = getNL('http://www.fintree.com/demodata/Meteodyn_80Imoy.kmz'); meteodyn80Imoy.setVisibility(false); hydro1 = getNL('http://www.fintree.com/demodata/Lwr48_CandY_noMicro_1.kmz'); hydro1.setVisibility(false); hydro2 = getNL('http://www.fintree.com/demodata/Lwr48_CandY_noMicro_2.kmz'); hydro2.setVisibility(false); hydro3 = getNL('http://www.fintree.com/demodata/Lwr48_CandY_noMicro_3.kmz'); hydro3.setVisibility(false); hydro4 = getNL('http://www.fintree.com/demodata/Lwr48_CandY_noMicro_4.kmz'); hydro4.setVisibility(false); hydro5 = getNL('http://www.fintree.com/demodata/Lwr48_CandY_noMicro_5.kmz'); hydro5.setVisibility(false); hydro6 = getNL('http://www.fintree.com/demodata/Lwr48_CandY_noMicro_6.kmz'); hydro6.setVisibility(false); hydroHI = getNL('http://www.fintree.com/demodata/HI_CandY_noMicro.kmz'); hydroHI.setVisibility(false); hydroAK = getNL('http://www.fintree.com/demodata/AK_CandY_noMicro.kmz'); hydroAK.setVisibility(false); } function failureCallback(object) { } function mousedown_eventListener(event) { // select a location with a mouse click var mouseloc = ge.createLocation(''); mouseloc.setLatitude(event.getLatitude()); mouseloc.setLongitude(event.getLongitude()); document.layeroptions.lat.value = mouseloc.getLatitude().toFixed(5); document.layeroptions.lon.value = mouseloc.getLongitude().toFixed(5); } function gotolocation(address) { geocoder.getLatLng(address, function(point) { if (point && ge != null) { var lookat = ge.createLookAt(''); lookat.set(point.y, point.x, 100, ge.ALTITUDE_RELATIVE_TO_GROUND, 0, 0, 400); ge.getView().setAbstractView(lookat); } }); } function getNL(kmlURL){ var nlId = ''; var lastid = 0; lastnode = ge.getFeatures().getLastChild(); if (lastnode == null) { lastid = 0; } else { lastid = parseInt(lastnode.getId()); } var newid = lastid + 1; var found = true; // search until an unused pmid is found do { found = UsedPmId(newid); if(found==true) { newid++; } } while (found == true); nlId = newid + ''; // var nl = ge.createNetworkLink(""); var nl = ge.createNetworkLink(nlId); var link = ge.createLink(""); link.setHref(kmlURL); nl.setLink(link); nl.setFlyToView(false); //ge.getGlobe().getFeatures().appendChild(nl); ge.getFeatures().appendChild(nl); return nl; } function updateOptions(layer,state) { if (layer == "windresource") { windresource.setVisibility(state); if (state == true && document.layeroptions.highresmenu.value != "default") { document.layeroptions.highresmenu.value = "default"; unselectOptionsmenu("highresmenu"); } } else if (layer == "windfarms") { windfarms.setVisibility(state); } else if (layer == "airports") { airports1.setVisibility(state); airports2.setVisibility(state); airports3.setVisibility(state); airports4.setVisibility(state); airports5.setVisibility(state); airports6.setVisibility(state); airports7.setVisibility(state); } else if (layer == "historic") { historic1.setVisibility(state); historic2.setVisibility(state); historic3.setVisibility(state); historic4.setVisibility(state); historic5.setVisibility(state); historic6.setVisibility(state); historic7.setVisibility(state); historic8.setVisibility(state); historic9.setVisibility(state); historic10.setVisibility(state); historic11.setVisibility(state); historic12.setVisibility(state); historic13.setVisibility(state); historic14.setVisibility(state); historic15.setVisibility(state); } else if (layer == "hydro") { hydro1.setVisibility(state); hydro2.setVisibility(state); hydro3.setVisibility(state); hydro4.setVisibility(state); hydro5.setVisibility(state); hydro6.setVisibility(state); hydroAK.setVisibility(state); hydroHI.setVisibility(state); } else if (layer == "radar_10mi") { radar_10mi.setVisibility(state); } else if (layer == "radar_large") { radar_large.setVisibility(state); } else if (layer == "radar_towers") { radar_towers.setVisibility(state); } else if (layer == "epautilwind") { epautilwind.setVisibility(state); } else if (layer == "epacommwind") { epacommwind.setVisibility(state); } else if (layer == "epanongridtiewind") { epanongridtiewind.setVisibility(state); } else if (layer == "epacspsolar") { epacspsolar.setVisibility(state); } else if (layer == "epapvsolar") { epapvsolar.setVisibility(state); } else if (layer == "epanongridtiesolar") { epanongridtiesolar.setVisibility(state); } else if (layer == "epalandfills") { epalandfills.setVisibility(state); } else if (layer == "privateland") {} //{privateland.setVisibility(state); } else if (layer == "met") { met.setVisibility(state); } else if (layer == "birds_ia") { birds_ia.setVisibility(state); } else if (layer == "birds_gb") { birds_gb.setVisibility(state); } else if (layer == "birds_wyg") { birds_wyg.setVisibility(state); } else if (layer == "transmission") { transmission.setVisibility(state); } } function updateOptionsmenu(layer,selection) { if (layer == "highresmenu") { //High Resolution Windmap selection windresource.setVisibility(false); document.layeroptions.windresource.checked = false; highres_ma.setVisibility(selection == "MA"); highres_vt.setVisibility(selection == "VT"); highres_akn1.setVisibility(selection == "AKN"); highres_akn2.setVisibility(selection == "AKN"); highres_akn3.setVisibility(selection == "AKN"); highres_akm1.setVisibility(selection == "AKM"); highres_akm2.setVisibility(selection == "AKM"); highres_akm3.setVisibility(selection == "AKM"); highres_aks1.setVisibility(selection == "AKS"); highres_aks2.setVisibility(selection == "AKS"); highres_ri.setVisibility(selection == "RI"); highres_ar.setVisibility(selection == "AR"); highres_az.setVisibility(selection == "AZ"); highres_ca1.setVisibility(selection == "CA"); highres_ca2.setVisibility(selection == "CA"); highres_ca3.setVisibility(selection == "CA"); highres_ca4.setVisibility(selection == "CA"); highres_ca5.setVisibility(selection == "CA"); highres_ca6.setVisibility(selection == "CA"); highres_ca7.setVisibility(selection == "CA"); highres_ca8.setVisibility(selection == "CA"); // highres_ca_pw1.setVisibility(selection == "CA"); // highres_ca_pw2.setVisibility(selection == "CA"); // highres_ca_pw3.setVisibility(selection == "CA"); // highres_ca_pw4.setVisibility(selection == "CA"); highres_co1.setVisibility(selection == "CO"); highres_co2.setVisibility(selection == "CO"); highres_co3.setVisibility(selection == "CO"); highres_co4.setVisibility(selection == "CO"); highres_co5.setVisibility(selection == "CO"); highres_ct.setVisibility(selection == "CT"); highres_hi.setVisibility(selection == "HI"); highres_il.setVisibility(selection == "IL"); highres_mi1.setVisibility(selection == "MI"); highres_mi2.setVisibility(selection == "MI"); highres_mi3.setVisibility(selection == "MI"); highres_mi4.setVisibility(selection == "MI"); highres_mid1.setVisibility(selection == "MID"); highres_mid2.setVisibility(selection == "MID"); highres_mid3.setVisibility(selection == "MID"); highres_mid4.setVisibility(selection == "MID"); highres_mid5.setVisibility(selection == "MID"); highres_midp.setVisibility(selection == "MID"); highres_men.setVisibility(selection == "MEN"); highres_mes.setVisibility(selection == "MES"); highres_mo.setVisibility(selection == "MO"); highres_in.setVisibility(selection == "IN"); highres_oh.setVisibility(selection == "OH"); highres_ndsd.setVisibility(selection == "NDSD"); highres_ne.setVisibility(selection == "NE"); highres_nv.setVisibility(selection == "NV"); highres_nh.setVisibility(selection == "NH"); highres_ut.setVisibility(selection == "UT"); highres_pacn.setVisibility(selection == "PACN"); highres_pacmn.setVisibility(selection == "PACMN"); highres_pacms.setVisibility(selection == "PACMS"); highres_pacs.setVisibility(selection == "PACS"); } if (layer == "utilmenu") { //Electricity Provider selection windresource.setVisibility(false); document.layeroptions.windresource.checked = false; util_ma.setVisibility(selection == "MA"); /* util_vt.setVisibility(selection == "VT"); util_akn.setVisibility(selection == "AKN"); util_akm.setVisibility(selection == "AKM"); util_aks.setVisibility(selection == "AKS"); util_ri.setVisibility(selection == "RI"); util_ar.setVisibility(selection == "AR"); util_az.setVisibility(selection == "AZ"); util_co.setVisibility(selection == "CO"); util_ct.setVisibility(selection == "CT"); util_hi.setVisibility(selection == "HI"); util_il.setVisibility(selection == "IL"); util_mi.setVisibility(selection == "MI"); util_me.setVisibility(selection == "ME"); util_in.setVisibility(selection == "IN"); util_oh.setVisibility(selection == "OH"); util_ndsd.setVisibility(selection == "NDSD"); util_nv.setVisibility(selection == "NV"); util_nh.setVisibility(selection == "NH"); util_ut.setVisibility(selection == "UT"); util_pacn.setVisibility(selection == "PACN"); util_pacmn.setVisibility(selection == "PACMN"); util_pacms.setVisibility(selection == "PACMS"); util_pacs.setVisibility(selection == "PACS"); */ } if (layer == "consmenu") { //Conservation Lands selection windresource.setVisibility(false); document.layeroptions.windresource.checked = false; cons_p.setVisibility(selection == "P"); cons_r.setVisibility(selection == "R"); cons_a.setVisibility(selection == "A"); } if (layer == "solarmenu") { //Solar Maps windresource.setVisibility(false); document.layeroptions.windresource.checked = false; solar_jan.setVisibility(selection == "JAN"); solar_feb.setVisibility(selection == "FEB"); solar_mar.setVisibility(selection == "MAR"); solar_apr.setVisibility(selection == "APR"); solar_may.setVisibility(selection == "MAY"); solar_jun.setVisibility(selection == "JUN"); solar_jul.setVisibility(selection == "JUL"); solar_aug.setVisibility(selection == "AUG"); solar_sep.setVisibility(selection == "SEP"); solar_oct.setVisibility(selection == "OCT"); solar_nov.setVisibility(selection == "NOV"); solar_dec.setVisibility(selection == "DEC"); solar_annl.setVisibility(selection == "ANN"); } if (layer == "meteodyn") { //Meteodyn Example windresource.setVisibility(false); document.layeroptions.windresource.checked = false; meteodyn80AT.setVisibility(selection == "80AT"); meteodyn80AT.setFlyToView(true); meteodyn80KT.setVisibility(selection == "80KT"); meteodyn80KT.setFlyToView(true); meteodyn80PotT.setVisibility(selection == "80PotT"); meteodyn80PotT.setFlyToView(true); meteodyn80ProdT.setVisibility(selection == "80ProdT"); meteodyn80ProdT.setFlyToView(true); meteodyn80Fact.setVisibility(selection == "80Fact"); meteodyn80Fact.setFlyToView(true); meteodyn80Vmoy.setVisibility(selection == "80Vmoy"); meteodyn80Vmoy.setFlyToView(true); meteodyn80Imoy.setVisibility(selection == "80Imoy"); meteodyn80Imoy.setFlyToView(true); meteodyn80Tmoy.setVisibility(selection == "80Tmoy"); meteodyn80Tmoy.setFlyToView(true); } } function unselectOptionsmenu(layer) { if (layer == "highresmenu") { //High Resolution Windmap selection highres_ma.setVisibility(false); highres_vt.setVisibility(false); highres_akn1.setVisibility(false); highres_akn2.setVisibility(false); highres_akn3.setVisibility(false); highres_akm1.setVisibility(false); highres_akm2.setVisibility(false); highres_akm3.setVisibility(false); highres_aks1.setVisibility(false); highres_aks2.setVisibility(false); highres_ri.setVisibility(false); highres_ar.setVisibility(false); highres_az.setVisibility(false); highres_ca1.setVisibility(false); highres_ca2.setVisibility(false); highres_ca3.setVisibility(false); highres_ca4.setVisibility(false); highres_ca5.setVisibility(false); highres_ca6.setVisibility(false); highres_ca7.setVisibility(false); highres_ca8.setVisibility(false); // highres_ca_pw1.setVisibility(false); // highres_ca_pw2.setVisibility(false); // highres_ca_pw3.setVisibility(false); // highres_ca_pw4.setVisibility(false); highres_co1.setVisibility(false); highres_co2.setVisibility(false); highres_co3.setVisibility(false); highres_co4.setVisibility(false); highres_co5.setVisibility(false); highres_ct.setVisibility(false); highres_hi.setVisibility(false); highres_il.setVisibility(false); highres_mi1.setVisibility(false); highres_mi2.setVisibility(false); highres_mi3.setVisibility(false); highres_mi4.setVisibility(false); highres_mid1.setVisibility(false); highres_mid2.setVisibility(false); highres_mid3.setVisibility(false); highres_mid4.setVisibility(false); highres_mid5.setVisibility(false); highres_midp.setVisibility(false); highres_men.setVisibility(false); highres_mes.setVisibility(false); highres_mo.setVisibility(false); highres_in.setVisibility(false); highres_oh.setVisibility(false); highres_ndsd.setVisibility(false); highres_nv.setVisibility(false); highres_ne.setVisibility(false); highres_nh.setVisibility(false); highres_ut.setVisibility(false); highres_pacn.setVisibility(false); highres_pacmn.setVisibility(false); highres_pacms.setVisibility(false); highres_pacs.setVisibility(false); } if (layer == "utilmenu") { //Electricity Provider selection util_ma.setVisibility(false); /* util_vt.setVisibility(false); highres_akn.setVisibility(false); util_akm.setVisibility(false); util_aks.setVisibility(false); util_ri.setVisibility(false); util_ar.setVisibility(false); util_az.setVisibility(false); util_co.setVisibility(false); util_ct.setVisibility(false); util_hi.setVisibility(false); util_il.setVisibility(false); util_mi.setVisibility(false); util_me.setVisibility(false); util_in.setVisibility(false); util_oh.setVisibility(false); util_ndsd.setVisibility(false); util_nv.setVisibility(false); util_nh.setVisibility(false); util_ut.setVisibility(false); util_pacn.setVisibility(false); util_pacmn.setVisibility(false); util_pacms.setVisibility(false); util_pacs.setVisibility(false); */ } if (layer == "consmenu") { //Conservation Lands selection cons_p.setVisibility(false); cons_r.setVisibility(false); cons_a.setVisibility(false); } if (layer == "solarmenu") { //Solar Resource map solar_jan.setVisibility(false); solar_feb.setVisibility(false); solar_mar.setVisibility(false); solar_apr.setVisibility(false); solar_may.setVisibility(false); solar_jun.setVisibility(false); solar_jul.setVisibility(false); solar_aug.setVisibility(false); solar_sep.setVisibility(false); solar_oct.setVisibility(false); solar_nov.setVisibility(false); solar_dec.setVisibility(false); solar_annl.setVisibility(false); } if (layer == "meteodyn") { //Meteodyn Example meteodyn80AT.setVisibility(false); meteodyn80KT.setVisibility(false); meteodyn80PotT.setVisibility(false); meteodyn80ProdT.setVisibility(false); meteodyn80Fact.setVisibility(false); meteodyn80Vmoy.setVisibility(false); meteodyn80Imoy.setVisibility(false); meteodyn80Tmoy.setVisibility(false); } } var arrTurbineloc = []; //array for turbine locations var turbine_num = 0; //turbine counter var xmlhttp; var lastnode = null; //last node in GE DOM tree var arrUsedPmId = []; //array of used placemarkIds var id = 0; //arrPrevPmId index var editing = false; //is true if user clicks to edit windfarm. Used in function tbdel() to check if ok to delete winc turbine from db. function placeturbine(lat,lon,pub,pmtag,createdby) { // Load and display a 3d model from a Collada file // Read id of last added placemark from DOM tree var placemarkId = ''; var lastid = 0; lastnode = ge.getFeatures().getLastChild(); if (lastnode == null) { lastid = 0; } else { lastid = parseInt(lastnode.getId()); } var newid = lastid + 1; var found = true; // search until an unused pmid is found do { found = UsedPmId(newid); if(found==true) { newid++; } } while (found == true); placemarkId = newid + ''; // Placemark var placemark = ge.createPlacemark(placemarkId); // Placemark/Model (geometry) var model = ge.createModel(''); placemark.setGeometry(model); // Placemark/Model/Link - a textured model created in Sketchup and exported as Collada. var link = ge.createLink(''); link.setHref('http://www.fintree.com/demodata/SingleTurbine.dae'); model.setLink(link); // Placemark/Model/Location var loc = ge.createLocation(''); var tlat = parseFloat(lat); var tlon = parseFloat(lon); loc.setLatitude(tlat); loc.setLongitude(tlon); model.setLocation(loc); // add the model placemark to Earth ge.getFeatures().appendChild(placemark); /////----------- workaround until Google fixes issue ----------------------------- // add an icon to the first tb in the windfarm - by creating a placemark point if(pmtag!='') { var tagid = placemarkId + 'p' var tag = ge.createPlacemark(tagid); var point = ge.createPoint(''); point.setLatitude(tlat); point.setLongitude(tlon); tag.setGeometry(point); var tagname = pmtag; tag.setName(tagname); var tagballoon = 'Created by ' + createdby; tag.setDescription(tagballoon); // Create style map for placemark var icon = ge.createIcon(''); icon.setHref('http://www.re-unity.com/windfarmwt.png'); var style = ge.createStyle(''); style.getIconStyle().setIcon(icon); tag.setStyleSelector(style); // add tag to Google Earth ge.getFeatures().appendChild(tag); } /////------------ end workaround -------------------------------------------------- // fly to view the model if(pub==0) { var lookAt = ge.createLookAt(''); lookAt.setRange(300); lookAt.setTilt(45); lookAt.setLatitude(tlat); lookAt.setLongitude(tlon); ge.getView().setAbstractView(lookAt); } // save turbine location temporarily temp_turbineloc(tlat, tlon, placemarkId,pub); // update table display if not public turbine if (pub==0) { turbineloc_table(); } } function UsedPmId(lastid) { // checks if a placemarkId has been previously used for(var k=0; k "; resultstr = resultstr + "#LatitudeLongitude"; for (i=0; i"; resultstr = resultstr + ""+ j +" "; resultstr = resultstr + ""+ arrTurbineloc[i][0] +" "; resultstr = resultstr + ""+ arrTurbineloc[i][1] +" "; resultstr = resultstr + " "; } } resultstr = resultstr + ""; document.getElementById("txtHint").innerHTML = resultstr; } function store_turbineloc() { // store turbine locations in database var j = 0; var name = document.layeroptions.wfname.value; var priv = document.layeroptions.private.checked; //true=checked for (i=0; i" + title + "

"; var url="load_windfarm.php?opt=0"; xmlhttp=GetXmlHttpObject(); if (xmlhttp==null) { alert ("Browser does not support HTTP Request"); return; } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { document.getElementById("txtHint").innerHTML = outtext + xmlhttp.responseText; } } xmlhttp.open("GET",url,true); // false=wait for server response xmlhttp.send(null); } function load_turbineloc(wfname) { var url="load_windfarm.php?opt=2&wfname=" + wfname; xmlhttp=GetXmlHttpObject(); if (xmlhttp==null) { alert ("Browser does not support HTTP Request"); return; } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4) { var qresponse = xmlhttp.responseText; loadturbines(qresponse,0); } } xmlhttp.open("GET",url,true); // false=wait for server response xmlhttp.send(null); } function load_windfarmname(wfpos) { // assign wind farm name to entry field var querystring="load_windfarm.php?opt=1&wfpos=" + wfpos; dbinsert(querystring); document.layeroptions.wfname.value = xmlhttp.responseText; } function GetXmlHttpObject() { try { // Firefox, Opera 8.0+, Safari xmlhttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlhttp; } function dbinsert(querystring) { queryobj=GetXmlHttpObject(); queryobj.open("GET", querystring, false); queryobj.send(null); } function loadturbines(qresponse,pub) { var oneturbine = qresponse.split(";"); var ldturbines = []; var farmname = ''; var pmtag = ''; var createdby = ''; for(var s = 0; s < (oneturbine.length-1); s++) { var turbines = oneturbine[s].split(","); ldturbines[s] = new Array(5); ldturbines[s][0] = turbines[0]; // tb name ldturbines[s][1] = turbines[1]; // lat ldturbines[s][2] = turbines[2]; // long ldturbines[s][3] = turbines[3]; // wfname ldturbines[s][4] = turbines[4]; // username //attach placemark balloon with windfarm name to first turbine of each windfarm if (ldturbines[s][3]==farmname) { pmtag = ''; } else { farmname = ldturbines[s][3]; pmtag = farmname; createdby = ldturbines[s][4] } // place turbines placeturbine(ldturbines[s][1],ldturbines[s][2],pub,pmtag,createdby); } } function selectall(value) { // select/unselect all checkboxes in windfarm list var boxes = document.layeroptions.wf; //get all checkboxes named "wf" var numboxes = boxes.length; if(value == "Check all") { if(numboxes == null) { // only 1 checkbox boxes.checked = true; } else { for(var j=0; j 1) { //more than one checkbox checked load_windfarm('Select only 1 windfarm for edit'); } else { load_windfarmname(wfpos); load_turbineloc(document.layeroptions.wfname.value); } } else { if (numboxes == null && boxes.checked==true) { // only 1 windfarm in list wfpos = 1; load_windfarmname(wfpos); load_turbineloc(document.layeroptions.wfname.value); } else { load_windfarm('Select windfarm to edit'); } } } function tbdel() { // delete windturbine in list var boxes = document.layeroptions.tb; var querystring="del_windturbine.php"; var lat = ""; var lon = ""; if(boxes.length == null && boxes.checked==true) { // only 1 checkbox for(var z=0; z