diff --git a/Images/2/r/Motionless/Thumbs.db b/Images/2/r/Motionless/Thumbs.db
deleted file mode 100644
index f435203..0000000
Binary files a/Images/2/r/Motionless/Thumbs.db and /dev/null differ
diff --git a/Program.cs b/Program.cs
index 07811bf..da111a8 100644
--- a/Program.cs
+++ b/Program.cs
@@ -23,16 +23,8 @@
app.UseHttpsRedirection();
-var fileProvider = new PhysicalFileProvider(Directory.GetCurrentDirectory());
-app.UseDefaultFiles(new DefaultFilesOptions
-{
- DefaultFileNames = { "index.html" },
- FileProvider = fileProvider
-});
-app.UseStaticFiles(new StaticFileOptions
-{
- FileProvider = fileProvider
-});
+app.UseDefaultFiles();
+app.UseStaticFiles();
app.UseRouting();
diff --git a/bin/Debug/net8.0/ws4kp.dll b/bin/Debug/net8.0/ws4kp.dll
index 54e5efb..a929030 100644
Binary files a/bin/Debug/net8.0/ws4kp.dll and b/bin/Debug/net8.0/ws4kp.dll differ
diff --git a/bin/Debug/net8.0/ws4kp.exe b/bin/Debug/net8.0/ws4kp.exe
index 02460b9..59f80a0 100644
Binary files a/bin/Debug/net8.0/ws4kp.exe and b/bin/Debug/net8.0/ws4kp.exe differ
diff --git a/bin/Debug/net8.0/ws4kp.pdb b/bin/Debug/net8.0/ws4kp.pdb
index 731df4e..1e8c469 100644
Binary files a/bin/Debug/net8.0/ws4kp.pdb and b/bin/Debug/net8.0/ws4kp.pdb differ
diff --git a/ws4kp.csproj b/ws4kp.csproj
index 3799f55..a7eef49 100644
--- a/ws4kp.csproj
+++ b/ws4kp.csproj
@@ -18,4 +18,547 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Audio/Andrew Korus - Hello There.mp3 b/wwwroot/Audio/Andrew Korus - Hello There.mp3
similarity index 100%
rename from Audio/Andrew Korus - Hello There.mp3
rename to wwwroot/Audio/Andrew Korus - Hello There.mp3
diff --git a/Audio/Brian Hughes - Here We Go.mp3 b/wwwroot/Audio/Brian Hughes - Here We Go.mp3
similarity index 100%
rename from Audio/Brian Hughes - Here We Go.mp3
rename to wwwroot/Audio/Brian Hughes - Here We Go.mp3
diff --git a/Audio/Brian Hughes - One 2 One.mp3 b/wwwroot/Audio/Brian Hughes - One 2 One.mp3
similarity index 100%
rename from Audio/Brian Hughes - One 2 One.mp3
rename to wwwroot/Audio/Brian Hughes - One 2 One.mp3
diff --git a/Audio/Brian Hughes - Postcard From Brazil.mp3 b/wwwroot/Audio/Brian Hughes - Postcard From Brazil.mp3
similarity index 100%
rename from Audio/Brian Hughes - Postcard From Brazil.mp3
rename to wwwroot/Audio/Brian Hughes - Postcard From Brazil.mp3
diff --git a/Audio/Brian Hughes - StringBean.mp3 b/wwwroot/Audio/Brian Hughes - StringBean.mp3
similarity index 100%
rename from Audio/Brian Hughes - StringBean.mp3
rename to wwwroot/Audio/Brian Hughes - StringBean.mp3
diff --git a/Audio/Brian Hughes - Three Graces.mp3 b/wwwroot/Audio/Brian Hughes - Three Graces.mp3
similarity index 100%
rename from Audio/Brian Hughes - Three Graces.mp3
rename to wwwroot/Audio/Brian Hughes - Three Graces.mp3
diff --git a/Audio/Bryan Savage - Two Cool.mp3 b/wwwroot/Audio/Bryan Savage - Two Cool.mp3
similarity index 100%
rename from Audio/Bryan Savage - Two Cool.mp3
rename to wwwroot/Audio/Bryan Savage - Two Cool.mp3
diff --git a/Audio/Chris Camozzi - Hangin Out.mp3 b/wwwroot/Audio/Chris Camozzi - Hangin Out.mp3
similarity index 100%
rename from Audio/Chris Camozzi - Hangin Out.mp3
rename to wwwroot/Audio/Chris Camozzi - Hangin Out.mp3
diff --git a/Audio/Chris Camozzi - My Dancing Heart.mp3 b/wwwroot/Audio/Chris Camozzi - My Dancing Heart.mp3
similarity index 100%
rename from Audio/Chris Camozzi - My Dancing Heart.mp3
rename to wwwroot/Audio/Chris Camozzi - My Dancing Heart.mp3
diff --git a/Audio/Chris Camozzi - Suede.mp3 b/wwwroot/Audio/Chris Camozzi - Suede.mp3
similarity index 100%
rename from Audio/Chris Camozzi - Suede.mp3
rename to wwwroot/Audio/Chris Camozzi - Suede.mp3
diff --git a/Audio/Chris Camozzi - Swing Shift.mp3 b/wwwroot/Audio/Chris Camozzi - Swing Shift.mp3
similarity index 100%
rename from Audio/Chris Camozzi - Swing Shift.mp3
rename to wwwroot/Audio/Chris Camozzi - Swing Shift.mp3
diff --git a/Audio/Eddie Reasoner - Sea Breeze.mp3 b/wwwroot/Audio/Eddie Reasoner - Sea Breeze.mp3
similarity index 100%
rename from Audio/Eddie Reasoner - Sea Breeze.mp3
rename to wwwroot/Audio/Eddie Reasoner - Sea Breeze.mp3
diff --git a/Audio/Ficara - Craig.mp3 b/wwwroot/Audio/Ficara - Craig.mp3
similarity index 100%
rename from Audio/Ficara - Craig.mp3
rename to wwwroot/Audio/Ficara - Craig.mp3
diff --git a/Audio/Ficara - Friends Forever.mp3 b/wwwroot/Audio/Ficara - Friends Forever.mp3
similarity index 100%
rename from Audio/Ficara - Friends Forever.mp3
rename to wwwroot/Audio/Ficara - Friends Forever.mp3
diff --git a/Audio/Ficara - Gliding.mp3 b/wwwroot/Audio/Ficara - Gliding.mp3
similarity index 100%
rename from Audio/Ficara - Gliding.mp3
rename to wwwroot/Audio/Ficara - Gliding.mp3
diff --git a/Audio/Ficara - High Tides Of Maui.mp3 b/wwwroot/Audio/Ficara - High Tides Of Maui.mp3
similarity index 100%
rename from Audio/Ficara - High Tides Of Maui.mp3
rename to wwwroot/Audio/Ficara - High Tides Of Maui.mp3
diff --git a/Audio/Ficara - Stormy Weather.mp3 b/wwwroot/Audio/Ficara - Stormy Weather.mp3
similarity index 100%
rename from Audio/Ficara - Stormy Weather.mp3
rename to wwwroot/Audio/Ficara - Stormy Weather.mp3
diff --git a/Audio/Gota - All Alone.mp3 b/wwwroot/Audio/Gota - All Alone.mp3
similarity index 100%
rename from Audio/Gota - All Alone.mp3
rename to wwwroot/Audio/Gota - All Alone.mp3
diff --git a/Audio/Incognito - Larc En Ciel De Miles.mp3 b/wwwroot/Audio/Incognito - Larc En Ciel De Miles.mp3
similarity index 100%
rename from Audio/Incognito - Larc En Ciel De Miles.mp3
rename to wwwroot/Audio/Incognito - Larc En Ciel De Miles.mp3
diff --git a/Audio/Incognito - Sunchild.mp3 b/wwwroot/Audio/Incognito - Sunchild.mp3
similarity index 100%
rename from Audio/Incognito - Sunchild.mp3
rename to wwwroot/Audio/Incognito - Sunchild.mp3
diff --git a/Audio/Joe Sample - Rainbow Seeker.mp3 b/wwwroot/Audio/Joe Sample - Rainbow Seeker.mp3
similarity index 100%
rename from Audio/Joe Sample - Rainbow Seeker.mp3
rename to wwwroot/Audio/Joe Sample - Rainbow Seeker.mp3
diff --git a/Audio/Norman Brown - Celebration.mp3 b/wwwroot/Audio/Norman Brown - Celebration.mp3
similarity index 100%
rename from Audio/Norman Brown - Celebration.mp3
rename to wwwroot/Audio/Norman Brown - Celebration.mp3
diff --git a/Audio/Ozzie Ahlers - Fingerpainting.mp3 b/wwwroot/Audio/Ozzie Ahlers - Fingerpainting.mp3
similarity index 100%
rename from Audio/Ozzie Ahlers - Fingerpainting.mp3
rename to wwwroot/Audio/Ozzie Ahlers - Fingerpainting.mp3
diff --git a/Audio/Physical Therapy - What The Flush.mp3 b/wwwroot/Audio/Physical Therapy - What The Flush.mp3
similarity index 100%
rename from Audio/Physical Therapy - What The Flush.mp3
rename to wwwroot/Audio/Physical Therapy - What The Flush.mp3
diff --git a/Audio/Ray Obiedo - Blue Kiss.mp3 b/wwwroot/Audio/Ray Obiedo - Blue Kiss.mp3
similarity index 100%
rename from Audio/Ray Obiedo - Blue Kiss.mp3
rename to wwwroot/Audio/Ray Obiedo - Blue Kiss.mp3
diff --git a/Audio/Ray Obiedo - Sienna.mp3 b/wwwroot/Audio/Ray Obiedo - Sienna.mp3
similarity index 100%
rename from Audio/Ray Obiedo - Sienna.mp3
rename to wwwroot/Audio/Ray Obiedo - Sienna.mp3
diff --git a/Audio/Richard Tyznik - Hi Times.mp3 b/wwwroot/Audio/Richard Tyznik - Hi Times.mp3
similarity index 100%
rename from Audio/Richard Tyznik - Hi Times.mp3
rename to wwwroot/Audio/Richard Tyznik - Hi Times.mp3
diff --git a/Audio/Terry Coleman - Amazed.mp3 b/wwwroot/Audio/Terry Coleman - Amazed.mp3
similarity index 100%
rename from Audio/Terry Coleman - Amazed.mp3
rename to wwwroot/Audio/Terry Coleman - Amazed.mp3
diff --git a/Audio/Terry Coleman - Autumn Dance.mp3 b/wwwroot/Audio/Terry Coleman - Autumn Dance.mp3
similarity index 100%
rename from Audio/Terry Coleman - Autumn Dance.mp3
rename to wwwroot/Audio/Terry Coleman - Autumn Dance.mp3
diff --git a/Audio/Terry Coleman - Just Groovin.mp3 b/wwwroot/Audio/Terry Coleman - Just Groovin.mp3
similarity index 100%
rename from Audio/Terry Coleman - Just Groovin.mp3
rename to wwwroot/Audio/Terry Coleman - Just Groovin.mp3
diff --git a/Audio/The Rippingtons - In Another Life.mp3 b/wwwroot/Audio/The Rippingtons - In Another Life.mp3
similarity index 100%
rename from Audio/The Rippingtons - In Another Life.mp3
rename to wwwroot/Audio/The Rippingtons - In Another Life.mp3
diff --git a/Audio/The Rippingtons - Life In The Tropics.mp3 b/wwwroot/Audio/The Rippingtons - Life In The Tropics.mp3
similarity index 100%
rename from Audio/The Rippingtons - Life In The Tropics.mp3
rename to wwwroot/Audio/The Rippingtons - Life In The Tropics.mp3
diff --git a/Audio/Torcuato Mariano - Ocean Way.mp3 b/wwwroot/Audio/Torcuato Mariano - Ocean Way.mp3
similarity index 100%
rename from Audio/Torcuato Mariano - Ocean Way.mp3
rename to wwwroot/Audio/Torcuato Mariano - Ocean Way.mp3
diff --git a/Audio/Trammell Starks - 50 Below.mp3 b/wwwroot/Audio/Trammell Starks - 50 Below.mp3
similarity index 100%
rename from Audio/Trammell Starks - 50 Below.mp3
rename to wwwroot/Audio/Trammell Starks - 50 Below.mp3
diff --git a/Audio/Trammell Starks - After Midnight.mp3 b/wwwroot/Audio/Trammell Starks - After Midnight.mp3
similarity index 100%
rename from Audio/Trammell Starks - After Midnight.mp3
rename to wwwroot/Audio/Trammell Starks - After Midnight.mp3
diff --git a/Audio/Trammell Starks - After The Rain.mp3 b/wwwroot/Audio/Trammell Starks - After The Rain.mp3
similarity index 100%
rename from Audio/Trammell Starks - After The Rain.mp3
rename to wwwroot/Audio/Trammell Starks - After The Rain.mp3
diff --git a/Audio/Trammell Starks - All I Need To Know.mp3 b/wwwroot/Audio/Trammell Starks - All I Need To Know.mp3
similarity index 100%
rename from Audio/Trammell Starks - All I Need To Know.mp3
rename to wwwroot/Audio/Trammell Starks - All I Need To Know.mp3
diff --git a/Audio/Trammell Starks - All That Jazz.mp3 b/wwwroot/Audio/Trammell Starks - All That Jazz.mp3
similarity index 100%
rename from Audio/Trammell Starks - All That Jazz.mp3
rename to wwwroot/Audio/Trammell Starks - All That Jazz.mp3
diff --git a/Audio/Trammell Starks - Autumn Blue.mp3 b/wwwroot/Audio/Trammell Starks - Autumn Blue.mp3
similarity index 100%
rename from Audio/Trammell Starks - Autumn Blue.mp3
rename to wwwroot/Audio/Trammell Starks - Autumn Blue.mp3
diff --git a/Audio/Trammell Starks - Better Than Nothing.mp3 b/wwwroot/Audio/Trammell Starks - Better Than Nothing.mp3
similarity index 100%
rename from Audio/Trammell Starks - Better Than Nothing.mp3
rename to wwwroot/Audio/Trammell Starks - Better Than Nothing.mp3
diff --git a/Audio/Trammell Starks - Bobbys Theme.mp3 b/wwwroot/Audio/Trammell Starks - Bobbys Theme.mp3
similarity index 100%
rename from Audio/Trammell Starks - Bobbys Theme.mp3
rename to wwwroot/Audio/Trammell Starks - Bobbys Theme.mp3
diff --git a/Audio/Trammell Starks - Broken Record.mp3 b/wwwroot/Audio/Trammell Starks - Broken Record.mp3
similarity index 100%
rename from Audio/Trammell Starks - Broken Record.mp3
rename to wwwroot/Audio/Trammell Starks - Broken Record.mp3
diff --git a/Audio/Trammell Starks - Crazy Pianos.mp3 b/wwwroot/Audio/Trammell Starks - Crazy Pianos.mp3
similarity index 100%
rename from Audio/Trammell Starks - Crazy Pianos.mp3
rename to wwwroot/Audio/Trammell Starks - Crazy Pianos.mp3
diff --git a/Audio/Trammell Starks - Desert Nights.mp3 b/wwwroot/Audio/Trammell Starks - Desert Nights.mp3
similarity index 100%
rename from Audio/Trammell Starks - Desert Nights.mp3
rename to wwwroot/Audio/Trammell Starks - Desert Nights.mp3
diff --git a/Audio/Trammell Starks - Here Comes The Rain.mp3 b/wwwroot/Audio/Trammell Starks - Here Comes The Rain.mp3
similarity index 100%
rename from Audio/Trammell Starks - Here Comes The Rain.mp3
rename to wwwroot/Audio/Trammell Starks - Here Comes The Rain.mp3
diff --git a/Audio/Trammell Starks - If You Only Knew.mp3 b/wwwroot/Audio/Trammell Starks - If You Only Knew.mp3
similarity index 100%
rename from Audio/Trammell Starks - If You Only Knew.mp3
rename to wwwroot/Audio/Trammell Starks - If You Only Knew.mp3
diff --git a/Audio/Trammell Starks - Im So Dizzy.mp3 b/wwwroot/Audio/Trammell Starks - Im So Dizzy.mp3
similarity index 100%
rename from Audio/Trammell Starks - Im So Dizzy.mp3
rename to wwwroot/Audio/Trammell Starks - Im So Dizzy.mp3
diff --git a/Audio/Trammell Starks - Island Groove.mp3 b/wwwroot/Audio/Trammell Starks - Island Groove.mp3
similarity index 100%
rename from Audio/Trammell Starks - Island Groove.mp3
rename to wwwroot/Audio/Trammell Starks - Island Groove.mp3
diff --git a/Audio/Trammell Starks - Just For The Moment.mp3 b/wwwroot/Audio/Trammell Starks - Just For The Moment.mp3
similarity index 100%
rename from Audio/Trammell Starks - Just For The Moment.mp3
rename to wwwroot/Audio/Trammell Starks - Just For The Moment.mp3
diff --git a/Audio/Trammell Starks - Midnight Rain.mp3 b/wwwroot/Audio/Trammell Starks - Midnight Rain.mp3
similarity index 100%
rename from Audio/Trammell Starks - Midnight Rain.mp3
rename to wwwroot/Audio/Trammell Starks - Midnight Rain.mp3
diff --git a/Audio/Trammell Starks - Pier 32.mp3 b/wwwroot/Audio/Trammell Starks - Pier 32.mp3
similarity index 100%
rename from Audio/Trammell Starks - Pier 32.mp3
rename to wwwroot/Audio/Trammell Starks - Pier 32.mp3
diff --git a/Audio/Trammell Starks - Rainbeat.mp3 b/wwwroot/Audio/Trammell Starks - Rainbeat.mp3
similarity index 100%
rename from Audio/Trammell Starks - Rainbeat.mp3
rename to wwwroot/Audio/Trammell Starks - Rainbeat.mp3
diff --git a/Audio/Trammell Starks - Road Trip.mp3 b/wwwroot/Audio/Trammell Starks - Road Trip.mp3
similarity index 100%
rename from Audio/Trammell Starks - Road Trip.mp3
rename to wwwroot/Audio/Trammell Starks - Road Trip.mp3
diff --git a/Audio/Trammell Starks - Rollercoaster Ride.mp3 b/wwwroot/Audio/Trammell Starks - Rollercoaster Ride.mp3
similarity index 100%
rename from Audio/Trammell Starks - Rollercoaster Ride.mp3
rename to wwwroot/Audio/Trammell Starks - Rollercoaster Ride.mp3
diff --git a/Audio/Trammell Starks - Round And Round.mp3 b/wwwroot/Audio/Trammell Starks - Round And Round.mp3
similarity index 100%
rename from Audio/Trammell Starks - Round And Round.mp3
rename to wwwroot/Audio/Trammell Starks - Round And Round.mp3
diff --git a/Audio/Trammell Starks - Season On Edge.mp3 b/wwwroot/Audio/Trammell Starks - Season On Edge.mp3
similarity index 100%
rename from Audio/Trammell Starks - Season On Edge.mp3
rename to wwwroot/Audio/Trammell Starks - Season On Edge.mp3
diff --git a/Audio/Trammell Starks - Slightly Blued.mp3 b/wwwroot/Audio/Trammell Starks - Slightly Blued.mp3
similarity index 100%
rename from Audio/Trammell Starks - Slightly Blued.mp3
rename to wwwroot/Audio/Trammell Starks - Slightly Blued.mp3
diff --git a/Audio/Trammell Starks - Someday.mp3 b/wwwroot/Audio/Trammell Starks - Someday.mp3
similarity index 100%
rename from Audio/Trammell Starks - Someday.mp3
rename to wwwroot/Audio/Trammell Starks - Someday.mp3
diff --git a/Audio/Trammell Starks - Something About You.mp3 b/wwwroot/Audio/Trammell Starks - Something About You.mp3
similarity index 100%
rename from Audio/Trammell Starks - Something About You.mp3
rename to wwwroot/Audio/Trammell Starks - Something About You.mp3
diff --git a/Audio/Trammell Starks - The Blizzard Song.mp3 b/wwwroot/Audio/Trammell Starks - The Blizzard Song.mp3
similarity index 100%
rename from Audio/Trammell Starks - The Blizzard Song.mp3
rename to wwwroot/Audio/Trammell Starks - The Blizzard Song.mp3
diff --git a/Audio/Trammell Starks - The End.mp3 b/wwwroot/Audio/Trammell Starks - The End.mp3
similarity index 100%
rename from Audio/Trammell Starks - The End.mp3
rename to wwwroot/Audio/Trammell Starks - The End.mp3
diff --git a/Audio/Trammell Starks - The Last Song.mp3 b/wwwroot/Audio/Trammell Starks - The Last Song.mp3
similarity index 100%
rename from Audio/Trammell Starks - The Last Song.mp3
rename to wwwroot/Audio/Trammell Starks - The Last Song.mp3
diff --git a/Audio/Trammell Starks - The Mist.mp3 b/wwwroot/Audio/Trammell Starks - The Mist.mp3
similarity index 100%
rename from Audio/Trammell Starks - The Mist.mp3
rename to wwwroot/Audio/Trammell Starks - The Mist.mp3
diff --git a/Audio/Trammell Starks - The Only One For Me.mp3 b/wwwroot/Audio/Trammell Starks - The Only One For Me.mp3
similarity index 100%
rename from Audio/Trammell Starks - The Only One For Me.mp3
rename to wwwroot/Audio/Trammell Starks - The Only One For Me.mp3
diff --git a/Audio/Trammell Starks - Under The Influence.mp3 b/wwwroot/Audio/Trammell Starks - Under The Influence.mp3
similarity index 100%
rename from Audio/Trammell Starks - Under The Influence.mp3
rename to wwwroot/Audio/Trammell Starks - Under The Influence.mp3
diff --git a/Audio/Trammell Starks - Ups And Downs.mp3 b/wwwroot/Audio/Trammell Starks - Ups And Downs.mp3
similarity index 100%
rename from Audio/Trammell Starks - Ups And Downs.mp3
rename to wwwroot/Audio/Trammell Starks - Ups And Downs.mp3
diff --git a/Audio/Trammell Starks - Water Colors.mp3 b/wwwroot/Audio/Trammell Starks - Water Colors.mp3
similarity index 100%
rename from Audio/Trammell Starks - Water Colors.mp3
rename to wwwroot/Audio/Trammell Starks - Water Colors.mp3
diff --git a/Audio/Wayman Tisdale - Brazilia.mp3 b/wwwroot/Audio/Wayman Tisdale - Brazilia.mp3
similarity index 100%
rename from Audio/Wayman Tisdale - Brazilia.mp3
rename to wwwroot/Audio/Wayman Tisdale - Brazilia.mp3
diff --git a/Audio/Wayne Gerard - Aint She Sweet.mp3 b/wwwroot/Audio/Wayne Gerard - Aint She Sweet.mp3
similarity index 100%
rename from Audio/Wayne Gerard - Aint She Sweet.mp3
rename to wwwroot/Audio/Wayne Gerard - Aint She Sweet.mp3
diff --git a/Audio/beep.mp3 b/wwwroot/Audio/beep.mp3
similarity index 100%
rename from Audio/beep.mp3
rename to wwwroot/Audio/beep.mp3
diff --git a/Fonts/ReadMe.txt b/wwwroot/Fonts/ReadMe.txt
similarity index 100%
rename from Fonts/ReadMe.txt
rename to wwwroot/Fonts/ReadMe.txt
diff --git a/Fonts/Star 4 Radar.ttf b/wwwroot/Fonts/Star 4 Radar.ttf
similarity index 100%
rename from Fonts/Star 4 Radar.ttf
rename to wwwroot/Fonts/Star 4 Radar.ttf
diff --git a/Fonts/Star 4 Radar.woff b/wwwroot/Fonts/Star 4 Radar.woff
similarity index 100%
rename from Fonts/Star 4 Radar.woff
rename to wwwroot/Fonts/Star 4 Radar.woff
diff --git a/Fonts/Star4000 Extended.ttf b/wwwroot/Fonts/Star4000 Extended.ttf
similarity index 100%
rename from Fonts/Star4000 Extended.ttf
rename to wwwroot/Fonts/Star4000 Extended.ttf
diff --git a/Fonts/Star4000 Extended.woff b/wwwroot/Fonts/Star4000 Extended.woff
similarity index 100%
rename from Fonts/Star4000 Extended.woff
rename to wwwroot/Fonts/Star4000 Extended.woff
diff --git a/Fonts/Star4000 Large Compressed Numbers.ttf b/wwwroot/Fonts/Star4000 Large Compressed Numbers.ttf
similarity index 100%
rename from Fonts/Star4000 Large Compressed Numbers.ttf
rename to wwwroot/Fonts/Star4000 Large Compressed Numbers.ttf
diff --git a/Fonts/Star4000 Large Compressed Numbers.woff b/wwwroot/Fonts/Star4000 Large Compressed Numbers.woff
similarity index 100%
rename from Fonts/Star4000 Large Compressed Numbers.woff
rename to wwwroot/Fonts/Star4000 Large Compressed Numbers.woff
diff --git a/Fonts/Star4000 Large Compressed.ttf b/wwwroot/Fonts/Star4000 Large Compressed.ttf
similarity index 100%
rename from Fonts/Star4000 Large Compressed.ttf
rename to wwwroot/Fonts/Star4000 Large Compressed.ttf
diff --git a/Fonts/Star4000 Large Compressed.woff b/wwwroot/Fonts/Star4000 Large Compressed.woff
similarity index 100%
rename from Fonts/Star4000 Large Compressed.woff
rename to wwwroot/Fonts/Star4000 Large Compressed.woff
diff --git a/Fonts/Star4000 Large.ttf b/wwwroot/Fonts/Star4000 Large.ttf
similarity index 100%
rename from Fonts/Star4000 Large.ttf
rename to wwwroot/Fonts/Star4000 Large.ttf
diff --git a/Fonts/Star4000 Large.woff b/wwwroot/Fonts/Star4000 Large.woff
similarity index 100%
rename from Fonts/Star4000 Large.woff
rename to wwwroot/Fonts/Star4000 Large.woff
diff --git a/Fonts/Star4000 Small.ttf b/wwwroot/Fonts/Star4000 Small.ttf
similarity index 100%
rename from Fonts/Star4000 Small.ttf
rename to wwwroot/Fonts/Star4000 Small.ttf
diff --git a/Fonts/Star4000 Small.woff b/wwwroot/Fonts/Star4000 Small.woff
similarity index 100%
rename from Fonts/Star4000 Small.woff
rename to wwwroot/Fonts/Star4000 Small.woff
diff --git a/Fonts/Star4000.ttf b/wwwroot/Fonts/Star4000.ttf
similarity index 100%
rename from Fonts/Star4000.ttf
rename to wwwroot/Fonts/Star4000.ttf
diff --git a/Fonts/Star4000.woff b/wwwroot/Fonts/Star4000.woff
similarity index 100%
rename from Fonts/Star4000.woff
rename to wwwroot/Fonts/Star4000.woff
diff --git a/Fonts/Star4000LCN.woff b/wwwroot/Fonts/Star4000LCN.woff
similarity index 100%
rename from Fonts/Star4000LCN.woff
rename to wwwroot/Fonts/Star4000LCN.woff
diff --git a/Images/2/Blowing-Snow.gif b/wwwroot/Images/2/Blowing-Snow.gif
similarity index 100%
rename from Images/2/Blowing-Snow.gif
rename to wwwroot/Images/2/Blowing-Snow.gif
diff --git a/Images/2/Clear.gif b/wwwroot/Images/2/Clear.gif
similarity index 100%
rename from Images/2/Clear.gif
rename to wwwroot/Images/2/Clear.gif
diff --git a/Images/2/Cloudy.gif b/wwwroot/Images/2/Cloudy.gif
similarity index 100%
rename from Images/2/Cloudy.gif
rename to wwwroot/Images/2/Cloudy.gif
diff --git a/Images/2/First-Quarter.gif b/wwwroot/Images/2/First-Quarter.gif
similarity index 100%
rename from Images/2/First-Quarter.gif
rename to wwwroot/Images/2/First-Quarter.gif
diff --git a/Images/2/Fog.gif b/wwwroot/Images/2/Fog.gif
similarity index 100%
rename from Images/2/Fog.gif
rename to wwwroot/Images/2/Fog.gif
diff --git a/Images/2/Freezing-Rain-Sleet.gif b/wwwroot/Images/2/Freezing-Rain-Sleet.gif
similarity index 100%
rename from Images/2/Freezing-Rain-Sleet.gif
rename to wwwroot/Images/2/Freezing-Rain-Sleet.gif
diff --git a/Images/2/Freezing-Rain.gif b/wwwroot/Images/2/Freezing-Rain.gif
similarity index 100%
rename from Images/2/Freezing-Rain.gif
rename to wwwroot/Images/2/Freezing-Rain.gif
diff --git a/Images/2/Full-Moon.gif b/wwwroot/Images/2/Full-Moon.gif
similarity index 100%
rename from Images/2/Full-Moon.gif
rename to wwwroot/Images/2/Full-Moon.gif
diff --git a/Images/2/Heavy-Snow.gif b/wwwroot/Images/2/Heavy-Snow.gif
similarity index 100%
rename from Images/2/Heavy-Snow.gif
rename to wwwroot/Images/2/Heavy-Snow.gif
diff --git a/Images/2/Ice-Snow.gif b/wwwroot/Images/2/Ice-Snow.gif
similarity index 100%
rename from Images/2/Ice-Snow.gif
rename to wwwroot/Images/2/Ice-Snow.gif
diff --git a/Images/2/Isolated-Tstorms.gif b/wwwroot/Images/2/Isolated-Tstorms.gif
similarity index 100%
rename from Images/2/Isolated-Tstorms.gif
rename to wwwroot/Images/2/Isolated-Tstorms.gif
diff --git a/Images/2/Last-Quarter.gif b/wwwroot/Images/2/Last-Quarter.gif
similarity index 100%
rename from Images/2/Last-Quarter.gif
rename to wwwroot/Images/2/Last-Quarter.gif
diff --git a/Images/2/Light-Snow.gif b/wwwroot/Images/2/Light-Snow.gif
similarity index 100%
rename from Images/2/Light-Snow.gif
rename to wwwroot/Images/2/Light-Snow.gif
diff --git a/Images/2/Mostly-Clear.gif b/wwwroot/Images/2/Mostly-Clear.gif
similarity index 100%
rename from Images/2/Mostly-Clear.gif
rename to wwwroot/Images/2/Mostly-Clear.gif
diff --git a/Images/2/Mostly-Cloudy.gif b/wwwroot/Images/2/Mostly-Cloudy.gif
similarity index 100%
rename from Images/2/Mostly-Cloudy.gif
rename to wwwroot/Images/2/Mostly-Cloudy.gif
diff --git a/Images/2/New-Moon.gif b/wwwroot/Images/2/New-Moon.gif
similarity index 100%
rename from Images/2/New-Moon.gif
rename to wwwroot/Images/2/New-Moon.gif
diff --git a/Images/2/Partly-Clear.gif b/wwwroot/Images/2/Partly-Clear.gif
similarity index 100%
rename from Images/2/Partly-Clear.gif
rename to wwwroot/Images/2/Partly-Clear.gif
diff --git a/Images/2/Partly-Cloudy.gif b/wwwroot/Images/2/Partly-Cloudy.gif
similarity index 100%
rename from Images/2/Partly-Cloudy.gif
rename to wwwroot/Images/2/Partly-Cloudy.gif
diff --git a/Images/2/Rain-Snow.gif b/wwwroot/Images/2/Rain-Snow.gif
similarity index 100%
rename from Images/2/Rain-Snow.gif
rename to wwwroot/Images/2/Rain-Snow.gif
diff --git a/Images/2/Rain.gif b/wwwroot/Images/2/Rain.gif
similarity index 100%
rename from Images/2/Rain.gif
rename to wwwroot/Images/2/Rain.gif
diff --git a/Images/2/Scattered-Showers.gif b/wwwroot/Images/2/Scattered-Showers.gif
similarity index 100%
rename from Images/2/Scattered-Showers.gif
rename to wwwroot/Images/2/Scattered-Showers.gif
diff --git a/Images/2/Scattered-Snow-Showers.gif b/wwwroot/Images/2/Scattered-Snow-Showers.gif
similarity index 100%
rename from Images/2/Scattered-Snow-Showers.gif
rename to wwwroot/Images/2/Scattered-Snow-Showers.gif
diff --git a/Images/2/Scattered-Tstorms.gif b/wwwroot/Images/2/Scattered-Tstorms.gif
similarity index 100%
rename from Images/2/Scattered-Tstorms.gif
rename to wwwroot/Images/2/Scattered-Tstorms.gif
diff --git a/Images/2/Shower.gif b/wwwroot/Images/2/Shower.gif
similarity index 100%
rename from Images/2/Shower.gif
rename to wwwroot/Images/2/Shower.gif
diff --git a/Images/2/Showers.gif b/wwwroot/Images/2/Showers.gif
similarity index 100%
rename from Images/2/Showers.gif
rename to wwwroot/Images/2/Showers.gif
diff --git a/Images/2/Sleet.gif b/wwwroot/Images/2/Sleet.gif
similarity index 100%
rename from Images/2/Sleet.gif
rename to wwwroot/Images/2/Sleet.gif
diff --git a/Images/2/Snow-Sleet.gif b/wwwroot/Images/2/Snow-Sleet.gif
similarity index 100%
rename from Images/2/Snow-Sleet.gif
rename to wwwroot/Images/2/Snow-Sleet.gif
diff --git a/Images/2/Snow-to-Rain.gif b/wwwroot/Images/2/Snow-to-Rain.gif
similarity index 100%
rename from Images/2/Snow-to-Rain.gif
rename to wwwroot/Images/2/Snow-to-Rain.gif
diff --git a/Images/2/Sunny.gif b/wwwroot/Images/2/Sunny.gif
similarity index 100%
rename from Images/2/Sunny.gif
rename to wwwroot/Images/2/Sunny.gif
diff --git a/Images/2/Thunder.gif b/wwwroot/Images/2/Thunder.gif
similarity index 100%
rename from Images/2/Thunder.gif
rename to wwwroot/Images/2/Thunder.gif
diff --git a/Images/2/ThunderSnow.gif b/wwwroot/Images/2/ThunderSnow.gif
similarity index 100%
rename from Images/2/ThunderSnow.gif
rename to wwwroot/Images/2/ThunderSnow.gif
diff --git a/Images/2/Thunderstorm.gif b/wwwroot/Images/2/Thunderstorm.gif
similarity index 100%
rename from Images/2/Thunderstorm.gif
rename to wwwroot/Images/2/Thunderstorm.gif
diff --git a/Images/2/Thunderstorms.gif b/wwwroot/Images/2/Thunderstorms.gif
similarity index 100%
rename from Images/2/Thunderstorms.gif
rename to wwwroot/Images/2/Thunderstorms.gif
diff --git a/Images/2/Windy.gif b/wwwroot/Images/2/Windy.gif
similarity index 100%
rename from Images/2/Windy.gif
rename to wwwroot/Images/2/Windy.gif
diff --git a/Images/2/Wintry-Mix.gif b/wwwroot/Images/2/Wintry-Mix.gif
similarity index 100%
rename from Images/2/Wintry-Mix.gif
rename to wwwroot/Images/2/Wintry-Mix.gif
diff --git a/Images/2/r/AM-Snow-1994.gif b/wwwroot/Images/2/r/AM-Snow-1994.gif
similarity index 100%
rename from Images/2/r/AM-Snow-1994.gif
rename to wwwroot/Images/2/r/AM-Snow-1994.gif
diff --git a/Images/2/r/Blowing Snow.gif b/wwwroot/Images/2/r/Blowing Snow.gif
similarity index 100%
rename from Images/2/r/Blowing Snow.gif
rename to wwwroot/Images/2/r/Blowing Snow.gif
diff --git a/Images/2/r/Clear-1992.gif b/wwwroot/Images/2/r/Clear-1992.gif
similarity index 100%
rename from Images/2/r/Clear-1992.gif
rename to wwwroot/Images/2/r/Clear-1992.gif
diff --git a/Images/2/r/Clear.gif b/wwwroot/Images/2/r/Clear.gif
similarity index 100%
rename from Images/2/r/Clear.gif
rename to wwwroot/Images/2/r/Clear.gif
diff --git a/Images/2/r/Cloudy 1990.gif b/wwwroot/Images/2/r/Cloudy 1990.gif
similarity index 100%
rename from Images/2/r/Cloudy 1990.gif
rename to wwwroot/Images/2/r/Cloudy 1990.gif
diff --git a/Images/2/r/Cloudy-Wind.gif b/wwwroot/Images/2/r/Cloudy-Wind.gif
similarity index 100%
rename from Images/2/r/Cloudy-Wind.gif
rename to wwwroot/Images/2/r/Cloudy-Wind.gif
diff --git a/Images/2/r/Cloudy.gif b/wwwroot/Images/2/r/Cloudy.gif
similarity index 100%
rename from Images/2/r/Cloudy.gif
rename to wwwroot/Images/2/r/Cloudy.gif
diff --git a/Images/2/r/Flurries.gif b/wwwroot/Images/2/r/Flurries.gif
similarity index 100%
rename from Images/2/r/Flurries.gif
rename to wwwroot/Images/2/r/Flurries.gif
diff --git a/Images/2/r/Fog.gif b/wwwroot/Images/2/r/Fog.gif
similarity index 100%
rename from Images/2/r/Fog.gif
rename to wwwroot/Images/2/r/Fog.gif
diff --git a/Images/2/r/Freezing-Rain-1991.gif b/wwwroot/Images/2/r/Freezing-Rain-1991.gif
similarity index 100%
rename from Images/2/r/Freezing-Rain-1991.gif
rename to wwwroot/Images/2/r/Freezing-Rain-1991.gif
diff --git a/Images/2/r/Freezing-Rain-1992.gif b/wwwroot/Images/2/r/Freezing-Rain-1992.gif
similarity index 100%
rename from Images/2/r/Freezing-Rain-1992.gif
rename to wwwroot/Images/2/r/Freezing-Rain-1992.gif
diff --git a/Images/2/r/Freezing-Rain-Sleet-1992.gif b/wwwroot/Images/2/r/Freezing-Rain-Sleet-1992.gif
similarity index 100%
rename from Images/2/r/Freezing-Rain-Sleet-1992.gif
rename to wwwroot/Images/2/r/Freezing-Rain-Sleet-1992.gif
diff --git a/Images/2/r/Freezing-Rain-Sleet.gif b/wwwroot/Images/2/r/Freezing-Rain-Sleet.gif
similarity index 100%
rename from Images/2/r/Freezing-Rain-Sleet.gif
rename to wwwroot/Images/2/r/Freezing-Rain-Sleet.gif
diff --git a/Images/2/r/Freezing-Rain-Snow-1992.gif b/wwwroot/Images/2/r/Freezing-Rain-Snow-1992.gif
similarity index 100%
rename from Images/2/r/Freezing-Rain-Snow-1992.gif
rename to wwwroot/Images/2/r/Freezing-Rain-Snow-1992.gif
diff --git a/Images/2/r/Freezing-Rain-Snow.gif b/wwwroot/Images/2/r/Freezing-Rain-Snow.gif
similarity index 100%
rename from Images/2/r/Freezing-Rain-Snow.gif
rename to wwwroot/Images/2/r/Freezing-Rain-Snow.gif
diff --git a/Images/2/r/Freezing-Rain.gif b/wwwroot/Images/2/r/Freezing-Rain.gif
similarity index 100%
rename from Images/2/r/Freezing-Rain.gif
rename to wwwroot/Images/2/r/Freezing-Rain.gif
diff --git a/Images/2/r/Frigid.gif b/wwwroot/Images/2/r/Frigid.gif
similarity index 100%
rename from Images/2/r/Frigid.gif
rename to wwwroot/Images/2/r/Frigid.gif
diff --git a/Images/2/r/Frz-Rain-Snow-1991.gif b/wwwroot/Images/2/r/Frz-Rain-Snow-1991.gif
similarity index 100%
rename from Images/2/r/Frz-Rain-Snow-1991.gif
rename to wwwroot/Images/2/r/Frz-Rain-Snow-1991.gif
diff --git a/Images/2/r/Heavy Snow.gif b/wwwroot/Images/2/r/Heavy Snow.gif
similarity index 100%
rename from Images/2/r/Heavy Snow.gif
rename to wwwroot/Images/2/r/Heavy Snow.gif
diff --git a/Images/2/r/Heavy-Snow-1994.gif b/wwwroot/Images/2/r/Heavy-Snow-1994.gif
similarity index 100%
rename from Images/2/r/Heavy-Snow-1994.gif
rename to wwwroot/Images/2/r/Heavy-Snow-1994.gif
diff --git a/Images/2/r/Heavy-Snow.gif b/wwwroot/Images/2/r/Heavy-Snow.gif
similarity index 100%
rename from Images/2/r/Heavy-Snow.gif
rename to wwwroot/Images/2/r/Heavy-Snow.gif
diff --git a/Images/2/r/Hot.gif b/wwwroot/Images/2/r/Hot.gif
similarity index 100%
rename from Images/2/r/Hot.gif
rename to wwwroot/Images/2/r/Hot.gif
diff --git a/Images/2/r/Isolated-Tstorms.gif b/wwwroot/Images/2/r/Isolated-Tstorms.gif
similarity index 100%
rename from Images/2/r/Isolated-Tstorms.gif
rename to wwwroot/Images/2/r/Isolated-Tstorms.gif
diff --git a/Images/2/r/Light Snow.gif b/wwwroot/Images/2/r/Light Snow.gif
similarity index 100%
rename from Images/2/r/Light Snow.gif
rename to wwwroot/Images/2/r/Light Snow.gif
diff --git a/Images/2/r/Light-Snow.gif b/wwwroot/Images/2/r/Light-Snow.gif
similarity index 100%
rename from Images/2/r/Light-Snow.gif
rename to wwwroot/Images/2/r/Light-Snow.gif
diff --git a/Images/2/r/Mostly Clear.gif b/wwwroot/Images/2/r/Mostly Clear.gif
similarity index 100%
rename from Images/2/r/Mostly Clear.gif
rename to wwwroot/Images/2/r/Mostly Clear.gif
diff --git a/Images/2/r/Mostly-Clear.gif b/wwwroot/Images/2/r/Mostly-Clear.gif
similarity index 100%
rename from Images/2/r/Mostly-Clear.gif
rename to wwwroot/Images/2/r/Mostly-Clear.gif
diff --git a/Images/2/r/Mostly-Cloudy-1991.gif b/wwwroot/Images/2/r/Mostly-Cloudy-1991.gif
similarity index 100%
rename from Images/2/r/Mostly-Cloudy-1991.gif
rename to wwwroot/Images/2/r/Mostly-Cloudy-1991.gif
diff --git a/Images/2/r/Mostly-Cloudy-1994.gif b/wwwroot/Images/2/r/Mostly-Cloudy-1994.gif
similarity index 100%
rename from Images/2/r/Mostly-Cloudy-1994.gif
rename to wwwroot/Images/2/r/Mostly-Cloudy-1994.gif
diff --git a/Images/2/r/Mostly-Cloudy.gif b/wwwroot/Images/2/r/Mostly-Cloudy.gif
similarity index 100%
rename from Images/2/r/Mostly-Cloudy.gif
rename to wwwroot/Images/2/r/Mostly-Cloudy.gif
diff --git a/Images/2/r/Motionless/Cloudy 1990.gif b/wwwroot/Images/2/r/Motionless/Cloudy 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Cloudy 1990.gif
rename to wwwroot/Images/2/r/Motionless/Cloudy 1990.gif
diff --git a/Images/2/r/Motionless/Flurries.gif b/wwwroot/Images/2/r/Motionless/Flurries.gif
similarity index 100%
rename from Images/2/r/Motionless/Flurries.gif
rename to wwwroot/Images/2/r/Motionless/Flurries.gif
diff --git a/Images/2/r/Motionless/Fog.gif b/wwwroot/Images/2/r/Motionless/Fog.gif
similarity index 100%
rename from Images/2/r/Motionless/Fog.gif
rename to wwwroot/Images/2/r/Motionless/Fog.gif
diff --git a/Images/2/r/Motionless/Freezing Rain 1990.gif b/wwwroot/Images/2/r/Motionless/Freezing Rain 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Freezing Rain 1990.gif
rename to wwwroot/Images/2/r/Motionless/Freezing Rain 1990.gif
diff --git a/Images/2/r/Motionless/Frigid.gif b/wwwroot/Images/2/r/Motionless/Frigid.gif
similarity index 100%
rename from Images/2/r/Motionless/Frigid.gif
rename to wwwroot/Images/2/r/Motionless/Frigid.gif
diff --git a/Images/2/r/Motionless/Frz Rain-Snow 1990.gif b/wwwroot/Images/2/r/Motionless/Frz Rain-Snow 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Frz Rain-Snow 1990.gif
rename to wwwroot/Images/2/r/Motionless/Frz Rain-Snow 1990.gif
diff --git a/Images/2/r/Motionless/Heavy-Snow.gif b/wwwroot/Images/2/r/Motionless/Heavy-Snow.gif
similarity index 100%
rename from Images/2/r/Motionless/Heavy-Snow.gif
rename to wwwroot/Images/2/r/Motionless/Heavy-Snow.gif
diff --git a/Images/2/r/Motionless/Mostly Cloudy 1990.gif b/wwwroot/Images/2/r/Motionless/Mostly Cloudy 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Mostly Cloudy 1990.gif
rename to wwwroot/Images/2/r/Motionless/Mostly Cloudy 1990.gif
diff --git a/Images/2/r/Motionless/Partly Cloudy 1990.gif b/wwwroot/Images/2/r/Motionless/Partly Cloudy 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Partly Cloudy 1990.gif
rename to wwwroot/Images/2/r/Motionless/Partly Cloudy 1990.gif
diff --git a/Images/2/r/Motionless/Rain 1990.gif b/wwwroot/Images/2/r/Motionless/Rain 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Rain 1990.gif
rename to wwwroot/Images/2/r/Motionless/Rain 1990.gif
diff --git a/Images/2/r/Motionless/Rain-Snow 1990.gif b/wwwroot/Images/2/r/Motionless/Rain-Snow 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Rain-Snow 1990.gif
rename to wwwroot/Images/2/r/Motionless/Rain-Snow 1990.gif
diff --git a/Images/2/r/Motionless/Scatd Showers 1990.gif b/wwwroot/Images/2/r/Motionless/Scatd Showers 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Scatd Showers 1990.gif
rename to wwwroot/Images/2/r/Motionless/Scatd Showers 1990.gif
diff --git a/Images/2/r/Motionless/Scatd Snow Showers 1990.gif b/wwwroot/Images/2/r/Motionless/Scatd Snow Showers 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Scatd Snow Showers 1990.gif
rename to wwwroot/Images/2/r/Motionless/Scatd Snow Showers 1990.gif
diff --git a/Images/2/r/Motionless/Scattered Tstorms 1990.gif b/wwwroot/Images/2/r/Motionless/Scattered Tstorms 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Scattered Tstorms 1990.gif
rename to wwwroot/Images/2/r/Motionless/Scattered Tstorms 1990.gif
diff --git a/Images/2/r/Motionless/Shower 1990.gif b/wwwroot/Images/2/r/Motionless/Shower 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Shower 1990.gif
rename to wwwroot/Images/2/r/Motionless/Shower 1990.gif
diff --git a/Images/2/r/Motionless/Sleet 1990.gif b/wwwroot/Images/2/r/Motionless/Sleet 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Sleet 1990.gif
rename to wwwroot/Images/2/r/Motionless/Sleet 1990.gif
diff --git a/Images/2/r/Motionless/Snow 1990.gif b/wwwroot/Images/2/r/Motionless/Snow 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Snow 1990.gif
rename to wwwroot/Images/2/r/Motionless/Snow 1990.gif
diff --git a/Images/2/r/Motionless/Sunny 1990.gif b/wwwroot/Images/2/r/Motionless/Sunny 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Sunny 1990.gif
rename to wwwroot/Images/2/r/Motionless/Sunny 1990.gif
diff --git a/Images/2/r/Motionless/Thunderstorm 1990.gif b/wwwroot/Images/2/r/Motionless/Thunderstorm 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Thunderstorm 1990.gif
rename to wwwroot/Images/2/r/Motionless/Thunderstorm 1990.gif
diff --git a/Images/2/r/Motionless/Wind.gif b/wwwroot/Images/2/r/Motionless/Wind.gif
similarity index 100%
rename from Images/2/r/Motionless/Wind.gif
rename to wwwroot/Images/2/r/Motionless/Wind.gif
diff --git a/Images/2/r/Motionless/Wintry Mix 1990.gif b/wwwroot/Images/2/r/Motionless/Wintry Mix 1990.gif
similarity index 100%
rename from Images/2/r/Motionless/Wintry Mix 1990.gif
rename to wwwroot/Images/2/r/Motionless/Wintry Mix 1990.gif
diff --git a/Images/2/r/Partly Clear.gif b/wwwroot/Images/2/r/Partly Clear.gif
similarity index 100%
rename from Images/2/r/Partly Clear.gif
rename to wwwroot/Images/2/r/Partly Clear.gif
diff --git a/Images/2/r/Partly-Clear-1994.gif b/wwwroot/Images/2/r/Partly-Clear-1994.gif
similarity index 100%
rename from Images/2/r/Partly-Clear-1994.gif
rename to wwwroot/Images/2/r/Partly-Clear-1994.gif
diff --git a/Images/2/r/Partly-Clear.gif b/wwwroot/Images/2/r/Partly-Clear.gif
similarity index 100%
rename from Images/2/r/Partly-Clear.gif
rename to wwwroot/Images/2/r/Partly-Clear.gif
diff --git a/Images/2/r/Partly-Cloudy-1991.gif b/wwwroot/Images/2/r/Partly-Cloudy-1991.gif
similarity index 100%
rename from Images/2/r/Partly-Cloudy-1991.gif
rename to wwwroot/Images/2/r/Partly-Cloudy-1991.gif
diff --git a/Images/2/r/Partly-Cloudy.gif b/wwwroot/Images/2/r/Partly-Cloudy.gif
similarity index 100%
rename from Images/2/r/Partly-Cloudy.gif
rename to wwwroot/Images/2/r/Partly-Cloudy.gif
diff --git a/Images/2/r/Rain-1991.gif b/wwwroot/Images/2/r/Rain-1991.gif
similarity index 100%
rename from Images/2/r/Rain-1991.gif
rename to wwwroot/Images/2/r/Rain-1991.gif
diff --git a/Images/2/r/Rain-1992.gif b/wwwroot/Images/2/r/Rain-1992.gif
similarity index 100%
rename from Images/2/r/Rain-1992.gif
rename to wwwroot/Images/2/r/Rain-1992.gif
diff --git a/Images/2/r/Rain-Sleet.gif b/wwwroot/Images/2/r/Rain-Sleet.gif
similarity index 100%
rename from Images/2/r/Rain-Sleet.gif
rename to wwwroot/Images/2/r/Rain-Sleet.gif
diff --git a/Images/2/r/Rain-Snow-1991.gif b/wwwroot/Images/2/r/Rain-Snow-1991.gif
similarity index 100%
rename from Images/2/r/Rain-Snow-1991.gif
rename to wwwroot/Images/2/r/Rain-Snow-1991.gif
diff --git a/Images/2/r/Rain-Snow-1992.gif b/wwwroot/Images/2/r/Rain-Snow-1992.gif
similarity index 100%
rename from Images/2/r/Rain-Snow-1992.gif
rename to wwwroot/Images/2/r/Rain-Snow-1992.gif
diff --git a/Images/2/r/Rain-Snow.gif b/wwwroot/Images/2/r/Rain-Snow.gif
similarity index 100%
rename from Images/2/r/Rain-Snow.gif
rename to wwwroot/Images/2/r/Rain-Snow.gif
diff --git a/Images/2/r/Rain-Wind-1994.gif b/wwwroot/Images/2/r/Rain-Wind-1994.gif
similarity index 100%
rename from Images/2/r/Rain-Wind-1994.gif
rename to wwwroot/Images/2/r/Rain-Wind-1994.gif
diff --git a/Images/2/r/Rain.gif b/wwwroot/Images/2/r/Rain.gif
similarity index 100%
rename from Images/2/r/Rain.gif
rename to wwwroot/Images/2/r/Rain.gif
diff --git a/Images/2/r/Scatd-Showers-1991.gif b/wwwroot/Images/2/r/Scatd-Showers-1991.gif
similarity index 100%
rename from Images/2/r/Scatd-Showers-1991.gif
rename to wwwroot/Images/2/r/Scatd-Showers-1991.gif
diff --git a/Images/2/r/Scatd-Snow-Showers-1991.gif b/wwwroot/Images/2/r/Scatd-Snow-Showers-1991.gif
similarity index 100%
rename from Images/2/r/Scatd-Snow-Showers-1991.gif
rename to wwwroot/Images/2/r/Scatd-Snow-Showers-1991.gif
diff --git a/Images/2/r/Scattered-Showers-1994.gif b/wwwroot/Images/2/r/Scattered-Showers-1994.gif
similarity index 100%
rename from Images/2/r/Scattered-Showers-1994.gif
rename to wwwroot/Images/2/r/Scattered-Showers-1994.gif
diff --git a/Images/2/r/Scattered-Showers.gif b/wwwroot/Images/2/r/Scattered-Showers.gif
similarity index 100%
rename from Images/2/r/Scattered-Showers.gif
rename to wwwroot/Images/2/r/Scattered-Showers.gif
diff --git a/Images/2/r/Scattered-Snow-Showers.gif b/wwwroot/Images/2/r/Scattered-Snow-Showers.gif
similarity index 100%
rename from Images/2/r/Scattered-Snow-Showers.gif
rename to wwwroot/Images/2/r/Scattered-Snow-Showers.gif
diff --git a/Images/2/r/Scattered-Tstorms-1991.gif b/wwwroot/Images/2/r/Scattered-Tstorms-1991.gif
similarity index 100%
rename from Images/2/r/Scattered-Tstorms-1991.gif
rename to wwwroot/Images/2/r/Scattered-Tstorms-1991.gif
diff --git a/Images/2/r/Scattered-Tstorms-1992.gif b/wwwroot/Images/2/r/Scattered-Tstorms-1992.gif
similarity index 100%
rename from Images/2/r/Scattered-Tstorms-1992.gif
rename to wwwroot/Images/2/r/Scattered-Tstorms-1992.gif
diff --git a/Images/2/r/Scattered-Tstorms-1994.gif b/wwwroot/Images/2/r/Scattered-Tstorms-1994.gif
similarity index 100%
rename from Images/2/r/Scattered-Tstorms-1994.gif
rename to wwwroot/Images/2/r/Scattered-Tstorms-1994.gif
diff --git a/Images/2/r/Scattered-Tstorms.gif b/wwwroot/Images/2/r/Scattered-Tstorms.gif
similarity index 100%
rename from Images/2/r/Scattered-Tstorms.gif
rename to wwwroot/Images/2/r/Scattered-Tstorms.gif
diff --git a/Images/2/r/Shower-1991.gif b/wwwroot/Images/2/r/Shower-1991.gif
similarity index 100%
rename from Images/2/r/Shower-1991.gif
rename to wwwroot/Images/2/r/Shower-1991.gif
diff --git a/Images/2/r/Shower.gif b/wwwroot/Images/2/r/Shower.gif
similarity index 100%
rename from Images/2/r/Shower.gif
rename to wwwroot/Images/2/r/Shower.gif
diff --git a/Images/2/r/Sleet-1991.gif b/wwwroot/Images/2/r/Sleet-1991.gif
similarity index 100%
rename from Images/2/r/Sleet-1991.gif
rename to wwwroot/Images/2/r/Sleet-1991.gif
diff --git a/Images/2/r/Sleet.gif b/wwwroot/Images/2/r/Sleet.gif
similarity index 100%
rename from Images/2/r/Sleet.gif
rename to wwwroot/Images/2/r/Sleet.gif
diff --git a/Images/2/r/Snow 1990.gif b/wwwroot/Images/2/r/Snow 1990.gif
similarity index 100%
rename from Images/2/r/Snow 1990.gif
rename to wwwroot/Images/2/r/Snow 1990.gif
diff --git a/Images/2/r/Snow and Sleet.gif b/wwwroot/Images/2/r/Snow and Sleet.gif
similarity index 100%
rename from Images/2/r/Snow and Sleet.gif
rename to wwwroot/Images/2/r/Snow and Sleet.gif
diff --git a/Images/2/r/Snow-Sleet.gif b/wwwroot/Images/2/r/Snow-Sleet.gif
similarity index 100%
rename from Images/2/r/Snow-Sleet.gif
rename to wwwroot/Images/2/r/Snow-Sleet.gif
diff --git a/Images/2/r/Sunny-Wind-1994.gif b/wwwroot/Images/2/r/Sunny-Wind-1994.gif
similarity index 100%
rename from Images/2/r/Sunny-Wind-1994.gif
rename to wwwroot/Images/2/r/Sunny-Wind-1994.gif
diff --git a/Images/2/r/Sunny.gif b/wwwroot/Images/2/r/Sunny.gif
similarity index 100%
rename from Images/2/r/Sunny.gif
rename to wwwroot/Images/2/r/Sunny.gif
diff --git a/Images/2/r/Thunder.gif b/wwwroot/Images/2/r/Thunder.gif
similarity index 100%
rename from Images/2/r/Thunder.gif
rename to wwwroot/Images/2/r/Thunder.gif
diff --git a/Images/2/r/ThunderSnow.gif b/wwwroot/Images/2/r/ThunderSnow.gif
similarity index 100%
rename from Images/2/r/ThunderSnow.gif
rename to wwwroot/Images/2/r/ThunderSnow.gif
diff --git a/Images/2/r/Thunderstorm-1991.gif b/wwwroot/Images/2/r/Thunderstorm-1991.gif
similarity index 100%
rename from Images/2/r/Thunderstorm-1991.gif
rename to wwwroot/Images/2/r/Thunderstorm-1991.gif
diff --git a/Images/2/r/Thunderstorm.gif b/wwwroot/Images/2/r/Thunderstorm.gif
similarity index 100%
rename from Images/2/r/Thunderstorm.gif
rename to wwwroot/Images/2/r/Thunderstorm.gif
diff --git a/Images/2/r/Wind.gif b/wwwroot/Images/2/r/Wind.gif
similarity index 100%
rename from Images/2/r/Wind.gif
rename to wwwroot/Images/2/r/Wind.gif
diff --git a/Images/2/r/Windy.gif b/wwwroot/Images/2/r/Windy.gif
similarity index 100%
rename from Images/2/r/Windy.gif
rename to wwwroot/Images/2/r/Windy.gif
diff --git a/Images/2/r/Wintry-Mix-1991.gif b/wwwroot/Images/2/r/Wintry-Mix-1991.gif
similarity index 100%
rename from Images/2/r/Wintry-Mix-1991.gif
rename to wwwroot/Images/2/r/Wintry-Mix-1991.gif
diff --git a/Images/2/r/Wintry-Mix-1992.gif b/wwwroot/Images/2/r/Wintry-Mix-1992.gif
similarity index 100%
rename from Images/2/r/Wintry-Mix-1992.gif
rename to wwwroot/Images/2/r/Wintry-Mix-1992.gif
diff --git a/Images/2/r/Wintry-Mix.gif b/wwwroot/Images/2/r/Wintry-Mix.gif
similarity index 100%
rename from Images/2/r/Wintry-Mix.gif
rename to wwwroot/Images/2/r/Wintry-Mix.gif
diff --git a/Images/4000RadarMap.jpg b/wwwroot/Images/4000RadarMap.jpg
similarity index 100%
rename from Images/4000RadarMap.jpg
rename to wwwroot/Images/4000RadarMap.jpg
diff --git a/Images/4000RadarMap.png b/wwwroot/Images/4000RadarMap.png
similarity index 100%
rename from Images/4000RadarMap.png
rename to wwwroot/Images/4000RadarMap.png
diff --git a/Images/4000RadarMap2.gif b/wwwroot/Images/4000RadarMap2.gif
similarity index 100%
rename from Images/4000RadarMap2.gif
rename to wwwroot/Images/4000RadarMap2.gif
diff --git a/Images/4000RadarMap2.jpg b/wwwroot/Images/4000RadarMap2.jpg
similarity index 100%
rename from Images/4000RadarMap2.jpg
rename to wwwroot/Images/4000RadarMap2.jpg
diff --git a/Images/4000RadarMap2.png b/wwwroot/Images/4000RadarMap2.png
similarity index 100%
rename from Images/4000RadarMap2.png
rename to wwwroot/Images/4000RadarMap2.png
diff --git a/Images/4000RadarMap2_1.jpg b/wwwroot/Images/4000RadarMap2_1.jpg
similarity index 100%
rename from Images/4000RadarMap2_1.jpg
rename to wwwroot/Images/4000RadarMap2_1.jpg
diff --git a/Images/AlaskaRadarMap.gif b/wwwroot/Images/AlaskaRadarMap.gif
similarity index 100%
rename from Images/AlaskaRadarMap.gif
rename to wwwroot/Images/AlaskaRadarMap.gif
diff --git a/Images/AlaskaRadarMap.png b/wwwroot/Images/AlaskaRadarMap.png
similarity index 100%
rename from Images/AlaskaRadarMap.png
rename to wwwroot/Images/AlaskaRadarMap.png
diff --git a/Images/AlaskaRadarMap1.png b/wwwroot/Images/AlaskaRadarMap1.png
similarity index 100%
rename from Images/AlaskaRadarMap1.png
rename to wwwroot/Images/AlaskaRadarMap1.png
diff --git a/Images/AlaskaRadarMap2.bmp b/wwwroot/Images/AlaskaRadarMap2.bmp
similarity index 100%
rename from Images/AlaskaRadarMap2.bmp
rename to wwwroot/Images/AlaskaRadarMap2.bmp
diff --git a/Images/AlaskaRadarMap2.png b/wwwroot/Images/AlaskaRadarMap2.png
similarity index 100%
rename from Images/AlaskaRadarMap2.png
rename to wwwroot/Images/AlaskaRadarMap2.png
diff --git a/Images/AlaskaRadarMap3.png b/wwwroot/Images/AlaskaRadarMap3.png
similarity index 100%
rename from Images/AlaskaRadarMap3.png
rename to wwwroot/Images/AlaskaRadarMap3.png
diff --git a/Images/AlaskaRadarMap4.png b/wwwroot/Images/AlaskaRadarMap4.png
similarity index 100%
rename from Images/AlaskaRadarMap4.png
rename to wwwroot/Images/AlaskaRadarMap4.png
diff --git a/Images/AlaskaRadarMap5.png b/wwwroot/Images/AlaskaRadarMap5.png
similarity index 100%
rename from Images/AlaskaRadarMap5.png
rename to wwwroot/Images/AlaskaRadarMap5.png
diff --git a/Images/AlaskaRadarMap6.png b/wwwroot/Images/AlaskaRadarMap6.png
similarity index 100%
rename from Images/AlaskaRadarMap6.png
rename to wwwroot/Images/AlaskaRadarMap6.png
diff --git a/Images/BackGround1.png b/wwwroot/Images/BackGround1.png
similarity index 100%
rename from Images/BackGround1.png
rename to wwwroot/Images/BackGround1.png
diff --git a/Images/BackGround1_1.png b/wwwroot/Images/BackGround1_1.png
similarity index 100%
rename from Images/BackGround1_1.png
rename to wwwroot/Images/BackGround1_1.png
diff --git a/Images/BackGround1_2.png b/wwwroot/Images/BackGround1_2.png
similarity index 100%
rename from Images/BackGround1_2.png
rename to wwwroot/Images/BackGround1_2.png
diff --git a/Images/BackGround1_2_1.png b/wwwroot/Images/BackGround1_2_1.png
similarity index 100%
rename from Images/BackGround1_2_1.png
rename to wwwroot/Images/BackGround1_2_1.png
diff --git a/Images/BackGround1_2_2.png b/wwwroot/Images/BackGround1_2_2.png
similarity index 100%
rename from Images/BackGround1_2_2.png
rename to wwwroot/Images/BackGround1_2_2.png
diff --git a/Images/BackGround1_3_1.png b/wwwroot/Images/BackGround1_3_1.png
similarity index 100%
rename from Images/BackGround1_3_1.png
rename to wwwroot/Images/BackGround1_3_1.png
diff --git a/Images/BackGround2.png b/wwwroot/Images/BackGround2.png
similarity index 100%
rename from Images/BackGround2.png
rename to wwwroot/Images/BackGround2.png
diff --git a/Images/BackGround2_1.png b/wwwroot/Images/BackGround2_1.png
similarity index 100%
rename from Images/BackGround2_1.png
rename to wwwroot/Images/BackGround2_1.png
diff --git a/Images/BackGround2_2.png b/wwwroot/Images/BackGround2_2.png
similarity index 100%
rename from Images/BackGround2_2.png
rename to wwwroot/Images/BackGround2_2.png
diff --git a/Images/BackGround3.png b/wwwroot/Images/BackGround3.png
similarity index 100%
rename from Images/BackGround3.png
rename to wwwroot/Images/BackGround3.png
diff --git a/Images/BackGround3_1.png b/wwwroot/Images/BackGround3_1.png
similarity index 100%
rename from Images/BackGround3_1.png
rename to wwwroot/Images/BackGround3_1.png
diff --git a/Images/BackGround3_2.png b/wwwroot/Images/BackGround3_2.png
similarity index 100%
rename from Images/BackGround3_2.png
rename to wwwroot/Images/BackGround3_2.png
diff --git a/Images/BackGround4.png b/wwwroot/Images/BackGround4.png
similarity index 100%
rename from Images/BackGround4.png
rename to wwwroot/Images/BackGround4.png
diff --git a/Images/BackGround4_1.png b/wwwroot/Images/BackGround4_1.png
similarity index 100%
rename from Images/BackGround4_1.png
rename to wwwroot/Images/BackGround4_1.png
diff --git a/Images/BackGround4_2.png b/wwwroot/Images/BackGround4_2.png
similarity index 100%
rename from Images/BackGround4_2.png
rename to wwwroot/Images/BackGround4_2.png
diff --git a/Images/BackGround5.png b/wwwroot/Images/BackGround5.png
similarity index 100%
rename from Images/BackGround5.png
rename to wwwroot/Images/BackGround5.png
diff --git a/Images/BackGround5_1.png b/wwwroot/Images/BackGround5_1.png
similarity index 100%
rename from Images/BackGround5_1.png
rename to wwwroot/Images/BackGround5_1.png
diff --git a/Images/BackGround5_2.png b/wwwroot/Images/BackGround5_2.png
similarity index 100%
rename from Images/BackGround5_2.png
rename to wwwroot/Images/BackGround5_2.png
diff --git a/Images/BackGround6.png b/wwwroot/Images/BackGround6.png
similarity index 100%
rename from Images/BackGround6.png
rename to wwwroot/Images/BackGround6.png
diff --git a/Images/BackGround6_1.png b/wwwroot/Images/BackGround6_1.png
similarity index 100%
rename from Images/BackGround6_1.png
rename to wwwroot/Images/BackGround6_1.png
diff --git a/Images/BackGround6_2.png b/wwwroot/Images/BackGround6_2.png
similarity index 100%
rename from Images/BackGround6_2.png
rename to wwwroot/Images/BackGround6_2.png
diff --git a/Images/BackGround7.png b/wwwroot/Images/BackGround7.png
similarity index 100%
rename from Images/BackGround7.png
rename to wwwroot/Images/BackGround7.png
diff --git a/Images/BackGround8_1 - Copy (2).png b/wwwroot/Images/BackGround8_1 - Copy (2).png
similarity index 100%
rename from Images/BackGround8_1 - Copy (2).png
rename to wwwroot/Images/BackGround8_1 - Copy (2).png
diff --git a/Images/BackGround8_1.png b/wwwroot/Images/BackGround8_1.png
similarity index 100%
rename from Images/BackGround8_1.png
rename to wwwroot/Images/BackGround8_1.png
diff --git a/Images/BackGround8_1_1.png b/wwwroot/Images/BackGround8_1_1.png
similarity index 100%
rename from Images/BackGround8_1_1.png
rename to wwwroot/Images/BackGround8_1_1.png
diff --git a/Images/BackGround8_2.png b/wwwroot/Images/BackGround8_2.png
similarity index 100%
rename from Images/BackGround8_2.png
rename to wwwroot/Images/BackGround8_2.png
diff --git a/Images/BackGround9_1.png b/wwwroot/Images/BackGround9_1.png
similarity index 100%
rename from Images/BackGround9_1.png
rename to wwwroot/Images/BackGround9_1.png
diff --git a/Images/BackGround9_2.png b/wwwroot/Images/BackGround9_2.png
similarity index 100%
rename from Images/BackGround9_2.png
rename to wwwroot/Images/BackGround9_2.png
diff --git a/Images/Basemap.png b/wwwroot/Images/Basemap.png
similarity index 100%
rename from Images/Basemap.png
rename to wwwroot/Images/Basemap.png
diff --git a/Images/Basemap2.png b/wwwroot/Images/Basemap2.png
similarity index 100%
rename from Images/Basemap2.png
rename to wwwroot/Images/Basemap2.png
diff --git a/Images/Blowing-Snow.gif b/wwwroot/Images/Blowing-Snow.gif
similarity index 100%
rename from Images/Blowing-Snow.gif
rename to wwwroot/Images/Blowing-Snow.gif
diff --git a/Images/CC_Clear0.gif b/wwwroot/Images/CC_Clear0.gif
similarity index 100%
rename from Images/CC_Clear0.gif
rename to wwwroot/Images/CC_Clear0.gif
diff --git a/Images/CC_Clear1.gif b/wwwroot/Images/CC_Clear1.gif
similarity index 100%
rename from Images/CC_Clear1.gif
rename to wwwroot/Images/CC_Clear1.gif
diff --git a/Images/CC_Cloudy.gif b/wwwroot/Images/CC_Cloudy.gif
similarity index 100%
rename from Images/CC_Cloudy.gif
rename to wwwroot/Images/CC_Cloudy.gif
diff --git a/Images/CC_Cold.gif b/wwwroot/Images/CC_Cold.gif
similarity index 100%
rename from Images/CC_Cold.gif
rename to wwwroot/Images/CC_Cold.gif
diff --git a/Images/CC_Fog.gif b/wwwroot/Images/CC_Fog.gif
similarity index 100%
rename from Images/CC_Fog.gif
rename to wwwroot/Images/CC_Fog.gif
diff --git a/Images/CC_FreezingRain.gif b/wwwroot/Images/CC_FreezingRain.gif
similarity index 100%
rename from Images/CC_FreezingRain.gif
rename to wwwroot/Images/CC_FreezingRain.gif
diff --git a/Images/CC_Haze.gif b/wwwroot/Images/CC_Haze.gif
similarity index 100%
rename from Images/CC_Haze.gif
rename to wwwroot/Images/CC_Haze.gif
diff --git a/Images/CC_Hot.gif b/wwwroot/Images/CC_Hot.gif
similarity index 100%
rename from Images/CC_Hot.gif
rename to wwwroot/Images/CC_Hot.gif
diff --git a/Images/CC_Mix.gif b/wwwroot/Images/CC_Mix.gif
similarity index 100%
rename from Images/CC_Mix.gif
rename to wwwroot/Images/CC_Mix.gif
diff --git a/Images/CC_MostlyCloudy0.gif b/wwwroot/Images/CC_MostlyCloudy0.gif
similarity index 100%
rename from Images/CC_MostlyCloudy0.gif
rename to wwwroot/Images/CC_MostlyCloudy0.gif
diff --git a/Images/CC_MostlyCloudy1.gif b/wwwroot/Images/CC_MostlyCloudy1.gif
similarity index 100%
rename from Images/CC_MostlyCloudy1.gif
rename to wwwroot/Images/CC_MostlyCloudy1.gif
diff --git a/Images/CC_Mostly_Clear_Windy.gif b/wwwroot/Images/CC_Mostly_Clear_Windy.gif
similarity index 100%
rename from Images/CC_Mostly_Clear_Windy.gif
rename to wwwroot/Images/CC_Mostly_Clear_Windy.gif
diff --git a/Images/CC_Mostly_Cloudy_Windy.gif b/wwwroot/Images/CC_Mostly_Cloudy_Windy.gif
similarity index 100%
rename from Images/CC_Mostly_Cloudy_Windy.gif
rename to wwwroot/Images/CC_Mostly_Cloudy_Windy.gif
diff --git a/Images/CC_PartlyCloudy0.gif b/wwwroot/Images/CC_PartlyCloudy0.gif
similarity index 100%
rename from Images/CC_PartlyCloudy0.gif
rename to wwwroot/Images/CC_PartlyCloudy0.gif
diff --git a/Images/CC_PartlyCloudy1.gif b/wwwroot/Images/CC_PartlyCloudy1.gif
similarity index 100%
rename from Images/CC_PartlyCloudy1.gif
rename to wwwroot/Images/CC_PartlyCloudy1.gif
diff --git a/Images/CC_Partly_Clear_Windy.gif b/wwwroot/Images/CC_Partly_Clear_Windy.gif
similarity index 100%
rename from Images/CC_Partly_Clear_Windy.gif
rename to wwwroot/Images/CC_Partly_Clear_Windy.gif
diff --git a/Images/CC_Partly_Cloudy_Windy.gif b/wwwroot/Images/CC_Partly_Cloudy_Windy.gif
similarity index 100%
rename from Images/CC_Partly_Cloudy_Windy.gif
rename to wwwroot/Images/CC_Partly_Cloudy_Windy.gif
diff --git a/Images/CC_Rain.gif b/wwwroot/Images/CC_Rain.gif
similarity index 100%
rename from Images/CC_Rain.gif
rename to wwwroot/Images/CC_Rain.gif
diff --git a/Images/CC_RainSnow.gif b/wwwroot/Images/CC_RainSnow.gif
similarity index 100%
rename from Images/CC_RainSnow.gif
rename to wwwroot/Images/CC_RainSnow.gif
diff --git a/Images/CC_Showers.gif b/wwwroot/Images/CC_Showers.gif
similarity index 100%
rename from Images/CC_Showers.gif
rename to wwwroot/Images/CC_Showers.gif
diff --git a/Images/CC_Smoke.gif b/wwwroot/Images/CC_Smoke.gif
similarity index 100%
rename from Images/CC_Smoke.gif
rename to wwwroot/Images/CC_Smoke.gif
diff --git a/Images/CC_Snow.gif b/wwwroot/Images/CC_Snow.gif
similarity index 100%
rename from Images/CC_Snow.gif
rename to wwwroot/Images/CC_Snow.gif
diff --git a/Images/CC_SnowShowers.gif b/wwwroot/Images/CC_SnowShowers.gif
similarity index 100%
rename from Images/CC_SnowShowers.gif
rename to wwwroot/Images/CC_SnowShowers.gif
diff --git a/Images/CC_TStorm.gif b/wwwroot/Images/CC_TStorm.gif
similarity index 100%
rename from Images/CC_TStorm.gif
rename to wwwroot/Images/CC_TStorm.gif
diff --git a/Images/CC_Thunder.gif b/wwwroot/Images/CC_Thunder.gif
similarity index 100%
rename from Images/CC_Thunder.gif
rename to wwwroot/Images/CC_Thunder.gif
diff --git a/Images/CC_ThunderSnow.gif b/wwwroot/Images/CC_ThunderSnow.gif
similarity index 100%
rename from Images/CC_ThunderSnow.gif
rename to wwwroot/Images/CC_ThunderSnow.gif
diff --git a/Images/CC_Windy.gif b/wwwroot/Images/CC_Windy.gif
similarity index 100%
rename from Images/CC_Windy.gif
rename to wwwroot/Images/CC_Windy.gif
diff --git a/Images/CC_Windy2.gif b/wwwroot/Images/CC_Windy2.gif
similarity index 100%
rename from Images/CC_Windy2.gif
rename to wwwroot/Images/CC_Windy2.gif
diff --git a/Images/Clear.gif b/wwwroot/Images/Clear.gif
similarity index 100%
rename from Images/Clear.gif
rename to wwwroot/Images/Clear.gif
diff --git a/Images/Cloudy.gif b/wwwroot/Images/Cloudy.gif
similarity index 100%
rename from Images/Cloudy.gif
rename to wwwroot/Images/Cloudy.gif
diff --git a/Images/Conus_20161004_0028_N0Ronly.gif b/wwwroot/Images/Conus_20161004_0028_N0Ronly.gif
similarity index 100%
rename from Images/Conus_20161004_0028_N0Ronly.gif
rename to wwwroot/Images/Conus_20161004_0028_N0Ronly.gif
diff --git a/Images/Conus_20161005_2258_N0Ronly.gif b/wwwroot/Images/Conus_20161005_2258_N0Ronly.gif
similarity index 100%
rename from Images/Conus_20161005_2258_N0Ronly.gif
rename to wwwroot/Images/Conus_20161005_2258_N0Ronly.gif
diff --git a/Images/County-HighwayOverlay.png b/wwwroot/Images/County-HighwayOverlay.png
similarity index 100%
rename from Images/County-HighwayOverlay.png
rename to wwwroot/Images/County-HighwayOverlay.png
diff --git a/Images/EF_IsolatedTstorms.gif b/wwwroot/Images/EF_IsolatedTstorms.gif
similarity index 100%
rename from Images/EF_IsolatedTstorms.gif
rename to wwwroot/Images/EF_IsolatedTstorms.gif
diff --git a/Images/EF_ScatShowers.gif b/wwwroot/Images/EF_ScatShowers.gif
similarity index 100%
rename from Images/EF_ScatShowers.gif
rename to wwwroot/Images/EF_ScatShowers.gif
diff --git a/Images/EF_ScatSnowShowers.gif b/wwwroot/Images/EF_ScatSnowShowers.gif
similarity index 100%
rename from Images/EF_ScatSnowShowers.gif
rename to wwwroot/Images/EF_ScatSnowShowers.gif
diff --git a/Images/EF_ScatTstorms.gif b/wwwroot/Images/EF_ScatTstorms.gif
similarity index 100%
rename from Images/EF_ScatTstorms.gif
rename to wwwroot/Images/EF_ScatTstorms.gif
diff --git a/Images/First-Quarter.gif b/wwwroot/Images/First-Quarter.gif
similarity index 100%
rename from Images/First-Quarter.gif
rename to wwwroot/Images/First-Quarter.gif
diff --git a/Images/FmQpVYp.jpg b/wwwroot/Images/FmQpVYp.jpg
similarity index 100%
rename from Images/FmQpVYp.jpg
rename to wwwroot/Images/FmQpVYp.jpg
diff --git a/Images/Freezing-Rain-Sleet.gif b/wwwroot/Images/Freezing-Rain-Sleet.gif
similarity index 100%
rename from Images/Freezing-Rain-Sleet.gif
rename to wwwroot/Images/Freezing-Rain-Sleet.gif
diff --git a/Images/Freezing-Rain.gif b/wwwroot/Images/Freezing-Rain.gif
similarity index 100%
rename from Images/Freezing-Rain.gif
rename to wwwroot/Images/Freezing-Rain.gif
diff --git a/Images/Full-Moon.gif b/wwwroot/Images/Full-Moon.gif
similarity index 100%
rename from Images/Full-Moon.gif
rename to wwwroot/Images/Full-Moon.gif
diff --git a/Images/HawaiiRadarMap.gif b/wwwroot/Images/HawaiiRadarMap.gif
similarity index 100%
rename from Images/HawaiiRadarMap.gif
rename to wwwroot/Images/HawaiiRadarMap.gif
diff --git a/Images/HawaiiRadarMap.png b/wwwroot/Images/HawaiiRadarMap.png
similarity index 100%
rename from Images/HawaiiRadarMap.png
rename to wwwroot/Images/HawaiiRadarMap.png
diff --git a/Images/HawaiiRadarMap1.png b/wwwroot/Images/HawaiiRadarMap1.png
similarity index 100%
rename from Images/HawaiiRadarMap1.png
rename to wwwroot/Images/HawaiiRadarMap1.png
diff --git a/Images/HawaiiRadarMap2.png b/wwwroot/Images/HawaiiRadarMap2.png
similarity index 100%
rename from Images/HawaiiRadarMap2.png
rename to wwwroot/Images/HawaiiRadarMap2.png
diff --git a/Images/HawaiiRadarMap3.png b/wwwroot/Images/HawaiiRadarMap3.png
similarity index 100%
rename from Images/HawaiiRadarMap3.png
rename to wwwroot/Images/HawaiiRadarMap3.png
diff --git a/Images/HawaiiRadarMap4.png b/wwwroot/Images/HawaiiRadarMap4.png
similarity index 100%
rename from Images/HawaiiRadarMap4.png
rename to wwwroot/Images/HawaiiRadarMap4.png
diff --git a/Images/HawaiiRadarMap5.png b/wwwroot/Images/HawaiiRadarMap5.png
similarity index 100%
rename from Images/HawaiiRadarMap5.png
rename to wwwroot/Images/HawaiiRadarMap5.png
diff --git a/Images/Heavy-Snow.gif b/wwwroot/Images/Heavy-Snow.gif
similarity index 100%
rename from Images/Heavy-Snow.gif
rename to wwwroot/Images/Heavy-Snow.gif
diff --git a/Images/Ice-Snow.gif b/wwwroot/Images/Ice-Snow.gif
similarity index 100%
rename from Images/Ice-Snow.gif
rename to wwwroot/Images/Ice-Snow.gif
diff --git a/Images/Last-Quarter.gif b/wwwroot/Images/Last-Quarter.gif
similarity index 100%
rename from Images/Last-Quarter.gif
rename to wwwroot/Images/Last-Quarter.gif
diff --git a/Images/Light-Snow.gif b/wwwroot/Images/Light-Snow.gif
similarity index 100%
rename from Images/Light-Snow.gif
rename to wwwroot/Images/Light-Snow.gif
diff --git a/Images/Logo1.png b/wwwroot/Images/Logo1.png
similarity index 100%
rename from Images/Logo1.png
rename to wwwroot/Images/Logo1.png
diff --git a/Images/Logo192.png b/wwwroot/Images/Logo192.png
similarity index 100%
rename from Images/Logo192.png
rename to wwwroot/Images/Logo192.png
diff --git a/Images/Logo2.gif b/wwwroot/Images/Logo2.gif
similarity index 100%
rename from Images/Logo2.gif
rename to wwwroot/Images/Logo2.gif
diff --git a/Images/Logo2.png b/wwwroot/Images/Logo2.png
similarity index 100%
rename from Images/Logo2.png
rename to wwwroot/Images/Logo2.png
diff --git a/Images/Logo200.png b/wwwroot/Images/Logo200.png
similarity index 100%
rename from Images/Logo200.png
rename to wwwroot/Images/Logo200.png
diff --git a/Images/Logo3.gif b/wwwroot/Images/Logo3.gif
similarity index 100%
rename from Images/Logo3.gif
rename to wwwroot/Images/Logo3.gif
diff --git a/Images/Logo3.png b/wwwroot/Images/Logo3.png
similarity index 100%
rename from Images/Logo3.png
rename to wwwroot/Images/Logo3.png
diff --git a/Images/Moon1.gif b/wwwroot/Images/Moon1.gif
similarity index 100%
rename from Images/Moon1.gif
rename to wwwroot/Images/Moon1.gif
diff --git a/Images/Moon1.png b/wwwroot/Images/Moon1.png
similarity index 100%
rename from Images/Moon1.png
rename to wwwroot/Images/Moon1.png
diff --git a/Images/Moon2.gif b/wwwroot/Images/Moon2.gif
similarity index 100%
rename from Images/Moon2.gif
rename to wwwroot/Images/Moon2.gif
diff --git a/Images/Moon2.png b/wwwroot/Images/Moon2.png
similarity index 100%
rename from Images/Moon2.png
rename to wwwroot/Images/Moon2.png
diff --git a/Images/Moon3.gif b/wwwroot/Images/Moon3.gif
similarity index 100%
rename from Images/Moon3.gif
rename to wwwroot/Images/Moon3.gif
diff --git a/Images/Moon3.png b/wwwroot/Images/Moon3.png
similarity index 100%
rename from Images/Moon3.png
rename to wwwroot/Images/Moon3.png
diff --git a/Images/Moon4.gif b/wwwroot/Images/Moon4.gif
similarity index 100%
rename from Images/Moon4.gif
rename to wwwroot/Images/Moon4.gif
diff --git a/Images/Moon4.png b/wwwroot/Images/Moon4.png
similarity index 100%
rename from Images/Moon4.png
rename to wwwroot/Images/Moon4.png
diff --git a/Images/Mostly-Clear.gif b/wwwroot/Images/Mostly-Clear.gif
similarity index 100%
rename from Images/Mostly-Clear.gif
rename to wwwroot/Images/Mostly-Clear.gif
diff --git a/Images/Mostly-Clear2.gif b/wwwroot/Images/Mostly-Clear2.gif
similarity index 100%
rename from Images/Mostly-Clear2.gif
rename to wwwroot/Images/Mostly-Clear2.gif
diff --git a/Images/Mostly-Cloudy.gif b/wwwroot/Images/Mostly-Cloudy.gif
similarity index 100%
rename from Images/Mostly-Cloudy.gif
rename to wwwroot/Images/Mostly-Cloudy.gif
diff --git a/Images/Mostly-Sunny.gif b/wwwroot/Images/Mostly-Sunny.gif
similarity index 100%
rename from Images/Mostly-Sunny.gif
rename to wwwroot/Images/Mostly-Sunny.gif
diff --git a/Images/New-Moon.gif b/wwwroot/Images/New-Moon.gif
similarity index 100%
rename from Images/New-Moon.gif
rename to wwwroot/Images/New-Moon.gif
diff --git a/Images/Partly-Clear.gif b/wwwroot/Images/Partly-Clear.gif
similarity index 100%
rename from Images/Partly-Clear.gif
rename to wwwroot/Images/Partly-Clear.gif
diff --git a/Images/Partly-Cloudy.gif b/wwwroot/Images/Partly-Cloudy.gif
similarity index 100%
rename from Images/Partly-Cloudy.gif
rename to wwwroot/Images/Partly-Cloudy.gif
diff --git a/Images/Progress1.gif b/wwwroot/Images/Progress1.gif
similarity index 100%
rename from Images/Progress1.gif
rename to wwwroot/Images/Progress1.gif
diff --git a/Images/Progress1.png b/wwwroot/Images/Progress1.png
similarity index 100%
rename from Images/Progress1.png
rename to wwwroot/Images/Progress1.png
diff --git a/Images/Progress2.png b/wwwroot/Images/Progress2.png
similarity index 100%
rename from Images/Progress2.png
rename to wwwroot/Images/Progress2.png
diff --git a/Images/Progress3.png b/wwwroot/Images/Progress3.png
similarity index 100%
rename from Images/Progress3.png
rename to wwwroot/Images/Progress3.png
diff --git a/Images/Progress4.png b/wwwroot/Images/Progress4.png
similarity index 100%
rename from Images/Progress4.png
rename to wwwroot/Images/Progress4.png
diff --git a/Images/Progress5.png b/wwwroot/Images/Progress5.png
similarity index 100%
rename from Images/Progress5.png
rename to wwwroot/Images/Progress5.png
diff --git a/Images/Progress6.png b/wwwroot/Images/Progress6.png
similarity index 100%
rename from Images/Progress6.png
rename to wwwroot/Images/Progress6.png
diff --git a/Images/Progress7.png b/wwwroot/Images/Progress7.png
similarity index 100%
rename from Images/Progress7.png
rename to wwwroot/Images/Progress7.png
diff --git a/Images/Radar1.png b/wwwroot/Images/Radar1.png
similarity index 100%
rename from Images/Radar1.png
rename to wwwroot/Images/Radar1.png
diff --git a/Images/Radar2.png b/wwwroot/Images/Radar2.png
similarity index 100%
rename from Images/Radar2.png
rename to wwwroot/Images/Radar2.png
diff --git a/Images/Rain-Snow.gif b/wwwroot/Images/Rain-Snow.gif
similarity index 100%
rename from Images/Rain-Snow.gif
rename to wwwroot/Images/Rain-Snow.gif
diff --git a/Images/Rain.gif b/wwwroot/Images/Rain.gif
similarity index 100%
rename from Images/Rain.gif
rename to wwwroot/Images/Rain.gif
diff --git a/Images/RssFeed.png b/wwwroot/Images/RssFeed.png
similarity index 100%
rename from Images/RssFeed.png
rename to wwwroot/Images/RssFeed.png
diff --git a/Images/Scattered-Rain-Sun.gif b/wwwroot/Images/Scattered-Rain-Sun.gif
similarity index 100%
rename from Images/Scattered-Rain-Sun.gif
rename to wwwroot/Images/Scattered-Rain-Sun.gif
diff --git a/Images/Scattered-Snow-Sun.gif b/wwwroot/Images/Scattered-Snow-Sun.gif
similarity index 100%
rename from Images/Scattered-Snow-Sun.gif
rename to wwwroot/Images/Scattered-Snow-Sun.gif
diff --git a/Images/ScreenShot1.png b/wwwroot/Images/ScreenShot1.png
similarity index 100%
rename from Images/ScreenShot1.png
rename to wwwroot/Images/ScreenShot1.png
diff --git a/Images/ScreenShot10.png b/wwwroot/Images/ScreenShot10.png
similarity index 100%
rename from Images/ScreenShot10.png
rename to wwwroot/Images/ScreenShot10.png
diff --git a/Images/ScreenShot11.png b/wwwroot/Images/ScreenShot11.png
similarity index 100%
rename from Images/ScreenShot11.png
rename to wwwroot/Images/ScreenShot11.png
diff --git a/Images/ScreenShot13.png b/wwwroot/Images/ScreenShot13.png
similarity index 100%
rename from Images/ScreenShot13.png
rename to wwwroot/Images/ScreenShot13.png
diff --git a/Images/ScreenShot14.png b/wwwroot/Images/ScreenShot14.png
similarity index 100%
rename from Images/ScreenShot14.png
rename to wwwroot/Images/ScreenShot14.png
diff --git a/Images/ScreenShot15.png b/wwwroot/Images/ScreenShot15.png
similarity index 100%
rename from Images/ScreenShot15.png
rename to wwwroot/Images/ScreenShot15.png
diff --git a/Images/ScreenShot16.png b/wwwroot/Images/ScreenShot16.png
similarity index 100%
rename from Images/ScreenShot16.png
rename to wwwroot/Images/ScreenShot16.png
diff --git a/Images/ScreenShot17.png b/wwwroot/Images/ScreenShot17.png
similarity index 100%
rename from Images/ScreenShot17.png
rename to wwwroot/Images/ScreenShot17.png
diff --git a/Images/ScreenShot18.png b/wwwroot/Images/ScreenShot18.png
similarity index 100%
rename from Images/ScreenShot18.png
rename to wwwroot/Images/ScreenShot18.png
diff --git a/Images/ScreenShot19.png b/wwwroot/Images/ScreenShot19.png
similarity index 100%
rename from Images/ScreenShot19.png
rename to wwwroot/Images/ScreenShot19.png
diff --git a/Images/ScreenShot2.png b/wwwroot/Images/ScreenShot2.png
similarity index 100%
rename from Images/ScreenShot2.png
rename to wwwroot/Images/ScreenShot2.png
diff --git a/Images/ScreenShot20.png b/wwwroot/Images/ScreenShot20.png
similarity index 100%
rename from Images/ScreenShot20.png
rename to wwwroot/Images/ScreenShot20.png
diff --git a/Images/ScreenShot3.png b/wwwroot/Images/ScreenShot3.png
similarity index 100%
rename from Images/ScreenShot3.png
rename to wwwroot/Images/ScreenShot3.png
diff --git a/Images/ScreenShot4.png b/wwwroot/Images/ScreenShot4.png
similarity index 100%
rename from Images/ScreenShot4.png
rename to wwwroot/Images/ScreenShot4.png
diff --git a/Images/ScreenShot5.png b/wwwroot/Images/ScreenShot5.png
similarity index 100%
rename from Images/ScreenShot5.png
rename to wwwroot/Images/ScreenShot5.png
diff --git a/Images/ScreenShot6.png b/wwwroot/Images/ScreenShot6.png
similarity index 100%
rename from Images/ScreenShot6.png
rename to wwwroot/Images/ScreenShot6.png
diff --git a/Images/ScreenShot7.png b/wwwroot/Images/ScreenShot7.png
similarity index 100%
rename from Images/ScreenShot7.png
rename to wwwroot/Images/ScreenShot7.png
diff --git a/Images/ScreenShot8.png b/wwwroot/Images/ScreenShot8.png
similarity index 100%
rename from Images/ScreenShot8.png
rename to wwwroot/Images/ScreenShot8.png
diff --git a/Images/ScreenShot9.png b/wwwroot/Images/ScreenShot9.png
similarity index 100%
rename from Images/ScreenShot9.png
rename to wwwroot/Images/ScreenShot9.png
diff --git a/Images/Shower.gif b/wwwroot/Images/Shower.gif
similarity index 100%
rename from Images/Shower.gif
rename to wwwroot/Images/Shower.gif
diff --git a/Images/Sleet.gif b/wwwroot/Images/Sleet.gif
similarity index 100%
rename from Images/Sleet.gif
rename to wwwroot/Images/Sleet.gif
diff --git a/Images/Snippet1.png b/wwwroot/Images/Snippet1.png
similarity index 100%
rename from Images/Snippet1.png
rename to wwwroot/Images/Snippet1.png
diff --git a/Images/Snow-Sleet.gif b/wwwroot/Images/Snow-Sleet.gif
similarity index 100%
rename from Images/Snow-Sleet.gif
rename to wwwroot/Images/Snow-Sleet.gif
diff --git a/Images/Sunny.gif b/wwwroot/Images/Sunny.gif
similarity index 100%
rename from Images/Sunny.gif
rename to wwwroot/Images/Sunny.gif
diff --git a/Images/TaQ4DpT.png b/wwwroot/Images/TaQ4DpT.png
similarity index 100%
rename from Images/TaQ4DpT.png
rename to wwwroot/Images/TaQ4DpT.png
diff --git a/Images/Thunder.gif b/wwwroot/Images/Thunder.gif
similarity index 100%
rename from Images/Thunder.gif
rename to wwwroot/Images/Thunder.gif
diff --git a/Images/ThunderSnow.gif b/wwwroot/Images/ThunderSnow.gif
similarity index 100%
rename from Images/ThunderSnow.gif
rename to wwwroot/Images/ThunderSnow.gif
diff --git a/Images/Thunderstorm.gif b/wwwroot/Images/Thunderstorm.gif
similarity index 100%
rename from Images/Thunderstorm.gif
rename to wwwroot/Images/Thunderstorm.gif
diff --git a/Images/Twc_logo_resized.svg.png b/wwwroot/Images/Twc_logo_resized.svg.png
similarity index 100%
rename from Images/Twc_logo_resized.svg.png
rename to wwwroot/Images/Twc_logo_resized.svg.png
diff --git a/Images/Wintry-Mix.gif b/wwwroot/Images/Wintry-Mix.gif
similarity index 100%
rename from Images/Wintry-Mix.gif
rename to wwwroot/Images/Wintry-Mix.gif
diff --git a/Images/alaska.gif b/wwwroot/Images/alaska.gif
similarity index 100%
rename from Images/alaska.gif
rename to wwwroot/Images/alaska.gif
diff --git a/Images/gimp/Radar Basemap.xcf b/wwwroot/Images/gimp/Radar Basemap.xcf
similarity index 100%
rename from Images/gimp/Radar Basemap.xcf
rename to wwwroot/Images/gimp/Radar Basemap.xcf
diff --git a/Images/gimp/Radar Basemap2.xcf b/wwwroot/Images/gimp/Radar Basemap2.xcf
similarity index 100%
rename from Images/gimp/Radar Basemap2.xcf
rename to wwwroot/Images/gimp/Radar Basemap2.xcf
diff --git a/Images/gimp/Radar Basemap3.xcf b/wwwroot/Images/gimp/Radar Basemap3.xcf
similarity index 100%
rename from Images/gimp/Radar Basemap3.xcf
rename to wwwroot/Images/gimp/Radar Basemap3.xcf
diff --git a/Images/gimp/Radar Basemap4.xcf b/wwwroot/Images/gimp/Radar Basemap4.xcf
similarity index 100%
rename from Images/gimp/Radar Basemap4.xcf
rename to wwwroot/Images/gimp/Radar Basemap4.xcf
diff --git a/Images/hawaii.gif b/wwwroot/Images/hawaii.gif
similarity index 100%
rename from Images/hawaii.gif
rename to wwwroot/Images/hawaii.gif
diff --git a/Images/nav/gps_fixed_black_24dp.svg b/wwwroot/Images/nav/gps_fixed_black_24dp.svg
similarity index 100%
rename from Images/nav/gps_fixed_black_24dp.svg
rename to wwwroot/Images/nav/gps_fixed_black_24dp.svg
diff --git a/Images/nav/ic_fullscreen_exit_white_24dp_1x.png b/wwwroot/Images/nav/ic_fullscreen_exit_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_fullscreen_exit_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_fullscreen_exit_white_24dp_1x.png
diff --git a/Images/nav/ic_fullscreen_exit_white_24dp_2x.png b/wwwroot/Images/nav/ic_fullscreen_exit_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_fullscreen_exit_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_fullscreen_exit_white_24dp_2x.png
diff --git a/Images/nav/ic_fullscreen_white_24dp_1x.png b/wwwroot/Images/nav/ic_fullscreen_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_fullscreen_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_fullscreen_white_24dp_1x.png
diff --git a/Images/nav/ic_fullscreen_white_24dp_2x.png b/wwwroot/Images/nav/ic_fullscreen_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_fullscreen_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_fullscreen_white_24dp_2x.png
diff --git a/Images/nav/ic_gps_fixed_black_18dp_1x.png b/wwwroot/Images/nav/ic_gps_fixed_black_18dp_1x.png
similarity index 100%
rename from Images/nav/ic_gps_fixed_black_18dp_1x.png
rename to wwwroot/Images/nav/ic_gps_fixed_black_18dp_1x.png
diff --git a/Images/nav/ic_gps_fixed_black_18dp_2x.png b/wwwroot/Images/nav/ic_gps_fixed_black_18dp_2x.png
similarity index 100%
rename from Images/nav/ic_gps_fixed_black_18dp_2x.png
rename to wwwroot/Images/nav/ic_gps_fixed_black_18dp_2x.png
diff --git a/Images/nav/ic_gps_fixed_black_24dp_1x.png b/wwwroot/Images/nav/ic_gps_fixed_black_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_gps_fixed_black_24dp_1x.png
rename to wwwroot/Images/nav/ic_gps_fixed_black_24dp_1x.png
diff --git a/Images/nav/ic_gps_fixed_black_24dp_2x.png b/wwwroot/Images/nav/ic_gps_fixed_black_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_gps_fixed_black_24dp_2x.png
rename to wwwroot/Images/nav/ic_gps_fixed_black_24dp_2x.png
diff --git a/Images/nav/ic_hearing_black_24dp_2x.png b/wwwroot/Images/nav/ic_hearing_black_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_hearing_black_24dp_2x.png
rename to wwwroot/Images/nav/ic_hearing_black_24dp_2x.png
diff --git a/Images/nav/ic_hearing_white_24dp_1x.png b/wwwroot/Images/nav/ic_hearing_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_hearing_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_hearing_white_24dp_1x.png
diff --git a/Images/nav/ic_hearing_white_24dp_2x.png b/wwwroot/Images/nav/ic_hearing_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_hearing_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_hearing_white_24dp_2x.png
diff --git a/Images/nav/ic_menu_white_24dp_1x.png b/wwwroot/Images/nav/ic_menu_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_menu_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_menu_white_24dp_1x.png
diff --git a/Images/nav/ic_menu_white_24dp_2x.png b/wwwroot/Images/nav/ic_menu_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_menu_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_menu_white_24dp_2x.png
diff --git a/Images/nav/ic_no_hearing_white_24dp_1x.png b/wwwroot/Images/nav/ic_no_hearing_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_no_hearing_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_no_hearing_white_24dp_1x.png
diff --git a/Images/nav/ic_no_hearing_white_24dp_2x - Copy.png b/wwwroot/Images/nav/ic_no_hearing_white_24dp_2x - Copy.png
similarity index 100%
rename from Images/nav/ic_no_hearing_white_24dp_2x - Copy.png
rename to wwwroot/Images/nav/ic_no_hearing_white_24dp_2x - Copy.png
diff --git a/Images/nav/ic_no_hearing_white_24dp_2x.png b/wwwroot/Images/nav/ic_no_hearing_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_no_hearing_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_no_hearing_white_24dp_2x.png
diff --git a/Images/nav/ic_pause_white_24dp_1x.png b/wwwroot/Images/nav/ic_pause_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_pause_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_pause_white_24dp_1x.png
diff --git a/Images/nav/ic_pause_white_24dp_2x.png b/wwwroot/Images/nav/ic_pause_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_pause_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_pause_white_24dp_2x.png
diff --git a/Images/nav/ic_play_arrow_white_24dp_1x.png b/wwwroot/Images/nav/ic_play_arrow_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_play_arrow_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_play_arrow_white_24dp_1x.png
diff --git a/Images/nav/ic_play_arrow_white_24dp_2x.png b/wwwroot/Images/nav/ic_play_arrow_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_play_arrow_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_play_arrow_white_24dp_2x.png
diff --git a/Images/nav/ic_refresh_white_24dp_1x.png b/wwwroot/Images/nav/ic_refresh_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_refresh_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_refresh_white_24dp_1x.png
diff --git a/Images/nav/ic_refresh_white_24dp_2x.png b/wwwroot/Images/nav/ic_refresh_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_refresh_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_refresh_white_24dp_2x.png
diff --git a/Images/nav/ic_skip_next_white_24dp_1x.png b/wwwroot/Images/nav/ic_skip_next_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_skip_next_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_skip_next_white_24dp_1x.png
diff --git a/Images/nav/ic_skip_next_white_24dp_2x.png b/wwwroot/Images/nav/ic_skip_next_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_skip_next_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_skip_next_white_24dp_2x.png
diff --git a/Images/nav/ic_skip_previous_white_24dp_1x.png b/wwwroot/Images/nav/ic_skip_previous_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_skip_previous_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_skip_previous_white_24dp_1x.png
diff --git a/Images/nav/ic_skip_previous_white_24dp_2x.png b/wwwroot/Images/nav/ic_skip_previous_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_skip_previous_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_skip_previous_white_24dp_2x.png
diff --git a/Images/nav/ic_volume_off_white_24dp_1x.png b/wwwroot/Images/nav/ic_volume_off_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_volume_off_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_volume_off_white_24dp_1x.png
diff --git a/Images/nav/ic_volume_off_white_24dp_2x.png b/wwwroot/Images/nav/ic_volume_off_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_volume_off_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_volume_off_white_24dp_2x.png
diff --git a/Images/nav/ic_volume_up_white_24dp_1x.png b/wwwroot/Images/nav/ic_volume_up_white_24dp_1x.png
similarity index 100%
rename from Images/nav/ic_volume_up_white_24dp_1x.png
rename to wwwroot/Images/nav/ic_volume_up_white_24dp_1x.png
diff --git a/Images/nav/ic_volume_up_white_24dp_2x.png b/wwwroot/Images/nav/ic_volume_up_white_24dp_2x.png
similarity index 100%
rename from Images/nav/ic_volume_up_white_24dp_2x.png
rename to wwwroot/Images/nav/ic_volume_up_white_24dp_2x.png
diff --git a/Images/nav1.png b/wwwroot/Images/nav1.png
similarity index 100%
rename from Images/nav1.png
rename to wwwroot/Images/nav1.png
diff --git a/Images/noaa - Copy.png b/wwwroot/Images/noaa - Copy.png
similarity index 100%
rename from Images/noaa - Copy.png
rename to wwwroot/Images/noaa - Copy.png
diff --git a/Images/noaa.png b/wwwroot/Images/noaa.png
similarity index 100%
rename from Images/noaa.png
rename to wwwroot/Images/noaa.png
diff --git a/Images/noaa2.png b/wwwroot/Images/noaa2.png
similarity index 100%
rename from Images/noaa2.png
rename to wwwroot/Images/noaa2.png
diff --git a/Images/noaa3.png b/wwwroot/Images/noaa3.png
similarity index 100%
rename from Images/noaa3.png
rename to wwwroot/Images/noaa3.png
diff --git a/Images/noaa4.png b/wwwroot/Images/noaa4.png
similarity index 100%
rename from Images/noaa4.png
rename to wwwroot/Images/noaa4.png
diff --git a/Images/noaa5.gif b/wwwroot/Images/noaa5.gif
similarity index 100%
rename from Images/noaa5.gif
rename to wwwroot/Images/noaa5.gif
diff --git a/Images/noaa5.png b/wwwroot/Images/noaa5.png
similarity index 100%
rename from Images/noaa5.png
rename to wwwroot/Images/noaa5.png
diff --git a/Images/off14_prcp.gif b/wwwroot/Images/off14_prcp.gif
similarity index 100%
rename from Images/off14_prcp.gif
rename to wwwroot/Images/off14_prcp.gif
diff --git a/Images/off14_temp.gif b/wwwroot/Images/off14_temp.gif
similarity index 100%
rename from Images/off14_temp.gif
rename to wwwroot/Images/off14_temp.gif
diff --git a/Images/r/AM-Snow-1994.gif b/wwwroot/Images/r/AM-Snow-1994.gif
similarity index 100%
rename from Images/r/AM-Snow-1994.gif
rename to wwwroot/Images/r/AM-Snow-1994.gif
diff --git a/Images/r/Blowing Snow.gif b/wwwroot/Images/r/Blowing Snow.gif
similarity index 100%
rename from Images/r/Blowing Snow.gif
rename to wwwroot/Images/r/Blowing Snow.gif
diff --git a/Images/r/Clear-1992.gif b/wwwroot/Images/r/Clear-1992.gif
similarity index 100%
rename from Images/r/Clear-1992.gif
rename to wwwroot/Images/r/Clear-1992.gif
diff --git a/Images/r/Clear-Wind-1994.gif b/wwwroot/Images/r/Clear-Wind-1994.gif
similarity index 100%
rename from Images/r/Clear-Wind-1994.gif
rename to wwwroot/Images/r/Clear-Wind-1994.gif
diff --git a/Images/r/Cloudy-Wind.gif b/wwwroot/Images/r/Cloudy-Wind.gif
similarity index 100%
rename from Images/r/Cloudy-Wind.gif
rename to wwwroot/Images/r/Cloudy-Wind.gif
diff --git a/Images/r/Cloudy.gif b/wwwroot/Images/r/Cloudy.gif
similarity index 100%
rename from Images/r/Cloudy.gif
rename to wwwroot/Images/r/Cloudy.gif
diff --git a/Images/r/Fog.gif b/wwwroot/Images/r/Fog.gif
similarity index 100%
rename from Images/r/Fog.gif
rename to wwwroot/Images/r/Fog.gif
diff --git a/Images/r/Freezing-Rain-1992.gif b/wwwroot/Images/r/Freezing-Rain-1992.gif
similarity index 100%
rename from Images/r/Freezing-Rain-1992.gif
rename to wwwroot/Images/r/Freezing-Rain-1992.gif
diff --git a/Images/r/Freezing-Rain-Sleet-1992.gif b/wwwroot/Images/r/Freezing-Rain-Sleet-1992.gif
similarity index 100%
rename from Images/r/Freezing-Rain-Sleet-1992.gif
rename to wwwroot/Images/r/Freezing-Rain-Sleet-1992.gif
diff --git a/Images/r/Freezing-Rain-Snow-1992.gif b/wwwroot/Images/r/Freezing-Rain-Snow-1992.gif
similarity index 100%
rename from Images/r/Freezing-Rain-Snow-1992.gif
rename to wwwroot/Images/r/Freezing-Rain-Snow-1992.gif
diff --git a/Images/r/Heavy-Snow-1994-2.gif b/wwwroot/Images/r/Heavy-Snow-1994-2.gif
similarity index 100%
rename from Images/r/Heavy-Snow-1994-2.gif
rename to wwwroot/Images/r/Heavy-Snow-1994-2.gif
diff --git a/Images/r/Heavy-Snow-1994.gif b/wwwroot/Images/r/Heavy-Snow-1994.gif
similarity index 100%
rename from Images/r/Heavy-Snow-1994.gif
rename to wwwroot/Images/r/Heavy-Snow-1994.gif
diff --git a/Images/r/Heavy-Snow.gif b/wwwroot/Images/r/Heavy-Snow.gif
similarity index 100%
rename from Images/r/Heavy-Snow.gif
rename to wwwroot/Images/r/Heavy-Snow.gif
diff --git a/Images/r/Light-Snow.gif b/wwwroot/Images/r/Light-Snow.gif
similarity index 100%
rename from Images/r/Light-Snow.gif
rename to wwwroot/Images/r/Light-Snow.gif
diff --git a/Images/r/Mostly-Clear.gif b/wwwroot/Images/r/Mostly-Clear.gif
similarity index 100%
rename from Images/r/Mostly-Clear.gif
rename to wwwroot/Images/r/Mostly-Clear.gif
diff --git a/Images/r/Mostly-Clear2.gif b/wwwroot/Images/r/Mostly-Clear2.gif
similarity index 100%
rename from Images/r/Mostly-Clear2.gif
rename to wwwroot/Images/r/Mostly-Clear2.gif
diff --git a/Images/r/Mostly-Cloudy-1994-2.gif b/wwwroot/Images/r/Mostly-Cloudy-1994-2.gif
similarity index 100%
rename from Images/r/Mostly-Cloudy-1994-2.gif
rename to wwwroot/Images/r/Mostly-Cloudy-1994-2.gif
diff --git a/Images/r/Mostly-Cloudy-1994.gif b/wwwroot/Images/r/Mostly-Cloudy-1994.gif
similarity index 100%
rename from Images/r/Mostly-Cloudy-1994.gif
rename to wwwroot/Images/r/Mostly-Cloudy-1994.gif
diff --git a/Images/r/Mostly-Cloudy.gif b/wwwroot/Images/r/Mostly-Cloudy.gif
similarity index 100%
rename from Images/r/Mostly-Cloudy.gif
rename to wwwroot/Images/r/Mostly-Cloudy.gif
diff --git a/Images/r/Mostly-Sunny.gif b/wwwroot/Images/r/Mostly-Sunny.gif
similarity index 100%
rename from Images/r/Mostly-Sunny.gif
rename to wwwroot/Images/r/Mostly-Sunny.gif
diff --git a/Images/r/Partly-Clear-1994-2.gif b/wwwroot/Images/r/Partly-Clear-1994-2.gif
similarity index 100%
rename from Images/r/Partly-Clear-1994-2.gif
rename to wwwroot/Images/r/Partly-Clear-1994-2.gif
diff --git a/Images/r/Partly-Clear-1994.gif b/wwwroot/Images/r/Partly-Clear-1994.gif
similarity index 100%
rename from Images/r/Partly-Clear-1994.gif
rename to wwwroot/Images/r/Partly-Clear-1994.gif
diff --git a/Images/r/Partly-Clear.gif b/wwwroot/Images/r/Partly-Clear.gif
similarity index 100%
rename from Images/r/Partly-Clear.gif
rename to wwwroot/Images/r/Partly-Clear.gif
diff --git a/Images/r/Partly-Cloudy.gif b/wwwroot/Images/r/Partly-Cloudy.gif
similarity index 100%
rename from Images/r/Partly-Cloudy.gif
rename to wwwroot/Images/r/Partly-Cloudy.gif
diff --git a/Images/r/Rain-1992.gif b/wwwroot/Images/r/Rain-1992.gif
similarity index 100%
rename from Images/r/Rain-1992.gif
rename to wwwroot/Images/r/Rain-1992.gif
diff --git a/Images/r/Rain-Sleet.gif b/wwwroot/Images/r/Rain-Sleet.gif
similarity index 100%
rename from Images/r/Rain-Sleet.gif
rename to wwwroot/Images/r/Rain-Sleet.gif
diff --git a/Images/r/Rain-Snow-1992.gif b/wwwroot/Images/r/Rain-Snow-1992.gif
similarity index 100%
rename from Images/r/Rain-Snow-1992.gif
rename to wwwroot/Images/r/Rain-Snow-1992.gif
diff --git a/Images/r/Rain-Wind-1994.gif b/wwwroot/Images/r/Rain-Wind-1994.gif
similarity index 100%
rename from Images/r/Rain-Wind-1994.gif
rename to wwwroot/Images/r/Rain-Wind-1994.gif
diff --git a/Images/r/Scattered-Rain-Sun.gif b/wwwroot/Images/r/Scattered-Rain-Sun.gif
similarity index 100%
rename from Images/r/Scattered-Rain-Sun.gif
rename to wwwroot/Images/r/Scattered-Rain-Sun.gif
diff --git a/Images/r/Scattered-Showers-1994-2.gif b/wwwroot/Images/r/Scattered-Showers-1994-2.gif
similarity index 100%
rename from Images/r/Scattered-Showers-1994-2.gif
rename to wwwroot/Images/r/Scattered-Showers-1994-2.gif
diff --git a/Images/r/Scattered-Showers-1994.gif b/wwwroot/Images/r/Scattered-Showers-1994.gif
similarity index 100%
rename from Images/r/Scattered-Showers-1994.gif
rename to wwwroot/Images/r/Scattered-Showers-1994.gif
diff --git a/Images/r/Scattered-Showers-Night-1994-2.gif b/wwwroot/Images/r/Scattered-Showers-Night-1994-2.gif
similarity index 100%
rename from Images/r/Scattered-Showers-Night-1994-2.gif
rename to wwwroot/Images/r/Scattered-Showers-Night-1994-2.gif
diff --git a/Images/r/Scattered-Showers-Night.gif b/wwwroot/Images/r/Scattered-Showers-Night.gif
similarity index 100%
rename from Images/r/Scattered-Showers-Night.gif
rename to wwwroot/Images/r/Scattered-Showers-Night.gif
diff --git a/Images/r/Scattered-Showers.gif b/wwwroot/Images/r/Scattered-Showers.gif
similarity index 100%
rename from Images/r/Scattered-Showers.gif
rename to wwwroot/Images/r/Scattered-Showers.gif
diff --git a/Images/r/Scattered-Snow-Showers-1994-2.gif b/wwwroot/Images/r/Scattered-Snow-Showers-1994-2.gif
similarity index 100%
rename from Images/r/Scattered-Snow-Showers-1994-2.gif
rename to wwwroot/Images/r/Scattered-Snow-Showers-1994-2.gif
diff --git a/Images/r/Scattered-Snow-Showers-Night-1994-2.gif b/wwwroot/Images/r/Scattered-Snow-Showers-Night-1994-2.gif
similarity index 100%
rename from Images/r/Scattered-Snow-Showers-Night-1994-2.gif
rename to wwwroot/Images/r/Scattered-Snow-Showers-Night-1994-2.gif
diff --git a/Images/r/Scattered-Snow-Showers-Night.gif b/wwwroot/Images/r/Scattered-Snow-Showers-Night.gif
similarity index 100%
rename from Images/r/Scattered-Snow-Showers-Night.gif
rename to wwwroot/Images/r/Scattered-Snow-Showers-Night.gif
diff --git a/Images/r/Scattered-Snow-Showers.gif b/wwwroot/Images/r/Scattered-Snow-Showers.gif
similarity index 100%
rename from Images/r/Scattered-Snow-Showers.gif
rename to wwwroot/Images/r/Scattered-Snow-Showers.gif
diff --git a/Images/r/Scattered-Snow-Sun.gif b/wwwroot/Images/r/Scattered-Snow-Sun.gif
similarity index 100%
rename from Images/r/Scattered-Snow-Sun.gif
rename to wwwroot/Images/r/Scattered-Snow-Sun.gif
diff --git a/Images/r/Scattered-Tstorms-1992.gif b/wwwroot/Images/r/Scattered-Tstorms-1992.gif
similarity index 100%
rename from Images/r/Scattered-Tstorms-1992.gif
rename to wwwroot/Images/r/Scattered-Tstorms-1992.gif
diff --git a/Images/r/Scattered-Tstorms-1994-2.gif b/wwwroot/Images/r/Scattered-Tstorms-1994-2.gif
similarity index 100%
rename from Images/r/Scattered-Tstorms-1994-2.gif
rename to wwwroot/Images/r/Scattered-Tstorms-1994-2.gif
diff --git a/Images/r/Scattered-Tstorms-1994.gif b/wwwroot/Images/r/Scattered-Tstorms-1994.gif
similarity index 100%
rename from Images/r/Scattered-Tstorms-1994.gif
rename to wwwroot/Images/r/Scattered-Tstorms-1994.gif
diff --git a/Images/r/Scattered-Tstorms-Night-1994-2.gif b/wwwroot/Images/r/Scattered-Tstorms-Night-1994-2.gif
similarity index 100%
rename from Images/r/Scattered-Tstorms-Night-1994-2.gif
rename to wwwroot/Images/r/Scattered-Tstorms-Night-1994-2.gif
diff --git a/Images/r/Scattered-Tstorms-Night.gif b/wwwroot/Images/r/Scattered-Tstorms-Night.gif
similarity index 100%
rename from Images/r/Scattered-Tstorms-Night.gif
rename to wwwroot/Images/r/Scattered-Tstorms-Night.gif
diff --git a/Images/r/Shower.gif b/wwwroot/Images/r/Shower.gif
similarity index 100%
rename from Images/r/Shower.gif
rename to wwwroot/Images/r/Shower.gif
diff --git a/Images/r/Sleet.gif b/wwwroot/Images/r/Sleet.gif
similarity index 100%
rename from Images/r/Sleet.gif
rename to wwwroot/Images/r/Sleet.gif
diff --git a/Images/r/Snow-Sleet.gif b/wwwroot/Images/r/Snow-Sleet.gif
similarity index 100%
rename from Images/r/Snow-Sleet.gif
rename to wwwroot/Images/r/Snow-Sleet.gif
diff --git a/Images/r/Sunny-Wind-1994.gif b/wwwroot/Images/r/Sunny-Wind-1994.gif
similarity index 100%
rename from Images/r/Sunny-Wind-1994.gif
rename to wwwroot/Images/r/Sunny-Wind-1994.gif
diff --git a/Images/r/Sunny.gif b/wwwroot/Images/r/Sunny.gif
similarity index 100%
rename from Images/r/Sunny.gif
rename to wwwroot/Images/r/Sunny.gif
diff --git a/Images/r/Thunder.gif b/wwwroot/Images/r/Thunder.gif
similarity index 100%
rename from Images/r/Thunder.gif
rename to wwwroot/Images/r/Thunder.gif
diff --git a/Images/r/ThunderSnow.gif b/wwwroot/Images/r/ThunderSnow.gif
similarity index 100%
rename from Images/r/ThunderSnow.gif
rename to wwwroot/Images/r/ThunderSnow.gif
diff --git a/Images/r/Thunderstorm.gif b/wwwroot/Images/r/Thunderstorm.gif
similarity index 100%
rename from Images/r/Thunderstorm.gif
rename to wwwroot/Images/r/Thunderstorm.gif
diff --git a/Images/r/Wind.gif b/wwwroot/Images/r/Wind.gif
similarity index 100%
rename from Images/r/Wind.gif
rename to wwwroot/Images/r/Wind.gif
diff --git a/Images/r/Wintry-Mix-1992.gif b/wwwroot/Images/r/Wintry-Mix-1992.gif
similarity index 100%
rename from Images/r/Wintry-Mix-1992.gif
rename to wwwroot/Images/r/Wintry-Mix-1992.gif
diff --git a/Images/r/cold.gif b/wwwroot/Images/r/cold.gif
similarity index 100%
rename from Images/r/cold.gif
rename to wwwroot/Images/r/cold.gif
diff --git a/Images/r/haze.gif b/wwwroot/Images/r/haze.gif
similarity index 100%
rename from Images/r/haze.gif
rename to wwwroot/Images/r/haze.gif
diff --git a/Images/r/hot.gif b/wwwroot/Images/r/hot.gif
similarity index 100%
rename from Images/r/hot.gif
rename to wwwroot/Images/r/hot.gif
diff --git a/Images/r/mostly-clear-wind.gif b/wwwroot/Images/r/mostly-clear-wind.gif
similarity index 100%
rename from Images/r/mostly-clear-wind.gif
rename to wwwroot/Images/r/mostly-clear-wind.gif
diff --git a/Images/r/mostly-cloudy-wind.gif b/wwwroot/Images/r/mostly-cloudy-wind.gif
similarity index 100%
rename from Images/r/mostly-cloudy-wind.gif
rename to wwwroot/Images/r/mostly-cloudy-wind.gif
diff --git a/Images/r/partly-clear-wind.gif b/wwwroot/Images/r/partly-clear-wind.gif
similarity index 100%
rename from Images/r/partly-clear-wind.gif
rename to wwwroot/Images/r/partly-clear-wind.gif
diff --git a/Images/r/partly-cloudy-wind.gif b/wwwroot/Images/r/partly-cloudy-wind.gif
similarity index 100%
rename from Images/r/partly-cloudy-wind.gif
rename to wwwroot/Images/r/partly-cloudy-wind.gif
diff --git a/Images/r/smoke.gif b/wwwroot/Images/r/smoke.gif
similarity index 100%
rename from Images/r/smoke.gif
rename to wwwroot/Images/r/smoke.gif
diff --git a/Images/sc/ws4kp1.PNG b/wwwroot/Images/sc/ws4kp1.PNG
similarity index 100%
rename from Images/sc/ws4kp1.PNG
rename to wwwroot/Images/sc/ws4kp1.PNG
diff --git a/Images/sc/ws4kp10.PNG b/wwwroot/Images/sc/ws4kp10.PNG
similarity index 100%
rename from Images/sc/ws4kp10.PNG
rename to wwwroot/Images/sc/ws4kp10.PNG
diff --git a/Images/sc/ws4kp11.PNG b/wwwroot/Images/sc/ws4kp11.PNG
similarity index 100%
rename from Images/sc/ws4kp11.PNG
rename to wwwroot/Images/sc/ws4kp11.PNG
diff --git a/Images/sc/ws4kp12.PNG b/wwwroot/Images/sc/ws4kp12.PNG
similarity index 100%
rename from Images/sc/ws4kp12.PNG
rename to wwwroot/Images/sc/ws4kp12.PNG
diff --git a/Images/sc/ws4kp13.png b/wwwroot/Images/sc/ws4kp13.png
similarity index 100%
rename from Images/sc/ws4kp13.png
rename to wwwroot/Images/sc/ws4kp13.png
diff --git a/Images/sc/ws4kp14.png b/wwwroot/Images/sc/ws4kp14.png
similarity index 100%
rename from Images/sc/ws4kp14.png
rename to wwwroot/Images/sc/ws4kp14.png
diff --git a/Images/sc/ws4kp15.png b/wwwroot/Images/sc/ws4kp15.png
similarity index 100%
rename from Images/sc/ws4kp15.png
rename to wwwroot/Images/sc/ws4kp15.png
diff --git a/Images/sc/ws4kp16.png b/wwwroot/Images/sc/ws4kp16.png
similarity index 100%
rename from Images/sc/ws4kp16.png
rename to wwwroot/Images/sc/ws4kp16.png
diff --git a/Images/sc/ws4kp17.png b/wwwroot/Images/sc/ws4kp17.png
similarity index 100%
rename from Images/sc/ws4kp17.png
rename to wwwroot/Images/sc/ws4kp17.png
diff --git a/Images/sc/ws4kp18.png b/wwwroot/Images/sc/ws4kp18.png
similarity index 100%
rename from Images/sc/ws4kp18.png
rename to wwwroot/Images/sc/ws4kp18.png
diff --git a/Images/sc/ws4kp2.PNG b/wwwroot/Images/sc/ws4kp2.PNG
similarity index 100%
rename from Images/sc/ws4kp2.PNG
rename to wwwroot/Images/sc/ws4kp2.PNG
diff --git a/Images/sc/ws4kp3.PNG b/wwwroot/Images/sc/ws4kp3.PNG
similarity index 100%
rename from Images/sc/ws4kp3.PNG
rename to wwwroot/Images/sc/ws4kp3.PNG
diff --git a/Images/sc/ws4kp4.PNG b/wwwroot/Images/sc/ws4kp4.PNG
similarity index 100%
rename from Images/sc/ws4kp4.PNG
rename to wwwroot/Images/sc/ws4kp4.PNG
diff --git a/Images/sc/ws4kp5.PNG b/wwwroot/Images/sc/ws4kp5.PNG
similarity index 100%
rename from Images/sc/ws4kp5.PNG
rename to wwwroot/Images/sc/ws4kp5.PNG
diff --git a/Images/sc/ws4kp6.PNG b/wwwroot/Images/sc/ws4kp6.PNG
similarity index 100%
rename from Images/sc/ws4kp6.PNG
rename to wwwroot/Images/sc/ws4kp6.PNG
diff --git a/Images/sc/ws4kp7.PNG b/wwwroot/Images/sc/ws4kp7.PNG
similarity index 100%
rename from Images/sc/ws4kp7.PNG
rename to wwwroot/Images/sc/ws4kp7.PNG
diff --git a/Images/sc/ws4kp8.PNG b/wwwroot/Images/sc/ws4kp8.PNG
similarity index 100%
rename from Images/sc/ws4kp8.PNG
rename to wwwroot/Images/sc/ws4kp8.PNG
diff --git a/Images/sc/ws4kp9.PNG b/wwwroot/Images/sc/ws4kp9.PNG
similarity index 100%
rename from Images/sc/ws4kp9.PNG
rename to wwwroot/Images/sc/ws4kp9.PNG
diff --git a/Images/sc/ws4kp_1.png b/wwwroot/Images/sc/ws4kp_1.png
similarity index 100%
rename from Images/sc/ws4kp_1.png
rename to wwwroot/Images/sc/ws4kp_1.png
diff --git a/Images/sc/ws4kp_2.png b/wwwroot/Images/sc/ws4kp_2.png
similarity index 100%
rename from Images/sc/ws4kp_2.png
rename to wwwroot/Images/sc/ws4kp_2.png
diff --git a/Images/sc/ws4kp_3.png b/wwwroot/Images/sc/ws4kp_3.png
similarity index 100%
rename from Images/sc/ws4kp_3.png
rename to wwwroot/Images/sc/ws4kp_3.png
diff --git a/Images/sc/ws4kp_4.png b/wwwroot/Images/sc/ws4kp_4.png
similarity index 100%
rename from Images/sc/ws4kp_4.png
rename to wwwroot/Images/sc/ws4kp_4.png
diff --git a/Images/tbW8Rnd.png b/wwwroot/Images/tbW8Rnd.png
similarity index 100%
rename from Images/tbW8Rnd.png
rename to wwwroot/Images/tbW8Rnd.png
diff --git a/Images/y6HNy2O.jpg b/wwwroot/Images/y6HNy2O.jpg
similarity index 100%
rename from Images/y6HNy2O.jpg
rename to wwwroot/Images/y6HNy2O.jpg
diff --git a/Scripts/Icons.js b/wwwroot/Scripts/Icons.js
similarity index 100%
rename from Scripts/Icons.js
rename to wwwroot/Scripts/Icons.js
diff --git a/Scripts/NoSleep.min.js b/wwwroot/Scripts/NoSleep.min.js
similarity index 100%
rename from Scripts/NoSleep.min.js
rename to wwwroot/Scripts/NoSleep.min.js
diff --git a/Scripts/RegionalCities.js b/wwwroot/Scripts/RegionalCities.js
similarity index 100%
rename from Scripts/RegionalCities.js
rename to wwwroot/Scripts/RegionalCities.js
diff --git a/Scripts/States.js b/wwwroot/Scripts/States.js
similarity index 100%
rename from Scripts/States.js
rename to wwwroot/Scripts/States.js
diff --git a/Scripts/Timer.js b/wwwroot/Scripts/Timer.js
similarity index 100%
rename from Scripts/Timer.js
rename to wwwroot/Scripts/Timer.js
diff --git a/Scripts/TimerWorker.js b/wwwroot/Scripts/TimerWorker.js
similarity index 100%
rename from Scripts/TimerWorker.js
rename to wwwroot/Scripts/TimerWorker.js
diff --git a/Scripts/TravelCities.js b/wwwroot/Scripts/TravelCities.js
similarity index 100%
rename from Scripts/TravelCities.js
rename to wwwroot/Scripts/TravelCities.js
diff --git a/Scripts/addtohomescreen.min.js b/wwwroot/Scripts/addtohomescreen.min.js
similarity index 100%
rename from Scripts/addtohomescreen.min.js
rename to wwwroot/Scripts/addtohomescreen.min.js
diff --git a/Scripts/index.js b/wwwroot/Scripts/index.js
similarity index 96%
rename from Scripts/index.js
rename to wwwroot/Scripts/index.js
index 652bdd9..ac8f03c 100644
--- a/Scripts/index.js
+++ b/wwwroot/Scripts/index.js
@@ -1,1913 +1,1913 @@
-///
-///
-
-// Redirect user to SSL version of site.
-if (location.protocol != "https:" && location.href.indexOf("localhost") == -1 && location.href.indexOf("192.") == -1)
-{
- location.href = location.href.replace("http:", "https:");
-}
-
-var frmGetLatLng;
-var txtAddress;
-var btnGetLatLng;
-var btnClearQuery;
-var btnGetGps;
-var divLat;
-var spanLat;
-var divLng;
-var spanLng;
-
-var divTwc;
-var divTwcTop;
-var divTwcMiddle;
-var divTwcBottom;
-var divTwcLeft;
-var divTwcRight;
-var divTwcNavContainer;
-var divTwcNav;
-var iframeTwc;
-var btnFullScreen;
-var divTwcBottomLeft;
-var divTwcBottomMiddle;
-var divTwcBottomRight;
-
-var divRefresh;
-var spanLastRefresh;
-var chkAutoRefresh;
-var lblRefreshCountDown;
-var spanRefreshCountDown;
-
-var spanCity;
-var spanState;
-var spanStationId;
-var spanRadarId;
-var spanZoneId;
-
-var radScrollDefault;
-
-var frmScrollText;
-var radScrollText;
-var txtScrollText;
-var btnScrollText;
-
-var frmScrollRss;
-var radScrollRss;
-var txtScrollRss;
-var btnScrollRss;
-
-var chkScrollHazardText;
-
-//var _InFullScreen = false;
-var _AutoSelectQuery = false;
-var _TwcDataUrl = "";
-var _IsPlaying = false;
-
-var _NoSleep = new NoSleep();
-
-var _LastUpdate = null;
-var _AutoRefreshIntervalId = null;
-var _AutoRefreshIntervalMs = 500;
-//var _AutoRefreshTotalIntervalMs = 10000; // 10 sec.
-//var _AutoRefreshTotalIntervalMs = 300000; // 5 min.
-var _AutoRefreshTotalIntervalMs = 600000; // 10 min.
-var _AutoRefreshCountMs = 0;
-
-var _IsAudioPlaying = false;
-var _IsBeepPlaying = false;
-
-var _IsNarrationPlaying = false;
-
-var _FullScreenOverride = false;
-
-var _WeatherParameters = null;
-
-var _WindowHeight = 0;
-var _WindowWidth = 0;
-
-var _AllowKeyDown = true;
-
-var _canvasIds = [
- "canvasProgress",
- "canvasCurrentWeather",
- "canvasLatestObservations",
- "canvasTravelForecast",
- "canvasRegionalForecast1",
- "canvasRegionalForecast2",
- "canvasRegionalObservations",
- "canvasLocalForecast",
- "canvasExtendedForecast1",
- "canvasExtendedForecast2",
- "canvasAlmanac",
- "canvasAlmanacTides",
- "canvasOutlook",
- "canvasMarineForecast",
- "canvasAirQuality",
- "canvasLocalRadar",
- "canvasHazards"
-];
-
-var OperatingSystems = {
- Unknown: 0,
- Windows: 1,
- MacOS: 2,
- Linux: 3,
- Unix: 4,
- iOS: 5,
- Andriod: 6,
- WindowsPhone: 7,
-};
-_OperatingSystem = OperatingSystems.Unknown;
-var _UserAgent = window.navigator.userAgent;
-if (_UserAgent.indexOf("Win") != -1) _OperatingSystem = OperatingSystems.Windows;
-if (_UserAgent.indexOf("Mac") != -1) _OperatingSystem = OperatingSystems.MacOS;
-if (_UserAgent.indexOf("X11") != -1) _OperatingSystem = OperatingSystems.Unix;
-if (_UserAgent.indexOf("Linux") != -1) _OperatingSystem = OperatingSystems.Linux;
-if (_UserAgent.indexOf("iPad") != -1) _OperatingSystem = OperatingSystems.iOS;
-if (_UserAgent.indexOf("iPhone") != -1) _OperatingSystem = OperatingSystems.iOS;
-if (_UserAgent.indexOf("iPod") != -1) _OperatingSystem = OperatingSystems.iOS;
-if (_UserAgent.toLowerCase().indexOf("android") != -1) _OperatingSystem = OperatingSystems.Andriod;
-if (_UserAgent.indexOf("Windows Phone") != -1) _OperatingSystem = OperatingSystems.WindowsPhone;
-
-var FullScreenResize = function (AutoRefresh)
-{
- var iframeDoc = $(iframeTwc[0].contentWindow.document);
- var WindowWidth = $(window).width();
- var WindowHeight = $(window).height();
- var NewWidth;
- var NewHeight;
- var IFrameWidth;
- var IFrameHeight;
- var LeftWidth;
- var LeftHeight;
- var RightWidth;
- var RightHeight;
- var TopHeight;
- var TopWidth;
- var BottomHeight;
- var BottomWidth;
- var Offset;
- var inFullScreen = InFullScreen();
-
- if (inFullScreen == true)
- {
- //if (WindowWidth > WindowHeight)
- //if (WindowWidth > 850)
- //if (WindowWidth > 0)
- //if (WindowWidth > 640)
- if ((WindowWidth / WindowHeight) >= 1.583333333333333) // = 640 (TWC Width) + 48 (Icon min width on left side) + 12 (left padding) + 48 (Right icons) + 12 (right padding) / 480 (TWC Height)
- {
- NewHeight = WindowHeight + "px";
- NewWidth = "";
- divTwcTop.hide();
- divTwcBottom.hide();
- divTwcLeft.show();
- divTwcRight.show();
-
- divTwcMiddle.attr("style", "width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
-
- //IFrameWidth = (WindowHeight * 1.33333333333333333333);
- //iframeTwc.attr("style", "width:" + IFrameWidth + "px; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
-
- //LeftWidth = ((((WindowHeight * 16) / 9) - (WindowHeight * 1.25)) / 2) + "px";
- LeftWidth = ((WindowWidth - (WindowHeight * 1.33333333333333333333)) / 2);
- if (LeftWidth < 60)
- {
- LeftWidth = 60;
- }
- divTwcLeft.find("div>div>a>img").css("width", "");
- //divTwcLeft.find(">div").css("padding-right", "12px").css("padding-left", "");
- divTwcLeft.attr("style", "width:" + LeftWidth + "px; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
- divTwcLeft.css("visibility", "visible");
- divTwcLeft.css("opacity", "1");
- if (AutoRefresh === true)
- {
- divTwcLeft.css("opacity", "0");
- divTwcLeft.css("visibility", "hidden");
- }
- divTwcLeft.css("position", "");
-
- //RightWidth = ((((WindowHeight * 16) / 9) - (WindowHeight * 1.25)) / 2) + "px";
- RightWidth = ((WindowWidth - (WindowHeight * 1.33333333333333333333)) / 2);
- if (RightWidth < 60)
- {
- RightWidth = 60;
- }
- divTwcRight.find("div>div>a>img").css("width", "");
- //divTwcRight.find(">div").css("padding-left", "12px").css("padding-right", "");
- divTwcRight.attr("style", "width:" + RightWidth + "px; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
- divTwcRight.css("visibility", "visible");
- divTwcRight.css("opacity", "1");
- if (AutoRefresh === true)
- {
- divTwcRight.css("opacity", "0");
- divTwcRight.css("visibility", "hidden");
- }
- divTwcRight.css("position", "");
-
- IFrameWidth = WindowWidth - LeftWidth - RightWidth;
- NewWidth = IFrameWidth + "px";
- iframeTwc.attr("style", "width:" + IFrameWidth + "px; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
-
- //console.log(WindowWidth);
- }
- else
- {
- NewHeight = "";
- NewWidth = WindowWidth + "px";
- divTwcTop.show();
- divTwcBottom.show();
-
- //divTwcLeft.hide();
- //divTwcRight.hide();
- //Offset = 400;
- Offset = 0;
-
- //IFrameHeight = ((WindowWidth - Offset) * 0.75) + "px";
- //iframeTwc.attr("style", "width:100%; height:" + IFrameHeight + "; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
- //divTwcMiddle.attr("style", "width:100%; height:" + IFrameHeight + "; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
-
- TopHeight = ((WindowHeight - ((WindowWidth - Offset) * 0.75)) / 2);
- if (TopHeight < 0)
- {
- TopHeight = 0;
- }
- divTwcTop.attr("style", "width:100%; height:" + TopHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
-
- BottomHeight = ((WindowHeight - ((WindowWidth - Offset) * 0.75)) / 2);
- if (BottomHeight < 30)
- {
- //BottomHeight = 30;
- BottomHeight = 0;
- }
- divTwcBottom.attr("style", "width:100%; height:" + BottomHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
- divTwcBottom.css("visibility", "visible");
- divTwcBottom.css("opacity", "1");
- if (AutoRefresh === true)
- {
- divTwcBottom.css("opacity", "0");
- divTwcBottom.css("visibility", "hidden");
- }
-
- IFrameHeight = WindowHeight - TopHeight - BottomHeight;
- NewHeight = IFrameHeight + "px";
- iframeTwc.attr("style", "width:100%; height:" + IFrameHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
- divTwcMiddle.attr("style", "width:100%; height:" + IFrameHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
-
- divTwcBottomLeft.hide();
- divTwcBottomMiddle.hide();
- divTwcBottomRight.hide();
- divTwcLeft.show();
- divTwcRight.show();
-
- LeftWidth = (WindowWidth / 13);
- if (LeftWidth < 25)
- {
- LeftWidth = 25;
- }
- divTwcLeft.find("div>div>a>img").css("width", "100%");
- //divTwcLeft.find(">div").css("padding-right", "0px");
- divTwcLeft.attr("style", "width:" + LeftWidth + "px; height:" + IFrameHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:1000000;");
- divTwcLeft.css("visibility", "visible");
- divTwcLeft.css("opacity", "1");
- if (AutoRefresh === true)
- {
- divTwcLeft.css("opacity", "0");
- divTwcLeft.css("visibility", "hidden");
- }
- divTwcLeft.css("position", "absolute");
- divTwcLeft.css("left", "12px");
-
- RightWidth = (WindowWidth / 13);
- if (RightWidth < 25)
- {
- RightWidth = 25;
- }
- divTwcRight.find("div>div>a>img").css("width", "100%");
- //divTwcRight.find(">div").css("padding-left", "0px");
- divTwcRight.attr("style", "width:" + RightWidth + "px; height:" + IFrameHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:1000000;");
- divTwcRight.css("visibility", "visible");
- divTwcRight.css("opacity", "1");
- if (AutoRefresh === true)
- {
- divTwcRight.css("opacity", "0");
- divTwcRight.css("visibility", "hidden");
- }
- divTwcRight.css("position", "absolute");
- divTwcRight.css("right", "12px");
- }
- }
-
- if (inFullScreen == false)
- {
- NewHeight = "";
- NewWidth = "";
- divTwcTop.hide();
- divTwcBottom.hide();
- divTwcLeft.hide();
- divTwcRight.hide();
-
- divTwc.attr("style", "");
- divTwcMiddle.attr("style", "");
- iframeTwc.attr("style", "");
-
- divTwcBottomLeft.show();
- divTwcBottomMiddle.show();
- divTwcBottomRight.show();
-
- $(window).off("resize", FullScreenResize);
- }
-
- //iframeDoc.find("#canvasProgress").css("width", NewWidth);
- //iframeDoc.find("#canvasProgress").css("height", NewHeight);
- $(_canvasIds).each(function ()
- {
- var canvas = iframeDoc.find("#" + this.toString());
- canvas.css("width", NewWidth);
- canvas.css("height", NewHeight);
- });
-
- if (inFullScreen == true)
- {
- $("body").css("overflow", "hidden");
- $(".ToggleFullScreen").val("Exit Full Screen");
-
- if (!GetFullScreenElement())
- {
- EnterFullScreen();
- }
- }
- else
- {
- $("body").css("overflow", "");
- $(".ToggleFullScreen").val("Full Screen");
- }
-
- //divTwc.show();
- ////divTwc.css("display", "block");
- //if (divTwc.css("display") != "block")
- //{
- // divTwc.css("display", "block");
- //}
-
- divTwcNavContainer.show();
-
- if (inIframe())
- {
- if (!inFullScreen)
- {
- var scaleFactor = 1.0;
- var orientation = screen.orientation || window.orientation;
-
- switch (_OperatingSystem)
- {
- case OperatingSystems.iOS:
- if (orientation == 90 || orientation == -90)
- {
- scaleFactor = Math.min(document.documentElement.clientWidth, screen.height) / 640;
- }
- else
- {
- // 2 = 20
- // 3 = 60
- var buffer = 20 + 40 * (window.devicePixelRatio - 2);
-
- scaleFactor = Math.min(document.documentElement.clientWidth, screen.width - buffer) / 640;
- }
- break;
- default:
- if (orientation == 90 || orientation == -90)
- {
- scaleFactor = document.documentElement.clientHeight / 640;
- }
- else
- {
- scaleFactor = document.documentElement.clientWidth / 640;
- }
- break;
- }
- var $body = $(document.body);
- $body.css("transform", `scale(${scaleFactor})`);
- }
- }
-};
-
-var _lockOrientation = screen.lockOrientation || screen.mozLockOrientation || screen.msLockOrientation;
-var _unlockOrientation = screen.unlockOrientation || screen.mozUnlockOrientation || screen.msUnlockOrientation || (screen.orientation && screen.orientation.unlock);
-
-var OnFullScreen = function ()
-{
- if (InFullScreen() == true)
- {
- divTwc.attr("style", "position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
- FullScreenResize();
-
- $(window).on("resize", FullScreenResize);
- //FullScreenResize();
-
- if (_lockOrientation) try { _lockOrientation("landscape-primary"); } catch (ex) { console.log("Unable to lock screen orientation."); };
- }
- else
- {
- divTwc.attr("style", "");
- divTwcMiddle.attr("style", "");
- iframeTwc.attr("style", "");
-
- $(window).off("resize", FullScreenResize);
- FullScreenResize();
-
- if (_unlockOrientation) try { _unlockOrientation(); } catch (ex) { console.log("Unable to unlock screen orientation."); };
- }
-};
-
-var InFullScreen = function ()
-{
- //return true;
- //return (document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled);
- //return (window.innerHeight == screen.height);
- //return (((document.fullScreenElement || document.mozFullScreenElement || document.webkitFullscreenElement) != null) || (window.innerHeight >= screen.height));
- //return ((GetFullScreenElement() != null) || (window.innerHeight == screen.height));
- return ((_FullScreenOverride == true) || (GetFullScreenElement() != null) || (window.innerHeight == screen.height) || (window.innerHeight == (screen.height - 1)));
-};
-
-var GetFullScreenElement = function ()
-{
- if (_FullScreenOverride == true)
- {
- return document.body;
- }
-
- return (document.fullScreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement);
-}
-
-var btnFullScreen_click = function ()
-{
- //_InFullScreen = !(_InFullScreen);
-
- if (InFullScreen() == false)
- {
- EnterFullScreen();
-
- ////position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;
- //divTwc.attr("style", "position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
- ////iframeTwc.attr("style", "width:100%; height:90%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
-
- ////divTwcMiddle.attr("style", "width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
- ////divTwcLeft.attr("style", "width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
- ////iframeTwc.attr("style", "width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
-
- //FullScreenResize();
-
- //$(window).on("resize", FullScreenResize);
- //FullScreenResize();
- }
- else
- {
- ExitFullscreen();
-
- //divTwc.attr("style", "");
- //divTwcMiddle.attr("style", "");
- //iframeTwc.attr("style", "");
-
- //$(window).off("resize", FullScreenResize);
- //FullScreenResize();
- }
-
- if (_IsPlaying == true)
- {
- _NoSleep.enable();
- }
- else
- {
- _NoSleep.disable();
- }
-
- UpdateFullScreenNavigate();
-
- return false;
-};
-
-var EnterFullScreen = function ()
-{
- var element = document.body;
-
- // Supports most browsers and their versions.
- var requestMethod;
- requestMethod = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullscreen;
-
- if (requestMethod)
- {
- // Native full screen.
- //requestMethod.call(element);
- requestMethod.call(element, { navigationUI: "hide" }); // https://bugs.chromium.org/p/chromium/issues/detail?id=933436#c7
- }
- else if (typeof window.ActiveXObject !== "undefined")
- {
- // Older IE.
- var wscript = new ActiveXObject("WScript.Shell");
- if (wscript !== null)
- {
- wscript.SendKeys("{F11}");
- }
- }
- else
- {
- // iOS doesn't support FullScreen API.
- window.scrollTo(0, 0);
- _FullScreenOverride = true;
- $(window).resize();
- }
-
- UpdateFullScreenNavigate();
-};
-
-var ExitFullscreen = function ()
-{
- // exit full-screen
-
- if (_FullScreenOverride == true)
- {
- _FullScreenOverride = false;
- $(window).resize();
- }
-
- if (document.exitFullscreen)
- {
- // Chrome 71 broke this if the user pressed F11 to enter full screen mode.
- document.exitFullscreen();
- }
- else if (document.webkitExitFullscreen)
- {
- document.webkitExitFullscreen();
- }
- else if (document.mozCancelFullScreen)
- {
- document.mozCancelFullScreen();
- }
- else if (document.msExitFullscreen)
- {
- document.msExitFullscreen();
- }
-};
-
-var btnNavigateMenu_click = function ()
-{
- //var iFrameLocation = iframeTwc[0].contentWindow.location;
- //iFrameLocation.hash = "";
- //iFrameLocation.hash = "aProgress";
- iframeTwc[0].contentWindow.NavigateMenu();
- UpdateFullScreenNavigate();
-
- return false;
-};
-
-var LoadTwcData = function (Url, AutoRefresh)
-{
- txtAddress.blur();
- StopAutoRefreshTimer();
- _LastUpdate = null;
- AssignLastUpdate();
-
- console.log("Url: " + Url);
- _TwcDataUrl = Url;
-
- iframeTwc.off("load");
-
- iframeTwc.on("load", function (e)
- {
- switch (iframeTwc.attr("src"))
- {
- case "about:blank":
- if (Url == "")
- {
- iframeTwc.off("load");
- return;
- }
-
- iframeTwc.attr("src", "twc3.html?_=" + (new Date).getTime().toString());
- break;
-
- default:
- iframeTwc.off("load");
- FullScreenResize(AutoRefresh);
-
- if (radScrollText.is(":checked") == true)
- {
- AssignScrollText({ ScrollText: txtScrollText.val() });
- }
- else if (radScrollRss.is(":checked") == true)
- {
- AssignScrollText({ ScrollRss: txtScrollRss.val() });
- }
-
- if (chkScrollHazardText.is(":checked") == true)
- {
- ScrollHazardText(true);
- }
-
- AssignThemes({ Themes: $("input[type='radio'][name='radThemes']:checked").val() });
- iframeTwc[0].contentWindow.AssignThemes({ Themes: $("input[type='radio'][name='radThemes']:checked").val() });
-
- iframeTwc[0].contentWindow.AssignUnits({ Units: $("input[type='radio'][name='radUnits']:checked").val() });
-
- iframeTwc[0].contentWindow.SetCallBack({ CallBack: TwcCallBack });
-
- iframeTwc[0].contentWindow.GetLatLng(Url);
-
- if (_IsPlaying == true)
- {
- iframeTwc[0].contentWindow.NavigatePlayToggle();
- }
-
- if (_IsAudioPlaying == true)
- {
- iframeTwc[0].contentWindow.AudioPlayToggle();
- }
-
- if (_IsNarrationPlaying == true)
- {
- iframeTwc[0].contentWindow.NarrationPlayToggle();
- }
-
- $(iframeTwc[0].contentWindow.document).on("mousemove", document_mousemove);
- $(iframeTwc[0].contentWindow.document).on("mousedown", document_mousemove);
- $(iframeTwc[0].contentWindow.document).on("keydown", document_keydown);
-
- var SwipeCallBack = function (event, direction, distance, duration, fingerCount, fingerData)
- {
- console.log("You swiped " + direction);
-
- switch (direction)
- {
- case "left":
- btnNavigateNext_click();
- break;
-
- case "right":
- btnNavigatePrevious_click();
- break;
- }
- };
-
- $(iframeTwc[0].contentWindow.document).swipe({
- //Generic swipe handler for all directions
- swipeRight: SwipeCallBack,
- swipeLeft: SwipeCallBack,
-
- ////Default is 75px, set to 0 for demo so any distance triggers swipe
- //threshold: 0
- });
-
-
- break;
- }
- });
- iframeTwc.attr("src", "about:blank");
-};
-
-var Themes = {
- ThemeA: 1, // Classic
- ThemeB: 2, // Sea Foam
- ThemeC: 3, // Comsic
- ThemeD: 4, // Dark
-};
-var _Themes = Themes.ThemeA;
-
-var AssignThemes = function (e)
-{
- var forecolor;
- var backcolor;
- var butncolor;
- var brdrcolor;
- var invert;
- var themecolor;
-
- switch (e.Themes)
- {
- case "THEMEA":
- _Themes = Themes.ThemeA;
- break;
- case "THEMEB":
- _Themes = Themes.ThemeB;
- break;
- case "THEMEC":
- _Themes = Themes.ThemeC;
- break;
- case "THEMED":
- _Themes = Themes.ThemeD;
- break;
- }
-
- switch (_Themes)
- {
- case Themes.ThemeD:
- forecolor = "rgb(255, 255, 255)";
- backcolor = "rgb(0, 0, 0)";
- butncolor = "rgb(96, 96, 96)";
- brdrcolor = "rgb(255, 255, 255)";
- invert = "100";
- themecolor = "#000000";
- break;
- default:
- forecolor = "rgb(0, 0, 0)";
- backcolor = "rgb(255, 255, 255)";
- butncolor = "rgb(224, 224, 224)";
- brdrcolor = "rgb(0, 0, 0)";
- invert = "0";
- themecolor = "#ffffff";
- break;
- }
-
- $("button, input").css("background-color", butncolor);
- $("input, button, .autocomplete-suggestions").css("border", "solid 1px " + brdrcolor);
- $("body, input, button, .autocomplete-suggestion").css("color", forecolor);
- $("body, input[type=text], .autocomplete-suggestions").css("background-color", backcolor);
- $("#imgGetGps").css("filter", "invert(" + invert + "%)");
- $("meta[name=theme-color]").attr("content", themecolor);
-};
-
-var AssignLastUpdate = function ()
-{
- var LastUpdate = "(None)";
-
- if (_LastUpdate)
- {
- switch ($("input[type='radio'][name='radUnits']:checked").val())
- {
- case "ENGLISH":
- LastUpdate = _LastUpdate.toLocaleString('en-US', { weekday: 'short', month: 'short', day: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric', timeZoneName: 'short' });
- break;
- case "METRIC":
- LastUpdate = _LastUpdate.toLocaleString('en-GB', { weekday: 'short', month: 'short', day: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric', timeZoneName: 'short' });
- break;
- }
- }
-
- spanLastRefresh.html(LastUpdate);
-
- if (_LastUpdate)
- {
- if (chkAutoRefresh.is(":checked") == true)
- {
- StartAutoRefreshTimer();
- }
- }
-};
-
-var TwcCallBack = function (e)
-{
- switch (e.Status)
- {
- case "LOADED":
- console.log("Twc Loaded");
-
- _LastUpdate = e.LastUpdate;
- AssignLastUpdate();
- break;
-
- case "WEATHERPARAMETERS":
- console.log("Weather Parameters");
-
- _WeatherParameters = e.WeatherParameters;
- PopulateWeatherParameters();
- break;
-
- case "ISPLAYING":
- console.log("Play Toggled");
- _IsPlaying = e.Value;
- localStorage.setItem("TwcPlay", _IsPlaying);
-
- if (_IsPlaying == true)
- {
- _NoSleep.enable();
-
- $("img[src='images/nav/ic_play_arrow_white_24dp_1x.png']").attr("title", "Pause");
- $("img[src='images/nav/ic_play_arrow_white_24dp_1x.png']").attr("src", "images/nav/ic_pause_white_24dp_1x.png");
- $("img[src='images/nav/ic_play_arrow_white_24dp_2x.png']").attr("title", "Pause");
- $("img[src='images/nav/ic_play_arrow_white_24dp_2x.png']").attr("src", "images/nav/ic_pause_white_24dp_2x.png");
- }
- else
- {
- _NoSleep.disable();
-
- $("img[src='images/nav/ic_pause_white_24dp_1x.png']").attr("title", "Play");
- $("img[src='images/nav/ic_pause_white_24dp_1x.png']").attr("src", "images/nav/ic_play_arrow_white_24dp_1x.png");
- $("img[src='images/nav/ic_pause_white_24dp_2x.png']").attr("title", "Play");
- $("img[src='images/nav/ic_pause_white_24dp_2x.png']").attr("src", "images/nav/ic_play_arrow_white_24dp_2x.png");
- }
- break;
-
- case "ISAUDIOPLAYING":
- console.log("Audio Play Toggled");
- _IsAudioPlaying = e.Value;
- localStorage.setItem("TwcAudioPlay", _IsAudioPlaying);
-
- if (_IsAudioPlaying == true)
- {
- $("img[src='images/nav/ic_volume_off_white_24dp_1x.png']").attr("title", "Mute");
- $("img[src='images/nav/ic_volume_off_white_24dp_1x.png']").attr("src", "images/nav/ic_volume_up_white_24dp_1x.png");
- $("img[src='images/nav/ic_volume_off_white_24dp_2x.png']").attr("title", "Mute");
- $("img[src='images/nav/ic_volume_off_white_24dp_2x.png']").attr("src", "images/nav/ic_volume_up_white_24dp_2x.png");
- }
- else
- {
- $("img[src='images/nav/ic_volume_up_white_24dp_1x.png']").attr("title", "Unmute");
- $("img[src='images/nav/ic_volume_up_white_24dp_1x.png']").attr("src", "images/nav/ic_volume_off_white_24dp_1x.png");
- $("img[src='images/nav/ic_volume_up_white_24dp_2x.png']").attr("title", "Unmute");
- $("img[src='images/nav/ic_volume_up_white_24dp_2x.png']").attr("src", "images/nav/ic_volume_off_white_24dp_2x.png");
- }
- break;
-
- case "ISNARRATIONPLAYING":
- console.log("Narration Play Toggled");
- _IsNarrationPlaying = e.Value;
- localStorage.setItem("TwcNarrationPlay", _IsNarrationPlaying);
-
- if (_IsNarrationPlaying == true)
- {
- $("img[src='images/nav/ic_no_hearing_white_24dp_1x.png']").attr("title", "Turn off Narration");
- $("img[src='images/nav/ic_no_hearing_white_24dp_1x.png']").attr("src", "images/nav/ic_hearing_white_24dp_1x.png");
- $("img[src='images/nav/ic_no_hearing_white_24dp_2x.png']").attr("title", "Turn off Narration");
- $("img[src='images/nav/ic_no_hearing_white_24dp_2x.png']").attr("src", "images/nav/ic_hearing_white_24dp_2x.png");
- }
- else
- {
- $("img[src='images/nav/ic_hearing_white_24dp_1x.png']").attr("title", "Turn on Narration");
- $("img[src='images/nav/ic_hearing_white_24dp_1x.png']").attr("src", "images/nav/ic_no_hearing_white_24dp_1x.png");
- $("img[src='images/nav/ic_hearing_white_24dp_2x.png']").attr("title", "Turn on Narration");
- $("img[src='images/nav/ic_hearing_white_24dp_2x.png']").attr("src", "images/nav/ic_no_hearing_white_24dp_2x.png");
- }
- break;
- }
-};
-
-var btnNavigateRefresh_click = function ()
-{
- LoadTwcData(_TwcDataUrl);
- UpdateFullScreenNavigate();
-
- return false;
-};
-
-var btnNavigateNext_click = function ()
-{
- iframeTwc[0].contentWindow.NavigateNext();
- UpdateFullScreenNavigate();
-
- return false;
-};
-
-var btnNavigatePrevious_click = function ()
-{
- iframeTwc[0].contentWindow.NavigatePrevious();
- UpdateFullScreenNavigate();
-
- return false;
-};
-
-var window_resize = function ()
-{
- //var iFrameLocation = iframeTwc[0].contentWindow.location;
- //var Hash = iFrameLocation.hash;
-
- var $window = $(window);
-
- if ($window.height() == _WindowHeight || $window.width() == _WindowWidth)
- {
- return;
- }
-
- _WindowHeight = $window.height();
- _WindowWidth = $window.width();
-
- try
- {
- ////iFrameLocation.hash = "";
- ////iFrameLocation.hash = Hash;
- //iframeTwc[0].contentWindow.history.replaceState("", document.title, iFrameLocation.pathname);
- //iframeTwc[0].contentWindow.history.replaceState("", document.title, iFrameLocation.pathname + Hash);
- iframeTwc[0].contentWindow.NavigateReset();
- } catch (ex) { }
-
- UpdateFullScreenNavigate();
-};
-
-var _NavigateFadeIntervalId = null;
-
-var UpdateFullScreenNavigate = function ()
-{
- $(document.activeElement).blur();
-
- //console.log("window_mousemove: inFullScreen = True");
- //console.log(e);
-
- //if (divTwcLeft.css("visibility") != "")
- //{
- // divTwcLeft.css("visibility", "");
- // divTwcLeft.css("opacity", "0.0");
- // divTwcLeft.animate({ opacity: 1.0 }, 1000);
- // //divTwcLeft.fadeIn();
- //}
- //$("body").css("cursor", "");
- $("body").removeClass("HideCursor");
- $(iframeTwc[0].contentWindow.document).find("body").removeClass("HideCursor");
- divTwcLeft.fadeIn2();
- divTwcRight.fadeIn2();
- divTwcBottom.fadeIn2();
-
- //divTwcRight.fadeIn();
-
- if (_NavigateFadeIntervalId)
- {
- window.clearTimeout(_NavigateFadeIntervalId);
- _NavigateFadeIntervalId = null;
- }
-
- _NavigateFadeIntervalId = window.setTimeout(function ()
- {
- //console.log("window_mousemove: TimeOut");
- var inFullScreen = InFullScreen();
- //alert(inFullScreen)
-
- if (inFullScreen == true)
- {
- //$("body").css("cursor", "none !important");
- $("body").addClass("HideCursor");
- //$(iframeTwc[0].contentWindow).css("cursor", "none !important");
- $(iframeTwc[0].contentWindow.document).find("body").addClass("HideCursor");
-
- //divTwcLeft.css("visibility", "");
- //divTwcLeft.animate({ opacity: 0.0 }, 1000, function ()
- //{
- // divTwcLeft.css("visibility", "hidden");
- //});
- divTwcLeft.fadeOut2();
- divTwcRight.fadeOut2();
- divTwcBottom.fadeOut2();
- }
-
- //divTwcRight.fadeOut();
- }, 2000);
-};
-
-var document_mousemove = function (e)
-{
- var inFullScreen = InFullScreen();
- //alert("document_mousemove")
-
- //console.log(e.originalEvent.buttons);
- if (inFullScreen == true)
- {
- if ((e.originalEvent.movementX == 0 && e.originalEvent.movementY == 0 && e.originalEvent.buttons == 0))
- {
- return;
- }
-
- UpdateFullScreenNavigate();
- }
-};
-
-var document_keydown = function (e)
-{
- //if (_AllowKeyDown == false)
- //{
- // return;
- //}
- //_AllowKeyDown = false;
-
- //window.setTimeout(function ()
- //{
- // _AllowKeyDown = true;
- //}, 500);
-
- var inFullScreen = InFullScreen();
- var code = (e.keyCode || e.which);
-
- if (inFullScreen == true || document.activeElement == document.body)
- {
- switch (code)
- {
- case 32: // Space
- btnNavigatePlay_click();
- return false;
- break;
-
- case 39: // Right Arrow
- case 34: // Page Down
- btnNavigateNext_click();
- return false;
- break;
-
- case 37: // Left Arrow
- case 33: // Page Up
- btnNavigatePrevious_click();
- return false;
- break;
-
- case 36: // Home
- btnNavigateMenu_click();
- return false;
- break;
-
- case 48: // Restart
- btnNavigateRefresh_click();
- return false;
- break;
-
- case 77: // M
- btnAudioPlay_click();
- return false;
- break;
-
- case 78: // N
- btnNarrationPlay_click();
- return false;
- break;
-
- case 70: // F
- btnFullScreen_click();
- return false;
- break;
-
- }
- }
-};
-
-$.fn.fadeIn2 = function ()
-{
- var _self = this;
- var opacity = 0.0;
- var IntervalId = null;
-
- if (_self.css("opacity") != "0")
- {
- return;
- }
-
- //_self.css("visibility", "");
- _self.css("visibility", "visible");
- _self.css("opacity", "0.0");
-
- IntervalId = window.setInterval(function ()
- {
- opacity += 0.1;
- opacity = Math.round2(opacity, 1);
- _self.css("opacity", opacity.toString());
-
- if (opacity == 1.0)
- {
- //_self.css("visibility", "");
- _self.css("visibility", "visible");
- window.clearInterval(IntervalId);
- }
- }, 50);
-
- return _self;
-};
-
-$.fn.fadeOut2 = function ()
-{
- var _self = this;
- var opacity = 1.0;
- var IntervalId = null;
-
- if (_self.css("opacity") != "1")
- {
- return;
- }
-
- //_self.css("visibility", "");
- _self.css("visibility", "visible");
- _self.css("opacity", "1.0");
-
- IntervalId = window.setInterval(function ()
- {
- opacity -= 0.2;
- opacity = Math.round2(opacity, 1);
- _self.css("opacity", opacity.toString());
-
- if (opacity == 0)
- {
- _self.css("visibility", "hidden");
- window.clearInterval(IntervalId);
- }
- }, 50);
-
- return _self;
-};
-
-Math.round2 = function (value, decimals)
-{
- return Number(Math.round(value + 'e' + decimals) + 'e-' + decimals);
-}
-
-var btnNavigatePlay_click = function ()
-{
- iframeTwc[0].contentWindow.NavigatePlayToggle();
- UpdateFullScreenNavigate();
-
- //if (iframeTwc[0].contentWindow.IsPlaying() == true)
- //{
- // _NoSleep.enable();
-
- // $("img[src='images/nav/ic_play_arrow_white_24dp_1x.png']").attr("title", "Pause");
- // $("img[src='images/nav/ic_play_arrow_white_24dp_1x.png']").attr("src", "images/nav/ic_pause_white_24dp_1x.png");
- // $("img[src='images/nav/ic_play_arrow_white_24dp_2x.png']").attr("title", "Pause");
- // $("img[src='images/nav/ic_play_arrow_white_24dp_2x.png']").attr("src", "images/nav/ic_pause_white_24dp_2x.png");
- //}
- //else
- //{
- // _NoSleep.disable();
-
- // $("img[src='images/nav/ic_pause_white_24dp_1x.png']").attr("title", "Play");
- // $("img[src='images/nav/ic_pause_white_24dp_1x.png']").attr("src", "images/nav/ic_play_arrow_white_24dp_1x.png");
- // $("img[src='images/nav/ic_pause_white_24dp_2x.png']").attr("title", "Play");
- // $("img[src='images/nav/ic_pause_white_24dp_2x.png']").attr("src", "images/nav/ic_play_arrow_white_24dp_2x.png");
- //}
-
- return false;
-};
-
-var btnAudioPlay_click = function ()
-{
- iframeTwc[0].contentWindow.AudioPlayToggle();
- UpdateFullScreenNavigate();
-
- return false;
-};
-
-var btnNarrationPlay_click = function ()
-{
- iframeTwc[0].contentWindow.NarrationPlayToggle();
- UpdateFullScreenNavigate();
-
- return false;
-};
-
-$(function ()
-{
- _WindowHeight = $(window).height();
- _WindowWidth = $(window).width();
-
- frmGetLatLng = $("#frmGetLatLng");
- txtAddress = $("#txtAddress");
- btnGetLatLng = $("#btnGetLatLng");
- btnClearQuery = $("#btnClearQuery");
- btnGetGps = $("#btnGetGps");
-
- divLat = $("#divLat");
- spanLat = $("#spanLat");
- divLng = $("#divLng");
- spanLng = $("#spanLng");
-
- iframeTwc = $("#iframeTwc");
- btnFullScreen = $("#btnFullScreen");
- divTwc = $("#divTwc");
- divTwcTop = $("#divTwcTop");
- divTwcMiddle = $("#divTwcMiddle");
- divTwcBottom = $("#divTwcBottom");
- divTwcLeft = $("#divTwcLeft");
- divTwcRight = $("#divTwcRight");
- divTwcNav = $("#divTwcNav");
- divTwcNavContainer = $("#divTwcNavContainer");
- divTwcBottomLeft = $("#divTwcBottomLeft");
- divTwcBottomMiddle = $("#divTwcBottomMiddle");
- divTwcBottomRight = $("#divTwcBottomRight");
-
- radScrollDefault = $("#radScrollDefault");
- radScrollDefault.on("change", radScroll_change);
-
- frmScrollText = $("#frmScrollText");
- radScrollText = $("#radScrollText");
- txtScrollText = $("#txtScrollText");
- btnScrollText = $("#btnScrollText");
-
- frmScrollText.on("submit", frmScrollText_submit);
- txtScrollText.on("focus", function ()
- {
- txtScrollText.select();
- });
- radScrollText.on("change", radScroll_change);
-
- frmScrollRss = $("#frmScrollRss");
- radScrollRss = $("#radScrollRss");
- txtScrollRss = $("#txtScrollRss");
- btnScrollRss = $("#btnScrollRss");
-
- frmScrollRss.on("submit", frmScrollRss_submit);
- txtScrollRss.on("focus", function ()
- {
- txtScrollRss.select();
- });
- radScrollRss.on("change", radScroll_change);
-
- txtAddress.on("focus", function ()
- {
- txtAddress.select();
- });
-
- txtAddress.focus();
-
- $(".NavigateMenu").on("click", btnNavigateMenu_click);
- $(".NavigateRefresh").on("click", btnNavigateRefresh_click);
- $(".NavigateNext").on("click", btnNavigateNext_click);
- $(".NavigatePrevious").on("click", btnNavigatePrevious_click);
- $(".NavigatePlay").on("click", btnNavigatePlay_click);
-
- $(".ToggleVolume").on("click", btnAudioPlay_click);
-
- $(".ToggleNarration").on("click", btnNarrationPlay_click);
-
- $(btnGetGps).on("click", btnGetGps_click);
-
- if (inIframe())
- {
- $(document.body).css("margin", "0 0 0 0")
- .css("transform-origin", "top left")
- .css("width", "640px");
-
- $("#divGitHub").hide();
- $("#divInfo").hide();
- $("#divRefresh").hide();
- $("#divUnits").hide();
- $("#divThemes").hide();
- $("#divScrollText").hide();
- }
-
- //$(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange', OnFullScreen);
- $(window).on("resize", OnFullScreen);
- $(window).on("resize", window_resize);
- $(window).on("orientationchange", FullScreenResize);
- $(document).on("mousemove", document_mousemove);
- $(document).on("mousedown", document_mousemove);
- divTwc.on("mousedown", document_mousemove);
- $(document).on("keydown", document_keydown);
- document.addEventListener("touchmove", function (e) { if (_FullScreenOverride == true) e.preventDefault() });
- //$(document).on("keypress", document_keydown);
- $(".ToggleFullScreen").on("click", btnFullScreen_click);
- FullScreenResize();
-
- //var AutoSelectQuery = false;
-
- var categories = [
- 'Land Features',
- 'Bay', 'Channel', 'Cove', 'Dam', 'Delta', 'Gulf', 'Lagoon', 'Lake', 'Ocean', 'Reef', 'Reservoir', 'Sea', 'Sound', 'Strait', 'Waterfall', 'Wharf', // Water Features
- 'Amusement Park', 'Historical Monument', 'Landmark', 'Tourist Attraction', 'Zoo', // POI/Arts and Entertainment
- 'College', // POI/Education
- 'Beach', 'Campground', 'Golf Course', 'Harbor', 'Nature Reserve', 'Other Parks and Outdoors', 'Park', 'Racetrack',
- 'Scenic Overlook', 'Ski Resort', 'Sports Center', 'Sports Field', 'Wildlife Reserve', // POI/Parks and Outdoors
- 'Airport', 'Ferry', 'Marina', 'Pier', 'Port', 'Resort', // POI/Travel
- 'Postal', 'Populated Place'
- ],
- cats = categories.join(','),
- overrides = {
- '08736, Manasquan, New Jersey, USA': { x: -74.037, y: 40.1128 },
- '32899, Orlando, Florida, USA': { x: -80.6774, y: 28.6143 },
- '97003, Beaverton, Oregon, USA': { x: -122.8752489, y: 45.5050916 },
- '99734, Prudhoe Bay, Alaska, USA': { x: -148.3372, y: 70.2552 },
-
- 'Guam, Oceania': { x: 144.74, y: 13.46 },
- 'Andover, Maine, United States': { x: -70.7525, y: 44.634167 },
- 'Bear Creek, Pennsylvania, United States': { x: -75.772809, y: 41.204074 },
- 'Bear Creek Village, Pennsylvania, United States': { x: -75.772809, y: 41.204074 },
- 'New York City, New York, United States': { x: -74.0059, y: 40.7142 },
- 'Pinnacles National Monument, San Benito County,California, United States': { x: -121.147278, y: 36.47075 },
- 'Pinnacles National Park, CA-146, Paicines, California': { x: -121.147278, y: 36.47075 },
- 'Welcome, Maryland, United States': { x: -77.081212, y: 38.4692469 },
- 'Tampa, Florida, United States (City)': { x: -82.5329, y: 27.9756 },
- 'San Francisco, California, United States': { x: -122.3758, y: 37.6188 },
- //'Dayton, Ohio, United States (City)': { x: -84.05, y: 39.85 },
- },
- roundToPlaces = function (num, decimals)
- {
- var n = Math.pow(10, decimals);
- return Math.round((n * num).toFixed(decimals)) / n;
- },
- doRedirectToGeometry = function (geom)
- {
- var location = window.location,
- query = '?lat=' + roundToPlaces(geom.y, 4) + '&lon=' + roundToPlaces(geom.x, 4),
- origin, domain;
- var Url = "";
-
- if (location.pathname.match(/MapClick.php$/))
- {
- if (location.origin)
- {
- origin = location.origin;
- } else
- {
- origin = location.protocol + "//" + location.hostname + (location.port ? ':' + location.port : '');
- }
- //window.location = origin + location.pathname + query;
- Url = origin + location.pathname + query;
- }
- else
- {
- if (location.hostname.match(/dev\.nids\.noaa\.gov$/))
- {
- domain = 'forecast.dev.nids.noaa.gov';
- } else if (location.hostname.match(/preview.*\.weather\.gov$/))
- {
- domain = 'preview-forecast.weather.gov';
- } else
- {
- domain = 'forecast.weather.gov';
- }
- //window.location = location.protocol + '//' + domain + '/MapClick.php' + query;
- //Url = location.protocol + '//' + domain + '/MapClick.php' + query;
- Url = 'https://' + domain + '/MapClick.php' + query;
- }
- Url = "cors/?u=" + encodeURIComponent(Url);
-
- //GetLatLng(Url);
-
- //// First clear the iframe
- //iframeTwc.on("load", function (e)
- //{
- // //console.log("loaded...");
-
- // switch (iframeTwc.attr("src"))
- // {
- // case "about:blank":
- // iframeTwc.attr("src", "twc3.html?_=" + (new Date).getTime().toString());
- // //iframeTwc.attr("src", "twc3.html?a");
- // break;
-
- // //case "twc3.html":
- // default:
- // iframeTwc.off("load");
- // iframeTwc[0].contentWindow.GetLatLng(Url);
- // break;
- // }
- //});
- //iframeTwc.attr("src", "about:blank");
- LoadTwcData(Url);
-
- // Save the query
- localStorage.setItem("TwcQuery", txtAddress.val());
- localStorage.setItem("TwcLatLon", JSON.stringify(geom))
- };
-
- var PreviousSeggestionValue = null;
- var PreviousSeggestion = null;
- var OnSelect = function (suggestion)
- {
- var request;
-
- // Do not auto get the same city twice.
- if (PreviousSeggestionValue == suggestion.value)
- {
- return;
- }
- PreviousSeggestionValue = suggestion.value;
- PreviousSeggestion = suggestion;
-
- if (overrides[suggestion.value])
- {
- doRedirectToGeometry(overrides[suggestion.value]);
- }
- else
- {
- request = $.ajax({
- url: location.protocol + '//geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/find',
- data: {
- text: suggestion.value,
- magicKey: suggestion.data,
- f: 'json'
- },
- jsonp: 'callback',
- dataType: 'jsonp'
- });
- request.done(function (data)
- {
- var loc = data.locations[0];
- if (loc)
- {
- doRedirectToGeometry(loc.feature.geometry);
- }
- else
- {
- alert('An unexpected error occurred. Please try a different search string.');
- }
- });
- }
- };
-
- $("#frmGetLatLng #txtAddress").devbridgeAutocomplete({
- serviceUrl: location.protocol + '//geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/suggest',
- deferRequestBy: 300,
- paramName: 'text',
- params: {
- f: 'json',
- countryCode: 'USA', //'USA,PRI,VIR,GUM,ASM',
- category: cats,
- maxSuggestions: 10
- },
- dataType: 'jsonp',
- transformResult: function (response)
- {
- if (_AutoSelectQuery == true)
- {
- _AutoSelectQuery = false;
- window.setTimeout(function ()
- {
- $(ac.suggestionsContainer.children[0]).click();
- }, 1);
- }
- return {
- suggestions: $.map(response.suggestions, function (i)
- {
- return {
- value: i.text,
- data: i.magicKey
- };
- })
- };
- },
- minChars: 3,
- showNoSuggestionNotice: true,
- noSuggestionNotice: 'No results found. Please try a different search string.',
- onSelect: OnSelect,
- //width: 400
- width: 492,
- onSearchComplete: function (query, suggestions)
- {
- var $input = $(this);
- var scaleFactor = getBodyScaleValue(); // Scale factor
- var inputOffset = $input.offset();
- var newTop = (inputOffset.top + $input.outerHeight()) / scaleFactor;
- var newLeft = inputOffset.left / scaleFactor;
-
- // Apply the new position
- $('.autocomplete-suggestions').css({ top: newTop + 'px', left: newLeft + 'px' });
- }
- });
-
- var ac = $("#frmGetLatLng #txtAddress").devbridgeAutocomplete();
- frmGetLatLng.submit(function ()
- {
- if (ac.suggestions[0])
- {
- $(ac.suggestionsContainer.children[0]).click();
- return false;
- //PreviousSeggestion = ac.suggestions[0];
- }
- if (PreviousSeggestion)
- {
- PreviousSeggestionValue = null;
- OnSelect(PreviousSeggestion);
- }
-
- return false;
- });
-
- // Auto load the previous query
- var TwcQuery = localStorage.getItem("TwcQuery");
- var TwcLatLon = localStorage.getItem("TwcLatLon");
-
- var TwcQueryStr = getParameterByName("location");
- if (TwcQueryStr)
- {
- console.log(TwcQueryStr);
- TwcQuery = TwcQueryStr;
- TwcLatLon = undefined;
- }
-
- if (TwcQuery)
- {
- // Remove "(...)"
- TwcQuery = TwcQuery.replace(/ *\([^)]*\) */g, "");
- }
- spanLastRefresh = $("#spanLastRefresh");
- if (TwcQuery)
- {
- txtAddress.val(TwcQuery);
- if (TwcLatLon)
- {
- doRedirectToGeometry(JSON.parse(TwcLatLon));
-
- } else
- {
- _AutoSelectQuery = true;
- txtAddress.blur();
- txtAddress.focus();
- }
- }
-
- var TwcPlay = localStorage.getItem("TwcPlay");
- if (!TwcPlay || TwcPlay == "true")
- {
- _IsPlaying = true;
- }
-
- var TwcAudioPlay = localStorage.getItem("TwcAudioPlay");
- if (!TwcAudioPlay || TwcAudioPlay == "true")
- {
- _IsAudioPlaying = true;
- }
-
- var TwcNarrationPlay = localStorage.getItem("TwcNarrationPlay");
- if (TwcNarrationPlay == "true")
- {
- _IsNarrationPlaying = true;
- }
-
- radScrollDefault.prop("checked", "");
- radScrollText.prop("checked", "");
- radScrollRss.prop("checked", "");
-
- var TwcScrollText = localStorage.getItem("TwcScrollText");
- if (TwcScrollText)
- {
- txtScrollText.val(TwcScrollText);
- }
-
- var TwcScrollRss = localStorage.getItem("TwcScrollRss");
- if (TwcScrollRss)
- {
- txtScrollRss.val(TwcScrollRss);
- }
-
- var TwcScrollChecked = localStorage.getItem("TwcScrollChecked");
- if (TwcScrollChecked)
- {
- $("#" + TwcScrollChecked).prop("checked", "checked");
- }
- else
- {
- radScrollDefault.prop("checked", "checked");
- }
-
- radScroll_change();
-
- btnClearQuery.on("click", function ()
- {
- spanCity.text("");
- spanState.text("");
- spanStationId.text("");
- spanRadarId.text("");
- spanZoneId.text("");
-
- radScrollDefault.prop("checked", "checked");
-
- radScrollText.prop("checked", "");
- txtScrollText.val("");
-
- radScrollRss.prop("checked", "");
- txtScrollRss.val("");
-
- radScroll_change();
-
- localStorage.removeItem("TwcScrollText");
- localStorage.removeItem("TwcScrollTextChecked");
-
- chkScrollHazardText.prop("checked", "");
- localStorage.removeItem("TwcScrollHazardText");
-
- chkAutoRefresh.prop("checked", "checked");
- localStorage.removeItem("TwcAutoRefresh");
-
- $("#radEnglish").prop("checked", "checked");
- localStorage.removeItem("TwcUnits");
-
- $("#radThemeA").prop("checked", "checked");
- AssignThemes({ Themes: "THEMEA" });
- localStorage.removeItem("TwcThemes");
-
- TwcCallBack({ Status: "ISNARRATIONPLAYING", Value: false });
- localStorage.removeItem("TwcNarrationPlay");
- _IsNarrationPlaying = false;
-
- TwcCallBack({ Status: "ISAUDIOPLAYING", Value: false });
- localStorage.removeItem("TwcAudioPlay");
- _IsAudioPlaying = true;
-
- TwcCallBack({ Status: "ISPLAYING", Value: false });
- localStorage.removeItem("TwcPlay");
- _IsPlaying = true;
-
- localStorage.removeItem("TwcQuery");
- localStorage.removeItem("TwcLatLon");
- PreviousSeggestionValue = null;
- PreviousSeggestion = null;
-
- LoadTwcData("");
- });
-
- var TwcUnits = localStorage.getItem("TwcUnits");
- if (!TwcUnits || TwcUnits == "ENGLISH")
- {
- $("#radEnglish").prop("checked", "checked");
- }
- else if (TwcUnits == "METRIC")
- {
- $("#radMetric").prop("checked", "checked");
- }
-
- var TwcThemes = localStorage.getItem("TwcThemes");
- if (!TwcThemes || TwcThemes == "THEMEA")
- {
- $("#radThemeA").prop("checked", "checked");
- }
- else if (TwcThemes == "THEMEB")
- {
- $("#radThemeB").prop("checked", "checked");
- }
- else if (TwcThemes == "THEMEC")
- {
- $("#radThemeC").prop("checked", "checked");
- }
- else if (TwcThemes == "THEMED")
- {
- $("#radThemeD").prop("checked", "checked");
- }
- AssignThemes({ Themes: TwcThemes });
-
- $("input[type='radio'][name='radUnits']").on("change", function ()
- {
- var Units = $(this).val();
- localStorage.setItem("TwcUnits", Units);
- AssignLastUpdate();
- iframeTwc[0].contentWindow.AssignUnits({ Units: Units });
- });
-
- $("input[type='radio'][name='radThemes']").on("change", function ()
- {
- var Themes = $(this).val();
- localStorage.setItem("TwcThemes", Themes);
- AssignThemes({ Themes: Themes });
- iframeTwc[0].contentWindow.AssignThemes({ Themes: Themes });
- });
-
- divRefresh = $("#divRefresh");
- chkAutoRefresh = $("#chkAutoRefresh");
- lblRefreshCountDown = $("#lblRefreshCountDown");
- spanRefreshCountDown = $("#spanRefreshCountDown");
-
- chkAutoRefresh.on("change", function ()
- {
- var Checked = $(this).is(":checked");
-
- if (_LastUpdate)
- {
- if (Checked == true)
- {
- StartAutoRefreshTimer();
- }
- else
- {
- StopAutoRefreshTimer();
- }
- }
-
- localStorage.setItem("TwcAutoRefresh", Checked);
- });
-
- var TwcAutoRefresh = localStorage.getItem("TwcAutoRefresh");
- if (!TwcAutoRefresh || TwcAutoRefresh == "true")
- {
- chkAutoRefresh.prop("checked", "checked");
- }
- else
- {
- chkAutoRefresh.prop("checked", "");
- }
-
- spanCity = $("#spanCity");
- spanState = $("#spanState");
- spanStationId = $("#spanStationId");
- spanRadarId = $("#spanRadarId");
- spanZoneId = $("#spanZoneId");
-
- chkScrollHazardText = $("#chkScrollHazardText");
- chkScrollHazardText.on("change", function ()
- {
- var Checked = $(this).is(":checked");
-
- ScrollHazardText(Checked);
-
- localStorage.setItem("TwcScrollHazardText", Checked);
- });
-
- var TwcScrollHazardText = localStorage.getItem("TwcScrollHazardText");
- if (TwcScrollHazardText && TwcScrollHazardText == "true")
- {
- chkScrollHazardText.prop("checked", "checked");
- }
- else
- {
- chkScrollHazardText.prop("checked", "");
- }
-
-});
-
-var ScrollHazardText = function (enable)
-{
- if (iframeTwc[0].contentWindow.ScrollHazardText)
- {
- iframeTwc[0].contentWindow.ScrollHazardText(enable);
- }
-};
-
-var StartAutoRefreshTimer = function ()
-{
- //// Esnure that any previous timer has already stopped.
- //StopAutoRefreshTimer();
- if (_AutoRefreshIntervalId)
- {
- // Timer is already running.
- return;
- }
-
- // Reset the time elapsed.
- _AutoRefreshCountMs = 0;
-
- var AutoRefreshTimer = function ()
- {
- // Increment the total time elapsed.
- _AutoRefreshCountMs += _AutoRefreshIntervalMs;
-
- // Display the count down.
- var RemainingMs = (_AutoRefreshTotalIntervalMs - _AutoRefreshCountMs);
- if (RemainingMs < 0)
- {
- RemainingMs = 0;
- }
- var dt = new Date(RemainingMs);
- spanRefreshCountDown.html((dt.getMinutes() < 10 ? "0" + dt.getMinutes() : dt.getMinutes()) + ":" + (dt.getSeconds() < 10 ? "0" + dt.getSeconds() : dt.getSeconds()));
-
- if (_AutoRefreshCountMs >= _AutoRefreshTotalIntervalMs)
- {
- // Time has elapsed.
- LoadTwcData(_TwcDataUrl, true);
- }
- };
- _AutoRefreshIntervalId = window.setInterval(AutoRefreshTimer, _AutoRefreshIntervalMs);
- AutoRefreshTimer();
-};
-var StopAutoRefreshTimer = function ()
-{
- if (_AutoRefreshIntervalId)
- {
- window.clearInterval(_AutoRefreshIntervalId);
- spanRefreshCountDown.html("--:--");
- _AutoRefreshIntervalId = null;
- }
-};
-
-var btnGetGps_click = function ()
-{
- if (!navigator.geolocation)
- {
- return;
- }
-
- var CurrentPosition = function (Position)
- {
- var Latitude = Position.coords.latitude;
- var Longitude = Position.coords.longitude;
- //Latitude = 40.7754622; Longitude = -73.2411506;
-
- console.log("Latitude: " + Latitude + "; Longitude: " + Longitude);
-
- //http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/reverseGeocode?location=-72.971293%2C+40.850043&f=pjson
- request = $.ajax({
- url: location.protocol + '//geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/reverseGeocode',
- data: {
- location: Longitude + "," + Latitude,
- distance: 1000, // Find location upto 1 KM.
- f: 'json'
- },
- jsonp: 'callback',
- dataType: 'jsonp'
- });
- request.done(function (data)
- {
- console.log(data);
-
- var ZipCode = data.address.Postal;
- var City = data.address.City;
- var State = getStateTwoDigitCode(data.address.Region);
- var Country = data.address.CountryCode;
- var TwcQuery = ZipCode + ", " + City + ", " + State + ", " + Country;
- //var Url = "http://forecast.weather.gov/MapClick.php?lat=" + Latitude + "&lon=" + Longitude;
-
- txtAddress.val(TwcQuery);
- txtAddress.blur();
- txtAddress.focus();
-
- // Save the query
- localStorage.setItem("TwcQuery", TwcQuery);
-
- //LoadTwcData(Url);
- });
-
- };
-
- navigator.geolocation.getCurrentPosition(CurrentPosition);
-};
-
-var PopulateWeatherParameters = function ()
-{
- spanCity.text(_WeatherParameters.City + ", ");
- spanState.text(_WeatherParameters.State);
- spanStationId.text(_WeatherParameters.StationId);
- spanRadarId.text(_WeatherParameters.RadarId);
- spanZoneId.text(_WeatherParameters.ZoneId);
-};
-
-var frmScrollText_submit = function (e)
-{
- radScroll_change();
-
- return false;
-};
-
-var frmScrollRss_submit = function (e)
-{
- radScroll_change();
-
- return false;
-};
-
-var radScroll_change = function (e)
-{
- txtScrollText.blur();
- txtScrollText.addClass("Disabled");
- btnScrollText.addClass("Disabled");
-
- txtScrollRss.blur();
- txtScrollRss.addClass("Disabled");
- btnScrollRss.addClass("Disabled");
-
- var ScrollCheckedId = $("input[name='radScroll']:checked").attr("id");
- localStorage.setItem("TwcScrollChecked", ScrollCheckedId);
-
- switch (ScrollCheckedId)
- {
- case "radScrollDefault":
- AssignScrollText(null);
- break;
-
- case "radScrollText":
- txtScrollText.removeClass("Disabled");
- btnScrollText.removeClass("Disabled");
-
- var ScrollText = txtScrollText.val();
- localStorage.setItem("TwcScrollText", ScrollText);
-
- AssignScrollText({ ScrollText: ScrollText });
- break;
-
- case "radScrollRss":
- txtScrollRss.removeClass("Disabled");
- btnScrollRss.removeClass("Disabled");
-
- var ScrollRss = txtScrollRss.val();
- localStorage.setItem("TwcScrollRss", ScrollRss);
-
- AssignScrollText({ ScrollRss: ScrollRss });
- break;
-
- }
-};
-
-var AssignScrollText = function (e)
-{
- if (iframeTwc[0].contentWindow.AssignScrollText)
- {
- iframeTwc[0].contentWindow.AssignScrollText(e);
- }
-};
-
-var getParameterByName = function (name, url)
-{
- if (!url) url = window.location.href;
- url = decodeURIComponent(url);
- name = name.replace(/[\[\]]/g, "\\$&");
- var regex = new RegExp("[?&]" + name + "(=([^]*)|&|#|$)"),
- results = regex.exec(url);
- if (!results) return null;
- if (!results[2]) return '';
- return decodeURIComponent(results[2].replace(/\+/g, " "));
-};
-
-var inIframe = function ()
-{
- try
- {
- return window.self !== window.top;
- }
- catch (e)
- {
- return true;
- }
-};
-
-var getBodyScaleValue = function ()
-{
- var transformValue = $(document.body).css('transform');
- var scaleArray = transformValue.split(',');
- var scaleValue = parseFloat(scaleArray[scaleArray.length - 3]);
- return scaleValue;
-};
+///
+///
+
+// Redirect user to SSL version of site.
+if (location.protocol != "https:" && location.href.indexOf("localhost") == -1 && location.href.indexOf("192.") == -1)
+{
+ location.href = location.href.replace("http:", "https:");
+}
+
+var frmGetLatLng;
+var txtAddress;
+var btnGetLatLng;
+var btnClearQuery;
+var btnGetGps;
+var divLat;
+var spanLat;
+var divLng;
+var spanLng;
+
+var divTwc;
+var divTwcTop;
+var divTwcMiddle;
+var divTwcBottom;
+var divTwcLeft;
+var divTwcRight;
+var divTwcNavContainer;
+var divTwcNav;
+var iframeTwc;
+var btnFullScreen;
+var divTwcBottomLeft;
+var divTwcBottomMiddle;
+var divTwcBottomRight;
+
+var divRefresh;
+var spanLastRefresh;
+var chkAutoRefresh;
+var lblRefreshCountDown;
+var spanRefreshCountDown;
+
+var spanCity;
+var spanState;
+var spanStationId;
+var spanRadarId;
+var spanZoneId;
+
+var radScrollDefault;
+
+var frmScrollText;
+var radScrollText;
+var txtScrollText;
+var btnScrollText;
+
+var frmScrollRss;
+var radScrollRss;
+var txtScrollRss;
+var btnScrollRss;
+
+var chkScrollHazardText;
+
+//var _InFullScreen = false;
+var _AutoSelectQuery = false;
+var _TwcDataUrl = "";
+var _IsPlaying = false;
+
+var _NoSleep = new NoSleep();
+
+var _LastUpdate = null;
+var _AutoRefreshIntervalId = null;
+var _AutoRefreshIntervalMs = 500;
+//var _AutoRefreshTotalIntervalMs = 10000; // 10 sec.
+//var _AutoRefreshTotalIntervalMs = 300000; // 5 min.
+var _AutoRefreshTotalIntervalMs = 600000; // 10 min.
+var _AutoRefreshCountMs = 0;
+
+var _IsAudioPlaying = false;
+var _IsBeepPlaying = false;
+
+var _IsNarrationPlaying = false;
+
+var _FullScreenOverride = false;
+
+var _WeatherParameters = null;
+
+var _WindowHeight = 0;
+var _WindowWidth = 0;
+
+var _AllowKeyDown = true;
+
+var _canvasIds = [
+ "canvasProgress",
+ "canvasCurrentWeather",
+ "canvasLatestObservations",
+ "canvasTravelForecast",
+ "canvasRegionalForecast1",
+ "canvasRegionalForecast2",
+ "canvasRegionalObservations",
+ "canvasLocalForecast",
+ "canvasExtendedForecast1",
+ "canvasExtendedForecast2",
+ "canvasAlmanac",
+ "canvasAlmanacTides",
+ "canvasOutlook",
+ "canvasMarineForecast",
+ "canvasAirQuality",
+ "canvasLocalRadar",
+ "canvasHazards"
+];
+
+var OperatingSystems = {
+ Unknown: 0,
+ Windows: 1,
+ MacOS: 2,
+ Linux: 3,
+ Unix: 4,
+ iOS: 5,
+ Andriod: 6,
+ WindowsPhone: 7,
+};
+_OperatingSystem = OperatingSystems.Unknown;
+var _UserAgent = window.navigator.userAgent;
+if (_UserAgent.indexOf("Win") != -1) _OperatingSystem = OperatingSystems.Windows;
+if (_UserAgent.indexOf("Mac") != -1) _OperatingSystem = OperatingSystems.MacOS;
+if (_UserAgent.indexOf("X11") != -1) _OperatingSystem = OperatingSystems.Unix;
+if (_UserAgent.indexOf("Linux") != -1) _OperatingSystem = OperatingSystems.Linux;
+if (_UserAgent.indexOf("iPad") != -1) _OperatingSystem = OperatingSystems.iOS;
+if (_UserAgent.indexOf("iPhone") != -1) _OperatingSystem = OperatingSystems.iOS;
+if (_UserAgent.indexOf("iPod") != -1) _OperatingSystem = OperatingSystems.iOS;
+if (_UserAgent.toLowerCase().indexOf("android") != -1) _OperatingSystem = OperatingSystems.Andriod;
+if (_UserAgent.indexOf("Windows Phone") != -1) _OperatingSystem = OperatingSystems.WindowsPhone;
+
+var FullScreenResize = function (AutoRefresh)
+{
+ var iframeDoc = $(iframeTwc[0].contentWindow.document);
+ var WindowWidth = $(window).width();
+ var WindowHeight = $(window).height();
+ var NewWidth;
+ var NewHeight;
+ var IFrameWidth;
+ var IFrameHeight;
+ var LeftWidth;
+ var LeftHeight;
+ var RightWidth;
+ var RightHeight;
+ var TopHeight;
+ var TopWidth;
+ var BottomHeight;
+ var BottomWidth;
+ var Offset;
+ var inFullScreen = InFullScreen();
+
+ if (inFullScreen == true)
+ {
+ //if (WindowWidth > WindowHeight)
+ //if (WindowWidth > 850)
+ //if (WindowWidth > 0)
+ //if (WindowWidth > 640)
+ if ((WindowWidth / WindowHeight) >= 1.583333333333333) // = 640 (TWC Width) + 48 (Icon min width on left side) + 12 (left padding) + 48 (Right icons) + 12 (right padding) / 480 (TWC Height)
+ {
+ NewHeight = WindowHeight + "px";
+ NewWidth = "";
+ divTwcTop.hide();
+ divTwcBottom.hide();
+ divTwcLeft.show();
+ divTwcRight.show();
+
+ divTwcMiddle.attr("style", "width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+
+ //IFrameWidth = (WindowHeight * 1.33333333333333333333);
+ //iframeTwc.attr("style", "width:" + IFrameWidth + "px; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+
+ //LeftWidth = ((((WindowHeight * 16) / 9) - (WindowHeight * 1.25)) / 2) + "px";
+ LeftWidth = ((WindowWidth - (WindowHeight * 1.33333333333333333333)) / 2);
+ if (LeftWidth < 60)
+ {
+ LeftWidth = 60;
+ }
+ divTwcLeft.find("div>div>a>img").css("width", "");
+ //divTwcLeft.find(">div").css("padding-right", "12px").css("padding-left", "");
+ divTwcLeft.attr("style", "width:" + LeftWidth + "px; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+ divTwcLeft.css("visibility", "visible");
+ divTwcLeft.css("opacity", "1");
+ if (AutoRefresh === true)
+ {
+ divTwcLeft.css("opacity", "0");
+ divTwcLeft.css("visibility", "hidden");
+ }
+ divTwcLeft.css("position", "");
+
+ //RightWidth = ((((WindowHeight * 16) / 9) - (WindowHeight * 1.25)) / 2) + "px";
+ RightWidth = ((WindowWidth - (WindowHeight * 1.33333333333333333333)) / 2);
+ if (RightWidth < 60)
+ {
+ RightWidth = 60;
+ }
+ divTwcRight.find("div>div>a>img").css("width", "");
+ //divTwcRight.find(">div").css("padding-left", "12px").css("padding-right", "");
+ divTwcRight.attr("style", "width:" + RightWidth + "px; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+ divTwcRight.css("visibility", "visible");
+ divTwcRight.css("opacity", "1");
+ if (AutoRefresh === true)
+ {
+ divTwcRight.css("opacity", "0");
+ divTwcRight.css("visibility", "hidden");
+ }
+ divTwcRight.css("position", "");
+
+ IFrameWidth = WindowWidth - LeftWidth - RightWidth;
+ NewWidth = IFrameWidth + "px";
+ iframeTwc.attr("style", "width:" + IFrameWidth + "px; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+
+ //console.log(WindowWidth);
+ }
+ else
+ {
+ NewHeight = "";
+ NewWidth = WindowWidth + "px";
+ divTwcTop.show();
+ divTwcBottom.show();
+
+ //divTwcLeft.hide();
+ //divTwcRight.hide();
+ //Offset = 400;
+ Offset = 0;
+
+ //IFrameHeight = ((WindowWidth - Offset) * 0.75) + "px";
+ //iframeTwc.attr("style", "width:100%; height:" + IFrameHeight + "; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+ //divTwcMiddle.attr("style", "width:100%; height:" + IFrameHeight + "; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+
+ TopHeight = ((WindowHeight - ((WindowWidth - Offset) * 0.75)) / 2);
+ if (TopHeight < 0)
+ {
+ TopHeight = 0;
+ }
+ divTwcTop.attr("style", "width:100%; height:" + TopHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+
+ BottomHeight = ((WindowHeight - ((WindowWidth - Offset) * 0.75)) / 2);
+ if (BottomHeight < 30)
+ {
+ //BottomHeight = 30;
+ BottomHeight = 0;
+ }
+ divTwcBottom.attr("style", "width:100%; height:" + BottomHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+ divTwcBottom.css("visibility", "visible");
+ divTwcBottom.css("opacity", "1");
+ if (AutoRefresh === true)
+ {
+ divTwcBottom.css("opacity", "0");
+ divTwcBottom.css("visibility", "hidden");
+ }
+
+ IFrameHeight = WindowHeight - TopHeight - BottomHeight;
+ NewHeight = IFrameHeight + "px";
+ iframeTwc.attr("style", "width:100%; height:" + IFrameHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+ divTwcMiddle.attr("style", "width:100%; height:" + IFrameHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+
+ divTwcBottomLeft.hide();
+ divTwcBottomMiddle.hide();
+ divTwcBottomRight.hide();
+ divTwcLeft.show();
+ divTwcRight.show();
+
+ LeftWidth = (WindowWidth / 13);
+ if (LeftWidth < 25)
+ {
+ LeftWidth = 25;
+ }
+ divTwcLeft.find("div>div>a>img").css("width", "100%");
+ //divTwcLeft.find(">div").css("padding-right", "0px");
+ divTwcLeft.attr("style", "width:" + LeftWidth + "px; height:" + IFrameHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:1000000;");
+ divTwcLeft.css("visibility", "visible");
+ divTwcLeft.css("opacity", "1");
+ if (AutoRefresh === true)
+ {
+ divTwcLeft.css("opacity", "0");
+ divTwcLeft.css("visibility", "hidden");
+ }
+ divTwcLeft.css("position", "absolute");
+ divTwcLeft.css("left", "12px");
+
+ RightWidth = (WindowWidth / 13);
+ if (RightWidth < 25)
+ {
+ RightWidth = 25;
+ }
+ divTwcRight.find("div>div>a>img").css("width", "100%");
+ //divTwcRight.find(">div").css("padding-left", "0px");
+ divTwcRight.attr("style", "width:" + RightWidth + "px; height:" + IFrameHeight + "px; border:none; margin:0; padding:0; overflow:hidden; z-index:1000000;");
+ divTwcRight.css("visibility", "visible");
+ divTwcRight.css("opacity", "1");
+ if (AutoRefresh === true)
+ {
+ divTwcRight.css("opacity", "0");
+ divTwcRight.css("visibility", "hidden");
+ }
+ divTwcRight.css("position", "absolute");
+ divTwcRight.css("right", "12px");
+ }
+ }
+
+ if (inFullScreen == false)
+ {
+ NewHeight = "";
+ NewWidth = "";
+ divTwcTop.hide();
+ divTwcBottom.hide();
+ divTwcLeft.hide();
+ divTwcRight.hide();
+
+ divTwc.attr("style", "");
+ divTwcMiddle.attr("style", "");
+ iframeTwc.attr("style", "");
+
+ divTwcBottomLeft.show();
+ divTwcBottomMiddle.show();
+ divTwcBottomRight.show();
+
+ $(window).off("resize", FullScreenResize);
+ }
+
+ //iframeDoc.find("#canvasProgress").css("width", NewWidth);
+ //iframeDoc.find("#canvasProgress").css("height", NewHeight);
+ $(_canvasIds).each(function ()
+ {
+ var canvas = iframeDoc.find("#" + this.toString());
+ canvas.css("width", NewWidth);
+ canvas.css("height", NewHeight);
+ });
+
+ if (inFullScreen == true)
+ {
+ $("body").css("overflow", "hidden");
+ $(".ToggleFullScreen").val("Exit Full Screen");
+
+ if (!GetFullScreenElement())
+ {
+ EnterFullScreen();
+ }
+ }
+ else
+ {
+ $("body").css("overflow", "");
+ $(".ToggleFullScreen").val("Full Screen");
+ }
+
+ //divTwc.show();
+ ////divTwc.css("display", "block");
+ //if (divTwc.css("display") != "block")
+ //{
+ // divTwc.css("display", "block");
+ //}
+
+ divTwcNavContainer.show();
+
+ if (inIframe())
+ {
+ if (!inFullScreen)
+ {
+ var scaleFactor = 1.0;
+ var orientation = screen.orientation || window.orientation;
+
+ switch (_OperatingSystem)
+ {
+ case OperatingSystems.iOS:
+ if (orientation == 90 || orientation == -90)
+ {
+ scaleFactor = Math.min(document.documentElement.clientWidth, screen.height) / 640;
+ }
+ else
+ {
+ // 2 = 20
+ // 3 = 60
+ var buffer = 20 + 40 * (window.devicePixelRatio - 2);
+
+ scaleFactor = Math.min(document.documentElement.clientWidth, screen.width - buffer) / 640;
+ }
+ break;
+ default:
+ if (orientation == 90 || orientation == -90)
+ {
+ scaleFactor = document.documentElement.clientHeight / 640;
+ }
+ else
+ {
+ scaleFactor = document.documentElement.clientWidth / 640;
+ }
+ break;
+ }
+ var $body = $(document.body);
+ $body.css("transform", `scale(${scaleFactor})`);
+ }
+ }
+};
+
+var _lockOrientation = screen.lockOrientation || screen.mozLockOrientation || screen.msLockOrientation;
+var _unlockOrientation = screen.unlockOrientation || screen.mozUnlockOrientation || screen.msUnlockOrientation || (screen.orientation && screen.orientation.unlock);
+
+var OnFullScreen = function ()
+{
+ if (InFullScreen() == true)
+ {
+ divTwc.attr("style", "position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+ FullScreenResize();
+
+ $(window).on("resize", FullScreenResize);
+ //FullScreenResize();
+
+ if (_lockOrientation) try { _lockOrientation("landscape-primary"); } catch (ex) { console.log("Unable to lock screen orientation."); };
+ }
+ else
+ {
+ divTwc.attr("style", "");
+ divTwcMiddle.attr("style", "");
+ iframeTwc.attr("style", "");
+
+ $(window).off("resize", FullScreenResize);
+ FullScreenResize();
+
+ if (_unlockOrientation) try { _unlockOrientation(); } catch (ex) { console.log("Unable to unlock screen orientation."); };
+ }
+};
+
+var InFullScreen = function ()
+{
+ //return true;
+ //return (document.fullscreenEnabled || document.mozFullScreenEnabled || document.webkitFullscreenEnabled);
+ //return (window.innerHeight == screen.height);
+ //return (((document.fullScreenElement || document.mozFullScreenElement || document.webkitFullscreenElement) != null) || (window.innerHeight >= screen.height));
+ //return ((GetFullScreenElement() != null) || (window.innerHeight == screen.height));
+ return ((_FullScreenOverride == true) || (GetFullScreenElement() != null) || (window.innerHeight == screen.height) || (window.innerHeight == (screen.height - 1)));
+};
+
+var GetFullScreenElement = function ()
+{
+ if (_FullScreenOverride == true)
+ {
+ return document.body;
+ }
+
+ return (document.fullScreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement);
+}
+
+var btnFullScreen_click = function ()
+{
+ //_InFullScreen = !(_InFullScreen);
+
+ if (InFullScreen() == false)
+ {
+ EnterFullScreen();
+
+ ////position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;
+ //divTwc.attr("style", "position:fixed; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+ ////iframeTwc.attr("style", "width:100%; height:90%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+
+ ////divTwcMiddle.attr("style", "width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+ ////divTwcLeft.attr("style", "width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+ ////iframeTwc.attr("style", "width:100%; height:100%; border:none; margin:0; padding:0; overflow:hidden; z-index:999999;");
+
+ //FullScreenResize();
+
+ //$(window).on("resize", FullScreenResize);
+ //FullScreenResize();
+ }
+ else
+ {
+ ExitFullscreen();
+
+ //divTwc.attr("style", "");
+ //divTwcMiddle.attr("style", "");
+ //iframeTwc.attr("style", "");
+
+ //$(window).off("resize", FullScreenResize);
+ //FullScreenResize();
+ }
+
+ if (_IsPlaying == true)
+ {
+ _NoSleep.enable();
+ }
+ else
+ {
+ _NoSleep.disable();
+ }
+
+ UpdateFullScreenNavigate();
+
+ return false;
+};
+
+var EnterFullScreen = function ()
+{
+ var element = document.body;
+
+ // Supports most browsers and their versions.
+ var requestMethod;
+ requestMethod = element.requestFullScreen || element.webkitRequestFullScreen || element.mozRequestFullScreen || element.msRequestFullscreen;
+
+ if (requestMethod)
+ {
+ // Native full screen.
+ //requestMethod.call(element);
+ requestMethod.call(element, { navigationUI: "hide" }); // https://bugs.chromium.org/p/chromium/issues/detail?id=933436#c7
+ }
+ else if (typeof window.ActiveXObject !== "undefined")
+ {
+ // Older IE.
+ var wscript = new ActiveXObject("WScript.Shell");
+ if (wscript !== null)
+ {
+ wscript.SendKeys("{F11}");
+ }
+ }
+ else
+ {
+ // iOS doesn't support FullScreen API.
+ window.scrollTo(0, 0);
+ _FullScreenOverride = true;
+ $(window).resize();
+ }
+
+ UpdateFullScreenNavigate();
+};
+
+var ExitFullscreen = function ()
+{
+ // exit full-screen
+
+ if (_FullScreenOverride == true)
+ {
+ _FullScreenOverride = false;
+ $(window).resize();
+ }
+
+ if (document.exitFullscreen)
+ {
+ // Chrome 71 broke this if the user pressed F11 to enter full screen mode.
+ document.exitFullscreen();
+ }
+ else if (document.webkitExitFullscreen)
+ {
+ document.webkitExitFullscreen();
+ }
+ else if (document.mozCancelFullScreen)
+ {
+ document.mozCancelFullScreen();
+ }
+ else if (document.msExitFullscreen)
+ {
+ document.msExitFullscreen();
+ }
+};
+
+var btnNavigateMenu_click = function ()
+{
+ //var iFrameLocation = iframeTwc[0].contentWindow.location;
+ //iFrameLocation.hash = "";
+ //iFrameLocation.hash = "aProgress";
+ iframeTwc[0].contentWindow.NavigateMenu();
+ UpdateFullScreenNavigate();
+
+ return false;
+};
+
+var LoadTwcData = function (Url, AutoRefresh)
+{
+ txtAddress.blur();
+ StopAutoRefreshTimer();
+ _LastUpdate = null;
+ AssignLastUpdate();
+
+ console.log("Url: " + Url);
+ _TwcDataUrl = Url;
+
+ iframeTwc.off("load");
+
+ iframeTwc.on("load", function (e)
+ {
+ switch (iframeTwc.attr("src"))
+ {
+ case "about:blank":
+ if (Url == "")
+ {
+ iframeTwc.off("load");
+ return;
+ }
+
+ iframeTwc.attr("src", "twc3.html?_=" + (new Date).getTime().toString());
+ break;
+
+ default:
+ iframeTwc.off("load");
+ FullScreenResize(AutoRefresh);
+
+ if (radScrollText.is(":checked") == true)
+ {
+ AssignScrollText({ ScrollText: txtScrollText.val() });
+ }
+ else if (radScrollRss.is(":checked") == true)
+ {
+ AssignScrollText({ ScrollRss: txtScrollRss.val() });
+ }
+
+ if (chkScrollHazardText.is(":checked") == true)
+ {
+ ScrollHazardText(true);
+ }
+
+ AssignThemes({ Themes: $("input[type='radio'][name='radThemes']:checked").val() });
+ iframeTwc[0].contentWindow.AssignThemes({ Themes: $("input[type='radio'][name='radThemes']:checked").val() });
+
+ iframeTwc[0].contentWindow.AssignUnits({ Units: $("input[type='radio'][name='radUnits']:checked").val() });
+
+ iframeTwc[0].contentWindow.SetCallBack({ CallBack: TwcCallBack });
+
+ iframeTwc[0].contentWindow.GetLatLng(Url);
+
+ if (_IsPlaying == true)
+ {
+ iframeTwc[0].contentWindow.NavigatePlayToggle();
+ }
+
+ if (_IsAudioPlaying == true)
+ {
+ iframeTwc[0].contentWindow.AudioPlayToggle();
+ }
+
+ if (_IsNarrationPlaying == true)
+ {
+ iframeTwc[0].contentWindow.NarrationPlayToggle();
+ }
+
+ $(iframeTwc[0].contentWindow.document).on("mousemove", document_mousemove);
+ $(iframeTwc[0].contentWindow.document).on("mousedown", document_mousemove);
+ $(iframeTwc[0].contentWindow.document).on("keydown", document_keydown);
+
+ var SwipeCallBack = function (event, direction, distance, duration, fingerCount, fingerData)
+ {
+ console.log("You swiped " + direction);
+
+ switch (direction)
+ {
+ case "left":
+ btnNavigateNext_click();
+ break;
+
+ case "right":
+ btnNavigatePrevious_click();
+ break;
+ }
+ };
+
+ $(iframeTwc[0].contentWindow.document).swipe({
+ //Generic swipe handler for all directions
+ swipeRight: SwipeCallBack,
+ swipeLeft: SwipeCallBack,
+
+ ////Default is 75px, set to 0 for demo so any distance triggers swipe
+ //threshold: 0
+ });
+
+
+ break;
+ }
+ });
+ iframeTwc.attr("src", "about:blank");
+};
+
+var Themes = {
+ ThemeA: 1, // Classic
+ ThemeB: 2, // Sea Foam
+ ThemeC: 3, // Comsic
+ ThemeD: 4, // Dark
+};
+var _Themes = Themes.ThemeA;
+
+var AssignThemes = function (e)
+{
+ var forecolor;
+ var backcolor;
+ var butncolor;
+ var brdrcolor;
+ var invert;
+ var themecolor;
+
+ switch (e.Themes)
+ {
+ case "THEMEA":
+ _Themes = Themes.ThemeA;
+ break;
+ case "THEMEB":
+ _Themes = Themes.ThemeB;
+ break;
+ case "THEMEC":
+ _Themes = Themes.ThemeC;
+ break;
+ case "THEMED":
+ _Themes = Themes.ThemeD;
+ break;
+ }
+
+ switch (_Themes)
+ {
+ case Themes.ThemeD:
+ forecolor = "rgb(255, 255, 255)";
+ backcolor = "rgb(0, 0, 0)";
+ butncolor = "rgb(96, 96, 96)";
+ brdrcolor = "rgb(255, 255, 255)";
+ invert = "100";
+ themecolor = "#000000";
+ break;
+ default:
+ forecolor = "rgb(0, 0, 0)";
+ backcolor = "rgb(255, 255, 255)";
+ butncolor = "rgb(224, 224, 224)";
+ brdrcolor = "rgb(0, 0, 0)";
+ invert = "0";
+ themecolor = "#ffffff";
+ break;
+ }
+
+ $("button, input").css("background-color", butncolor);
+ $("input, button, .autocomplete-suggestions").css("border", "solid 1px " + brdrcolor);
+ $("body, input, button, .autocomplete-suggestion").css("color", forecolor);
+ $("body, input[type=text], .autocomplete-suggestions").css("background-color", backcolor);
+ $("#imgGetGps").css("filter", "invert(" + invert + "%)");
+ $("meta[name=theme-color]").attr("content", themecolor);
+};
+
+var AssignLastUpdate = function ()
+{
+ var LastUpdate = "(None)";
+
+ if (_LastUpdate)
+ {
+ switch ($("input[type='radio'][name='radUnits']:checked").val())
+ {
+ case "ENGLISH":
+ LastUpdate = _LastUpdate.toLocaleString('en-US', { weekday: 'short', month: 'short', day: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric', timeZoneName: 'short' });
+ break;
+ case "METRIC":
+ LastUpdate = _LastUpdate.toLocaleString('en-GB', { weekday: 'short', month: 'short', day: 'numeric', year: 'numeric', hour: 'numeric', minute: 'numeric', second: 'numeric', timeZoneName: 'short' });
+ break;
+ }
+ }
+
+ spanLastRefresh.html(LastUpdate);
+
+ if (_LastUpdate)
+ {
+ if (chkAutoRefresh.is(":checked") == true)
+ {
+ StartAutoRefreshTimer();
+ }
+ }
+};
+
+var TwcCallBack = function (e)
+{
+ switch (e.Status)
+ {
+ case "LOADED":
+ console.log("Twc Loaded");
+
+ _LastUpdate = e.LastUpdate;
+ AssignLastUpdate();
+ break;
+
+ case "WEATHERPARAMETERS":
+ console.log("Weather Parameters");
+
+ _WeatherParameters = e.WeatherParameters;
+ PopulateWeatherParameters();
+ break;
+
+ case "ISPLAYING":
+ console.log("Play Toggled");
+ _IsPlaying = e.Value;
+ localStorage.setItem("TwcPlay", _IsPlaying);
+
+ if (_IsPlaying == true)
+ {
+ _NoSleep.enable();
+
+ $("img[src='images/nav/ic_play_arrow_white_24dp_1x.png']").attr("title", "Pause");
+ $("img[src='images/nav/ic_play_arrow_white_24dp_1x.png']").attr("src", "images/nav/ic_pause_white_24dp_1x.png");
+ $("img[src='images/nav/ic_play_arrow_white_24dp_2x.png']").attr("title", "Pause");
+ $("img[src='images/nav/ic_play_arrow_white_24dp_2x.png']").attr("src", "images/nav/ic_pause_white_24dp_2x.png");
+ }
+ else
+ {
+ _NoSleep.disable();
+
+ $("img[src='images/nav/ic_pause_white_24dp_1x.png']").attr("title", "Play");
+ $("img[src='images/nav/ic_pause_white_24dp_1x.png']").attr("src", "images/nav/ic_play_arrow_white_24dp_1x.png");
+ $("img[src='images/nav/ic_pause_white_24dp_2x.png']").attr("title", "Play");
+ $("img[src='images/nav/ic_pause_white_24dp_2x.png']").attr("src", "images/nav/ic_play_arrow_white_24dp_2x.png");
+ }
+ break;
+
+ case "ISAUDIOPLAYING":
+ console.log("Audio Play Toggled");
+ _IsAudioPlaying = e.Value;
+ localStorage.setItem("TwcAudioPlay", _IsAudioPlaying);
+
+ if (_IsAudioPlaying == true)
+ {
+ $("img[src='images/nav/ic_volume_off_white_24dp_1x.png']").attr("title", "Mute");
+ $("img[src='images/nav/ic_volume_off_white_24dp_1x.png']").attr("src", "images/nav/ic_volume_up_white_24dp_1x.png");
+ $("img[src='images/nav/ic_volume_off_white_24dp_2x.png']").attr("title", "Mute");
+ $("img[src='images/nav/ic_volume_off_white_24dp_2x.png']").attr("src", "images/nav/ic_volume_up_white_24dp_2x.png");
+ }
+ else
+ {
+ $("img[src='images/nav/ic_volume_up_white_24dp_1x.png']").attr("title", "Unmute");
+ $("img[src='images/nav/ic_volume_up_white_24dp_1x.png']").attr("src", "images/nav/ic_volume_off_white_24dp_1x.png");
+ $("img[src='images/nav/ic_volume_up_white_24dp_2x.png']").attr("title", "Unmute");
+ $("img[src='images/nav/ic_volume_up_white_24dp_2x.png']").attr("src", "images/nav/ic_volume_off_white_24dp_2x.png");
+ }
+ break;
+
+ case "ISNARRATIONPLAYING":
+ console.log("Narration Play Toggled");
+ _IsNarrationPlaying = e.Value;
+ localStorage.setItem("TwcNarrationPlay", _IsNarrationPlaying);
+
+ if (_IsNarrationPlaying == true)
+ {
+ $("img[src='images/nav/ic_no_hearing_white_24dp_1x.png']").attr("title", "Turn off Narration");
+ $("img[src='images/nav/ic_no_hearing_white_24dp_1x.png']").attr("src", "images/nav/ic_hearing_white_24dp_1x.png");
+ $("img[src='images/nav/ic_no_hearing_white_24dp_2x.png']").attr("title", "Turn off Narration");
+ $("img[src='images/nav/ic_no_hearing_white_24dp_2x.png']").attr("src", "images/nav/ic_hearing_white_24dp_2x.png");
+ }
+ else
+ {
+ $("img[src='images/nav/ic_hearing_white_24dp_1x.png']").attr("title", "Turn on Narration");
+ $("img[src='images/nav/ic_hearing_white_24dp_1x.png']").attr("src", "images/nav/ic_no_hearing_white_24dp_1x.png");
+ $("img[src='images/nav/ic_hearing_white_24dp_2x.png']").attr("title", "Turn on Narration");
+ $("img[src='images/nav/ic_hearing_white_24dp_2x.png']").attr("src", "images/nav/ic_no_hearing_white_24dp_2x.png");
+ }
+ break;
+ }
+};
+
+var btnNavigateRefresh_click = function ()
+{
+ LoadTwcData(_TwcDataUrl);
+ UpdateFullScreenNavigate();
+
+ return false;
+};
+
+var btnNavigateNext_click = function ()
+{
+ iframeTwc[0].contentWindow.NavigateNext();
+ UpdateFullScreenNavigate();
+
+ return false;
+};
+
+var btnNavigatePrevious_click = function ()
+{
+ iframeTwc[0].contentWindow.NavigatePrevious();
+ UpdateFullScreenNavigate();
+
+ return false;
+};
+
+var window_resize = function ()
+{
+ //var iFrameLocation = iframeTwc[0].contentWindow.location;
+ //var Hash = iFrameLocation.hash;
+
+ var $window = $(window);
+
+ if ($window.height() == _WindowHeight || $window.width() == _WindowWidth)
+ {
+ return;
+ }
+
+ _WindowHeight = $window.height();
+ _WindowWidth = $window.width();
+
+ try
+ {
+ ////iFrameLocation.hash = "";
+ ////iFrameLocation.hash = Hash;
+ //iframeTwc[0].contentWindow.history.replaceState("", document.title, iFrameLocation.pathname);
+ //iframeTwc[0].contentWindow.history.replaceState("", document.title, iFrameLocation.pathname + Hash);
+ iframeTwc[0].contentWindow.NavigateReset();
+ } catch (ex) { }
+
+ UpdateFullScreenNavigate();
+};
+
+var _NavigateFadeIntervalId = null;
+
+var UpdateFullScreenNavigate = function ()
+{
+ $(document.activeElement).blur();
+
+ //console.log("window_mousemove: inFullScreen = True");
+ //console.log(e);
+
+ //if (divTwcLeft.css("visibility") != "")
+ //{
+ // divTwcLeft.css("visibility", "");
+ // divTwcLeft.css("opacity", "0.0");
+ // divTwcLeft.animate({ opacity: 1.0 }, 1000);
+ // //divTwcLeft.fadeIn();
+ //}
+ //$("body").css("cursor", "");
+ $("body").removeClass("HideCursor");
+ $(iframeTwc[0].contentWindow.document).find("body").removeClass("HideCursor");
+ divTwcLeft.fadeIn2();
+ divTwcRight.fadeIn2();
+ divTwcBottom.fadeIn2();
+
+ //divTwcRight.fadeIn();
+
+ if (_NavigateFadeIntervalId)
+ {
+ window.clearTimeout(_NavigateFadeIntervalId);
+ _NavigateFadeIntervalId = null;
+ }
+
+ _NavigateFadeIntervalId = window.setTimeout(function ()
+ {
+ //console.log("window_mousemove: TimeOut");
+ var inFullScreen = InFullScreen();
+ //alert(inFullScreen)
+
+ if (inFullScreen == true)
+ {
+ //$("body").css("cursor", "none !important");
+ $("body").addClass("HideCursor");
+ //$(iframeTwc[0].contentWindow).css("cursor", "none !important");
+ $(iframeTwc[0].contentWindow.document).find("body").addClass("HideCursor");
+
+ //divTwcLeft.css("visibility", "");
+ //divTwcLeft.animate({ opacity: 0.0 }, 1000, function ()
+ //{
+ // divTwcLeft.css("visibility", "hidden");
+ //});
+ divTwcLeft.fadeOut2();
+ divTwcRight.fadeOut2();
+ divTwcBottom.fadeOut2();
+ }
+
+ //divTwcRight.fadeOut();
+ }, 2000);
+};
+
+var document_mousemove = function (e)
+{
+ var inFullScreen = InFullScreen();
+ //alert("document_mousemove")
+
+ //console.log(e.originalEvent.buttons);
+ if (inFullScreen == true)
+ {
+ if ((e.originalEvent.movementX == 0 && e.originalEvent.movementY == 0 && e.originalEvent.buttons == 0))
+ {
+ return;
+ }
+
+ UpdateFullScreenNavigate();
+ }
+};
+
+var document_keydown = function (e)
+{
+ //if (_AllowKeyDown == false)
+ //{
+ // return;
+ //}
+ //_AllowKeyDown = false;
+
+ //window.setTimeout(function ()
+ //{
+ // _AllowKeyDown = true;
+ //}, 500);
+
+ var inFullScreen = InFullScreen();
+ var code = (e.keyCode || e.which);
+
+ if (inFullScreen == true || document.activeElement == document.body)
+ {
+ switch (code)
+ {
+ case 32: // Space
+ btnNavigatePlay_click();
+ return false;
+ break;
+
+ case 39: // Right Arrow
+ case 34: // Page Down
+ btnNavigateNext_click();
+ return false;
+ break;
+
+ case 37: // Left Arrow
+ case 33: // Page Up
+ btnNavigatePrevious_click();
+ return false;
+ break;
+
+ case 36: // Home
+ btnNavigateMenu_click();
+ return false;
+ break;
+
+ case 48: // Restart
+ btnNavigateRefresh_click();
+ return false;
+ break;
+
+ case 77: // M
+ btnAudioPlay_click();
+ return false;
+ break;
+
+ case 78: // N
+ btnNarrationPlay_click();
+ return false;
+ break;
+
+ case 70: // F
+ btnFullScreen_click();
+ return false;
+ break;
+
+ }
+ }
+};
+
+$.fn.fadeIn2 = function ()
+{
+ var _self = this;
+ var opacity = 0.0;
+ var IntervalId = null;
+
+ if (_self.css("opacity") != "0")
+ {
+ return;
+ }
+
+ //_self.css("visibility", "");
+ _self.css("visibility", "visible");
+ _self.css("opacity", "0.0");
+
+ IntervalId = window.setInterval(function ()
+ {
+ opacity += 0.1;
+ opacity = Math.round2(opacity, 1);
+ _self.css("opacity", opacity.toString());
+
+ if (opacity == 1.0)
+ {
+ //_self.css("visibility", "");
+ _self.css("visibility", "visible");
+ window.clearInterval(IntervalId);
+ }
+ }, 50);
+
+ return _self;
+};
+
+$.fn.fadeOut2 = function ()
+{
+ var _self = this;
+ var opacity = 1.0;
+ var IntervalId = null;
+
+ if (_self.css("opacity") != "1")
+ {
+ return;
+ }
+
+ //_self.css("visibility", "");
+ _self.css("visibility", "visible");
+ _self.css("opacity", "1.0");
+
+ IntervalId = window.setInterval(function ()
+ {
+ opacity -= 0.2;
+ opacity = Math.round2(opacity, 1);
+ _self.css("opacity", opacity.toString());
+
+ if (opacity == 0)
+ {
+ _self.css("visibility", "hidden");
+ window.clearInterval(IntervalId);
+ }
+ }, 50);
+
+ return _self;
+};
+
+Math.round2 = function (value, decimals)
+{
+ return Number(Math.round(value + 'e' + decimals) + 'e-' + decimals);
+}
+
+var btnNavigatePlay_click = function ()
+{
+ iframeTwc[0].contentWindow.NavigatePlayToggle();
+ UpdateFullScreenNavigate();
+
+ //if (iframeTwc[0].contentWindow.IsPlaying() == true)
+ //{
+ // _NoSleep.enable();
+
+ // $("img[src='images/nav/ic_play_arrow_white_24dp_1x.png']").attr("title", "Pause");
+ // $("img[src='images/nav/ic_play_arrow_white_24dp_1x.png']").attr("src", "images/nav/ic_pause_white_24dp_1x.png");
+ // $("img[src='images/nav/ic_play_arrow_white_24dp_2x.png']").attr("title", "Pause");
+ // $("img[src='images/nav/ic_play_arrow_white_24dp_2x.png']").attr("src", "images/nav/ic_pause_white_24dp_2x.png");
+ //}
+ //else
+ //{
+ // _NoSleep.disable();
+
+ // $("img[src='images/nav/ic_pause_white_24dp_1x.png']").attr("title", "Play");
+ // $("img[src='images/nav/ic_pause_white_24dp_1x.png']").attr("src", "images/nav/ic_play_arrow_white_24dp_1x.png");
+ // $("img[src='images/nav/ic_pause_white_24dp_2x.png']").attr("title", "Play");
+ // $("img[src='images/nav/ic_pause_white_24dp_2x.png']").attr("src", "images/nav/ic_play_arrow_white_24dp_2x.png");
+ //}
+
+ return false;
+};
+
+var btnAudioPlay_click = function ()
+{
+ iframeTwc[0].contentWindow.AudioPlayToggle();
+ UpdateFullScreenNavigate();
+
+ return false;
+};
+
+var btnNarrationPlay_click = function ()
+{
+ iframeTwc[0].contentWindow.NarrationPlayToggle();
+ UpdateFullScreenNavigate();
+
+ return false;
+};
+
+$(function ()
+{
+ _WindowHeight = $(window).height();
+ _WindowWidth = $(window).width();
+
+ frmGetLatLng = $("#frmGetLatLng");
+ txtAddress = $("#txtAddress");
+ btnGetLatLng = $("#btnGetLatLng");
+ btnClearQuery = $("#btnClearQuery");
+ btnGetGps = $("#btnGetGps");
+
+ divLat = $("#divLat");
+ spanLat = $("#spanLat");
+ divLng = $("#divLng");
+ spanLng = $("#spanLng");
+
+ iframeTwc = $("#iframeTwc");
+ btnFullScreen = $("#btnFullScreen");
+ divTwc = $("#divTwc");
+ divTwcTop = $("#divTwcTop");
+ divTwcMiddle = $("#divTwcMiddle");
+ divTwcBottom = $("#divTwcBottom");
+ divTwcLeft = $("#divTwcLeft");
+ divTwcRight = $("#divTwcRight");
+ divTwcNav = $("#divTwcNav");
+ divTwcNavContainer = $("#divTwcNavContainer");
+ divTwcBottomLeft = $("#divTwcBottomLeft");
+ divTwcBottomMiddle = $("#divTwcBottomMiddle");
+ divTwcBottomRight = $("#divTwcBottomRight");
+
+ radScrollDefault = $("#radScrollDefault");
+ radScrollDefault.on("change", radScroll_change);
+
+ frmScrollText = $("#frmScrollText");
+ radScrollText = $("#radScrollText");
+ txtScrollText = $("#txtScrollText");
+ btnScrollText = $("#btnScrollText");
+
+ frmScrollText.on("submit", frmScrollText_submit);
+ txtScrollText.on("focus", function ()
+ {
+ txtScrollText.select();
+ });
+ radScrollText.on("change", radScroll_change);
+
+ frmScrollRss = $("#frmScrollRss");
+ radScrollRss = $("#radScrollRss");
+ txtScrollRss = $("#txtScrollRss");
+ btnScrollRss = $("#btnScrollRss");
+
+ frmScrollRss.on("submit", frmScrollRss_submit);
+ txtScrollRss.on("focus", function ()
+ {
+ txtScrollRss.select();
+ });
+ radScrollRss.on("change", radScroll_change);
+
+ txtAddress.on("focus", function ()
+ {
+ txtAddress.select();
+ });
+
+ txtAddress.focus();
+
+ $(".NavigateMenu").on("click", btnNavigateMenu_click);
+ $(".NavigateRefresh").on("click", btnNavigateRefresh_click);
+ $(".NavigateNext").on("click", btnNavigateNext_click);
+ $(".NavigatePrevious").on("click", btnNavigatePrevious_click);
+ $(".NavigatePlay").on("click", btnNavigatePlay_click);
+
+ $(".ToggleVolume").on("click", btnAudioPlay_click);
+
+ $(".ToggleNarration").on("click", btnNarrationPlay_click);
+
+ $(btnGetGps).on("click", btnGetGps_click);
+
+ if (inIframe())
+ {
+ $(document.body).css("margin", "0 0 0 0")
+ .css("transform-origin", "top left")
+ .css("width", "640px");
+
+ $("#divGitHub").hide();
+ $("#divInfo").hide();
+ $("#divRefresh").hide();
+ $("#divUnits").hide();
+ $("#divThemes").hide();
+ $("#divScrollText").hide();
+ }
+
+ //$(document).on('webkitfullscreenchange mozfullscreenchange fullscreenchange', OnFullScreen);
+ $(window).on("resize", OnFullScreen);
+ $(window).on("resize", window_resize);
+ $(window).on("orientationchange", FullScreenResize);
+ $(document).on("mousemove", document_mousemove);
+ $(document).on("mousedown", document_mousemove);
+ divTwc.on("mousedown", document_mousemove);
+ $(document).on("keydown", document_keydown);
+ document.addEventListener("touchmove", function (e) { if (_FullScreenOverride == true) e.preventDefault() });
+ //$(document).on("keypress", document_keydown);
+ $(".ToggleFullScreen").on("click", btnFullScreen_click);
+ FullScreenResize();
+
+ //var AutoSelectQuery = false;
+
+ var categories = [
+ 'Land Features',
+ 'Bay', 'Channel', 'Cove', 'Dam', 'Delta', 'Gulf', 'Lagoon', 'Lake', 'Ocean', 'Reef', 'Reservoir', 'Sea', 'Sound', 'Strait', 'Waterfall', 'Wharf', // Water Features
+ 'Amusement Park', 'Historical Monument', 'Landmark', 'Tourist Attraction', 'Zoo', // POI/Arts and Entertainment
+ 'College', // POI/Education
+ 'Beach', 'Campground', 'Golf Course', 'Harbor', 'Nature Reserve', 'Other Parks and Outdoors', 'Park', 'Racetrack',
+ 'Scenic Overlook', 'Ski Resort', 'Sports Center', 'Sports Field', 'Wildlife Reserve', // POI/Parks and Outdoors
+ 'Airport', 'Ferry', 'Marina', 'Pier', 'Port', 'Resort', // POI/Travel
+ 'Postal', 'Populated Place'
+ ],
+ cats = categories.join(','),
+ overrides = {
+ '08736, Manasquan, New Jersey, USA': { x: -74.037, y: 40.1128 },
+ '32899, Orlando, Florida, USA': { x: -80.6774, y: 28.6143 },
+ '97003, Beaverton, Oregon, USA': { x: -122.8752489, y: 45.5050916 },
+ '99734, Prudhoe Bay, Alaska, USA': { x: -148.3372, y: 70.2552 },
+
+ 'Guam, Oceania': { x: 144.74, y: 13.46 },
+ 'Andover, Maine, United States': { x: -70.7525, y: 44.634167 },
+ 'Bear Creek, Pennsylvania, United States': { x: -75.772809, y: 41.204074 },
+ 'Bear Creek Village, Pennsylvania, United States': { x: -75.772809, y: 41.204074 },
+ 'New York City, New York, United States': { x: -74.0059, y: 40.7142 },
+ 'Pinnacles National Monument, San Benito County,California, United States': { x: -121.147278, y: 36.47075 },
+ 'Pinnacles National Park, CA-146, Paicines, California': { x: -121.147278, y: 36.47075 },
+ 'Welcome, Maryland, United States': { x: -77.081212, y: 38.4692469 },
+ 'Tampa, Florida, United States (City)': { x: -82.5329, y: 27.9756 },
+ 'San Francisco, California, United States': { x: -122.3758, y: 37.6188 },
+ //'Dayton, Ohio, United States (City)': { x: -84.05, y: 39.85 },
+ },
+ roundToPlaces = function (num, decimals)
+ {
+ var n = Math.pow(10, decimals);
+ return Math.round((n * num).toFixed(decimals)) / n;
+ },
+ doRedirectToGeometry = function (geom)
+ {
+ var location = window.location,
+ query = '?lat=' + roundToPlaces(geom.y, 4) + '&lon=' + roundToPlaces(geom.x, 4),
+ origin, domain;
+ var Url = "";
+
+ if (location.pathname.match(/MapClick.php$/))
+ {
+ if (location.origin)
+ {
+ origin = location.origin;
+ } else
+ {
+ origin = location.protocol + "//" + location.hostname + (location.port ? ':' + location.port : '');
+ }
+ //window.location = origin + location.pathname + query;
+ Url = origin + location.pathname + query;
+ }
+ else
+ {
+ if (location.hostname.match(/dev\.nids\.noaa\.gov$/))
+ {
+ domain = 'forecast.dev.nids.noaa.gov';
+ } else if (location.hostname.match(/preview.*\.weather\.gov$/))
+ {
+ domain = 'preview-forecast.weather.gov';
+ } else
+ {
+ domain = 'forecast.weather.gov';
+ }
+ //window.location = location.protocol + '//' + domain + '/MapClick.php' + query;
+ //Url = location.protocol + '//' + domain + '/MapClick.php' + query;
+ Url = 'https://' + domain + '/MapClick.php' + query;
+ }
+ Url = "cors/?u=" + encodeURIComponent(Url);
+
+ //GetLatLng(Url);
+
+ //// First clear the iframe
+ //iframeTwc.on("load", function (e)
+ //{
+ // //console.log("loaded...");
+
+ // switch (iframeTwc.attr("src"))
+ // {
+ // case "about:blank":
+ // iframeTwc.attr("src", "twc3.html?_=" + (new Date).getTime().toString());
+ // //iframeTwc.attr("src", "twc3.html?a");
+ // break;
+
+ // //case "twc3.html":
+ // default:
+ // iframeTwc.off("load");
+ // iframeTwc[0].contentWindow.GetLatLng(Url);
+ // break;
+ // }
+ //});
+ //iframeTwc.attr("src", "about:blank");
+ LoadTwcData(Url);
+
+ // Save the query
+ localStorage.setItem("TwcQuery", txtAddress.val());
+ localStorage.setItem("TwcLatLon", JSON.stringify(geom))
+ };
+
+ var PreviousSeggestionValue = null;
+ var PreviousSeggestion = null;
+ var OnSelect = function (suggestion)
+ {
+ var request;
+
+ // Do not auto get the same city twice.
+ if (PreviousSeggestionValue == suggestion.value)
+ {
+ return;
+ }
+ PreviousSeggestionValue = suggestion.value;
+ PreviousSeggestion = suggestion;
+
+ if (overrides[suggestion.value])
+ {
+ doRedirectToGeometry(overrides[suggestion.value]);
+ }
+ else
+ {
+ request = $.ajax({
+ url: location.protocol + '//geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/find',
+ data: {
+ text: suggestion.value,
+ magicKey: suggestion.data,
+ f: 'json'
+ },
+ jsonp: 'callback',
+ dataType: 'jsonp'
+ });
+ request.done(function (data)
+ {
+ var loc = data.locations[0];
+ if (loc)
+ {
+ doRedirectToGeometry(loc.feature.geometry);
+ }
+ else
+ {
+ alert('An unexpected error occurred. Please try a different search string.');
+ }
+ });
+ }
+ };
+
+ $("#frmGetLatLng #txtAddress").devbridgeAutocomplete({
+ serviceUrl: location.protocol + '//geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/suggest',
+ deferRequestBy: 300,
+ paramName: 'text',
+ params: {
+ f: 'json',
+ countryCode: 'USA', //'USA,PRI,VIR,GUM,ASM',
+ category: cats,
+ maxSuggestions: 10
+ },
+ dataType: 'jsonp',
+ transformResult: function (response)
+ {
+ if (_AutoSelectQuery == true)
+ {
+ _AutoSelectQuery = false;
+ window.setTimeout(function ()
+ {
+ $(ac.suggestionsContainer.children[0]).click();
+ }, 1);
+ }
+ return {
+ suggestions: $.map(response.suggestions, function (i)
+ {
+ return {
+ value: i.text,
+ data: i.magicKey
+ };
+ })
+ };
+ },
+ minChars: 3,
+ showNoSuggestionNotice: true,
+ noSuggestionNotice: 'No results found. Please try a different search string.',
+ onSelect: OnSelect,
+ //width: 400
+ width: 492,
+ onSearchComplete: function (query, suggestions)
+ {
+ var $input = $(this);
+ var scaleFactor = getBodyScaleValue(); // Scale factor
+ var inputOffset = $input.offset();
+ var newTop = (inputOffset.top + $input.outerHeight()) / scaleFactor;
+ var newLeft = inputOffset.left / scaleFactor;
+
+ // Apply the new position
+ $('.autocomplete-suggestions').css({ top: newTop + 'px', left: newLeft + 'px' });
+ }
+ });
+
+ var ac = $("#frmGetLatLng #txtAddress").devbridgeAutocomplete();
+ frmGetLatLng.submit(function ()
+ {
+ if (ac.suggestions[0])
+ {
+ $(ac.suggestionsContainer.children[0]).click();
+ return false;
+ //PreviousSeggestion = ac.suggestions[0];
+ }
+ if (PreviousSeggestion)
+ {
+ PreviousSeggestionValue = null;
+ OnSelect(PreviousSeggestion);
+ }
+
+ return false;
+ });
+
+ // Auto load the previous query
+ var TwcQuery = localStorage.getItem("TwcQuery");
+ var TwcLatLon = localStorage.getItem("TwcLatLon");
+
+ var TwcQueryStr = getParameterByName("location");
+ if (TwcQueryStr)
+ {
+ console.log(TwcQueryStr);
+ TwcQuery = TwcQueryStr;
+ TwcLatLon = undefined;
+ }
+
+ if (TwcQuery)
+ {
+ // Remove "(...)"
+ TwcQuery = TwcQuery.replace(/ *\([^)]*\) */g, "");
+ }
+ spanLastRefresh = $("#spanLastRefresh");
+ if (TwcQuery)
+ {
+ txtAddress.val(TwcQuery);
+ if (TwcLatLon)
+ {
+ doRedirectToGeometry(JSON.parse(TwcLatLon));
+
+ } else
+ {
+ _AutoSelectQuery = true;
+ txtAddress.blur();
+ txtAddress.focus();
+ }
+ }
+
+ var TwcPlay = localStorage.getItem("TwcPlay");
+ if (!TwcPlay || TwcPlay == "true")
+ {
+ _IsPlaying = true;
+ }
+
+ var TwcAudioPlay = localStorage.getItem("TwcAudioPlay");
+ if (!TwcAudioPlay || TwcAudioPlay == "true")
+ {
+ _IsAudioPlaying = true;
+ }
+
+ var TwcNarrationPlay = localStorage.getItem("TwcNarrationPlay");
+ if (TwcNarrationPlay == "true")
+ {
+ _IsNarrationPlaying = true;
+ }
+
+ radScrollDefault.prop("checked", "");
+ radScrollText.prop("checked", "");
+ radScrollRss.prop("checked", "");
+
+ var TwcScrollText = localStorage.getItem("TwcScrollText");
+ if (TwcScrollText)
+ {
+ txtScrollText.val(TwcScrollText);
+ }
+
+ var TwcScrollRss = localStorage.getItem("TwcScrollRss");
+ if (TwcScrollRss)
+ {
+ txtScrollRss.val(TwcScrollRss);
+ }
+
+ var TwcScrollChecked = localStorage.getItem("TwcScrollChecked");
+ if (TwcScrollChecked)
+ {
+ $("#" + TwcScrollChecked).prop("checked", "checked");
+ }
+ else
+ {
+ radScrollDefault.prop("checked", "checked");
+ }
+
+ radScroll_change();
+
+ btnClearQuery.on("click", function ()
+ {
+ spanCity.text("");
+ spanState.text("");
+ spanStationId.text("");
+ spanRadarId.text("");
+ spanZoneId.text("");
+
+ radScrollDefault.prop("checked", "checked");
+
+ radScrollText.prop("checked", "");
+ txtScrollText.val("");
+
+ radScrollRss.prop("checked", "");
+ txtScrollRss.val("");
+
+ radScroll_change();
+
+ localStorage.removeItem("TwcScrollText");
+ localStorage.removeItem("TwcScrollTextChecked");
+
+ chkScrollHazardText.prop("checked", "");
+ localStorage.removeItem("TwcScrollHazardText");
+
+ chkAutoRefresh.prop("checked", "checked");
+ localStorage.removeItem("TwcAutoRefresh");
+
+ $("#radEnglish").prop("checked", "checked");
+ localStorage.removeItem("TwcUnits");
+
+ $("#radThemeA").prop("checked", "checked");
+ AssignThemes({ Themes: "THEMEA" });
+ localStorage.removeItem("TwcThemes");
+
+ TwcCallBack({ Status: "ISNARRATIONPLAYING", Value: false });
+ localStorage.removeItem("TwcNarrationPlay");
+ _IsNarrationPlaying = false;
+
+ TwcCallBack({ Status: "ISAUDIOPLAYING", Value: false });
+ localStorage.removeItem("TwcAudioPlay");
+ _IsAudioPlaying = true;
+
+ TwcCallBack({ Status: "ISPLAYING", Value: false });
+ localStorage.removeItem("TwcPlay");
+ _IsPlaying = true;
+
+ localStorage.removeItem("TwcQuery");
+ localStorage.removeItem("TwcLatLon");
+ PreviousSeggestionValue = null;
+ PreviousSeggestion = null;
+
+ LoadTwcData("");
+ });
+
+ var TwcUnits = localStorage.getItem("TwcUnits");
+ if (!TwcUnits || TwcUnits == "ENGLISH")
+ {
+ $("#radEnglish").prop("checked", "checked");
+ }
+ else if (TwcUnits == "METRIC")
+ {
+ $("#radMetric").prop("checked", "checked");
+ }
+
+ var TwcThemes = localStorage.getItem("TwcThemes");
+ if (!TwcThemes || TwcThemes == "THEMEA")
+ {
+ $("#radThemeA").prop("checked", "checked");
+ }
+ else if (TwcThemes == "THEMEB")
+ {
+ $("#radThemeB").prop("checked", "checked");
+ }
+ else if (TwcThemes == "THEMEC")
+ {
+ $("#radThemeC").prop("checked", "checked");
+ }
+ else if (TwcThemes == "THEMED")
+ {
+ $("#radThemeD").prop("checked", "checked");
+ }
+ AssignThemes({ Themes: TwcThemes });
+
+ $("input[type='radio'][name='radUnits']").on("change", function ()
+ {
+ var Units = $(this).val();
+ localStorage.setItem("TwcUnits", Units);
+ AssignLastUpdate();
+ iframeTwc[0].contentWindow.AssignUnits({ Units: Units });
+ });
+
+ $("input[type='radio'][name='radThemes']").on("change", function ()
+ {
+ var Themes = $(this).val();
+ localStorage.setItem("TwcThemes", Themes);
+ AssignThemes({ Themes: Themes });
+ iframeTwc[0].contentWindow.AssignThemes({ Themes: Themes });
+ });
+
+ divRefresh = $("#divRefresh");
+ chkAutoRefresh = $("#chkAutoRefresh");
+ lblRefreshCountDown = $("#lblRefreshCountDown");
+ spanRefreshCountDown = $("#spanRefreshCountDown");
+
+ chkAutoRefresh.on("change", function ()
+ {
+ var Checked = $(this).is(":checked");
+
+ if (_LastUpdate)
+ {
+ if (Checked == true)
+ {
+ StartAutoRefreshTimer();
+ }
+ else
+ {
+ StopAutoRefreshTimer();
+ }
+ }
+
+ localStorage.setItem("TwcAutoRefresh", Checked);
+ });
+
+ var TwcAutoRefresh = localStorage.getItem("TwcAutoRefresh");
+ if (!TwcAutoRefresh || TwcAutoRefresh == "true")
+ {
+ chkAutoRefresh.prop("checked", "checked");
+ }
+ else
+ {
+ chkAutoRefresh.prop("checked", "");
+ }
+
+ spanCity = $("#spanCity");
+ spanState = $("#spanState");
+ spanStationId = $("#spanStationId");
+ spanRadarId = $("#spanRadarId");
+ spanZoneId = $("#spanZoneId");
+
+ chkScrollHazardText = $("#chkScrollHazardText");
+ chkScrollHazardText.on("change", function ()
+ {
+ var Checked = $(this).is(":checked");
+
+ ScrollHazardText(Checked);
+
+ localStorage.setItem("TwcScrollHazardText", Checked);
+ });
+
+ var TwcScrollHazardText = localStorage.getItem("TwcScrollHazardText");
+ if (TwcScrollHazardText && TwcScrollHazardText == "true")
+ {
+ chkScrollHazardText.prop("checked", "checked");
+ }
+ else
+ {
+ chkScrollHazardText.prop("checked", "");
+ }
+
+});
+
+var ScrollHazardText = function (enable)
+{
+ if (iframeTwc[0].contentWindow.ScrollHazardText)
+ {
+ iframeTwc[0].contentWindow.ScrollHazardText(enable);
+ }
+};
+
+var StartAutoRefreshTimer = function ()
+{
+ //// Esnure that any previous timer has already stopped.
+ //StopAutoRefreshTimer();
+ if (_AutoRefreshIntervalId)
+ {
+ // Timer is already running.
+ return;
+ }
+
+ // Reset the time elapsed.
+ _AutoRefreshCountMs = 0;
+
+ var AutoRefreshTimer = function ()
+ {
+ // Increment the total time elapsed.
+ _AutoRefreshCountMs += _AutoRefreshIntervalMs;
+
+ // Display the count down.
+ var RemainingMs = (_AutoRefreshTotalIntervalMs - _AutoRefreshCountMs);
+ if (RemainingMs < 0)
+ {
+ RemainingMs = 0;
+ }
+ var dt = new Date(RemainingMs);
+ spanRefreshCountDown.html((dt.getMinutes() < 10 ? "0" + dt.getMinutes() : dt.getMinutes()) + ":" + (dt.getSeconds() < 10 ? "0" + dt.getSeconds() : dt.getSeconds()));
+
+ if (_AutoRefreshCountMs >= _AutoRefreshTotalIntervalMs)
+ {
+ // Time has elapsed.
+ LoadTwcData(_TwcDataUrl, true);
+ }
+ };
+ _AutoRefreshIntervalId = window.setInterval(AutoRefreshTimer, _AutoRefreshIntervalMs);
+ AutoRefreshTimer();
+};
+var StopAutoRefreshTimer = function ()
+{
+ if (_AutoRefreshIntervalId)
+ {
+ window.clearInterval(_AutoRefreshIntervalId);
+ spanRefreshCountDown.html("--:--");
+ _AutoRefreshIntervalId = null;
+ }
+};
+
+var btnGetGps_click = function ()
+{
+ if (!navigator.geolocation)
+ {
+ return;
+ }
+
+ var CurrentPosition = function (Position)
+ {
+ var Latitude = Position.coords.latitude;
+ var Longitude = Position.coords.longitude;
+ //Latitude = 40.7754622; Longitude = -73.2411506;
+
+ console.log("Latitude: " + Latitude + "; Longitude: " + Longitude);
+
+ //http://geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/reverseGeocode?location=-72.971293%2C+40.850043&f=pjson
+ request = $.ajax({
+ url: location.protocol + '//geocode.arcgis.com/arcgis/rest/services/World/GeocodeServer/reverseGeocode',
+ data: {
+ location: Longitude + "," + Latitude,
+ distance: 1000, // Find location upto 1 KM.
+ f: 'json'
+ },
+ jsonp: 'callback',
+ dataType: 'jsonp'
+ });
+ request.done(function (data)
+ {
+ console.log(data);
+
+ var ZipCode = data.address.Postal;
+ var City = data.address.City;
+ var State = getStateTwoDigitCode(data.address.Region);
+ var Country = data.address.CountryCode;
+ var TwcQuery = ZipCode + ", " + City + ", " + State + ", " + Country;
+ //var Url = "http://forecast.weather.gov/MapClick.php?lat=" + Latitude + "&lon=" + Longitude;
+
+ txtAddress.val(TwcQuery);
+ txtAddress.blur();
+ txtAddress.focus();
+
+ // Save the query
+ localStorage.setItem("TwcQuery", TwcQuery);
+
+ //LoadTwcData(Url);
+ });
+
+ };
+
+ navigator.geolocation.getCurrentPosition(CurrentPosition);
+};
+
+var PopulateWeatherParameters = function ()
+{
+ spanCity.text(_WeatherParameters.City + ", ");
+ spanState.text(_WeatherParameters.State);
+ spanStationId.text(_WeatherParameters.StationId);
+ spanRadarId.text(_WeatherParameters.RadarId);
+ spanZoneId.text(_WeatherParameters.ZoneId);
+};
+
+var frmScrollText_submit = function (e)
+{
+ radScroll_change();
+
+ return false;
+};
+
+var frmScrollRss_submit = function (e)
+{
+ radScroll_change();
+
+ return false;
+};
+
+var radScroll_change = function (e)
+{
+ txtScrollText.blur();
+ txtScrollText.addClass("Disabled");
+ btnScrollText.addClass("Disabled");
+
+ txtScrollRss.blur();
+ txtScrollRss.addClass("Disabled");
+ btnScrollRss.addClass("Disabled");
+
+ var ScrollCheckedId = $("input[name='radScroll']:checked").attr("id");
+ localStorage.setItem("TwcScrollChecked", ScrollCheckedId);
+
+ switch (ScrollCheckedId)
+ {
+ case "radScrollDefault":
+ AssignScrollText(null);
+ break;
+
+ case "radScrollText":
+ txtScrollText.removeClass("Disabled");
+ btnScrollText.removeClass("Disabled");
+
+ var ScrollText = txtScrollText.val();
+ localStorage.setItem("TwcScrollText", ScrollText);
+
+ AssignScrollText({ ScrollText: ScrollText });
+ break;
+
+ case "radScrollRss":
+ txtScrollRss.removeClass("Disabled");
+ btnScrollRss.removeClass("Disabled");
+
+ var ScrollRss = txtScrollRss.val();
+ localStorage.setItem("TwcScrollRss", ScrollRss);
+
+ AssignScrollText({ ScrollRss: ScrollRss });
+ break;
+
+ }
+};
+
+var AssignScrollText = function (e)
+{
+ if (iframeTwc[0].contentWindow.AssignScrollText)
+ {
+ iframeTwc[0].contentWindow.AssignScrollText(e);
+ }
+};
+
+var getParameterByName = function (name, url)
+{
+ if (!url) url = window.location.href;
+ url = decodeURIComponent(url);
+ name = name.replace(/[\[\]]/g, "\\$&");
+ var regex = new RegExp("[?&]" + name + "(=([^]*)|&|#|$)"),
+ results = regex.exec(url);
+ if (!results) return null;
+ if (!results[2]) return '';
+ return decodeURIComponent(results[2].replace(/\+/g, " "));
+};
+
+var inIframe = function ()
+{
+ try
+ {
+ return window.self !== window.top;
+ }
+ catch (e)
+ {
+ return true;
+ }
+};
+
+var getBodyScaleValue = function ()
+{
+ var transformValue = $(document.body).css('transform');
+ var scaleArray = transformValue.split(',');
+ var scaleValue = parseFloat(scaleArray[scaleArray.length - 3]);
+ return scaleValue;
+};
diff --git a/Scripts/jeoquery.js b/wwwroot/Scripts/jeoquery.js
similarity index 100%
rename from Scripts/jeoquery.js
rename to wwwroot/Scripts/jeoquery.js
diff --git a/Scripts/jquery-3.1.0.min.js b/wwwroot/Scripts/jquery-3.1.0.min.js
similarity index 100%
rename from Scripts/jquery-3.1.0.min.js
rename to wwwroot/Scripts/jquery-3.1.0.min.js
diff --git a/Scripts/jquery.autocomplete.min.js b/wwwroot/Scripts/jquery.autocomplete.min.js
similarity index 100%
rename from Scripts/jquery.autocomplete.min.js
rename to wwwroot/Scripts/jquery.autocomplete.min.js
diff --git a/Scripts/jquery.touchSwipe.min.js b/wwwroot/Scripts/jquery.touchSwipe.min.js
similarity index 100%
rename from Scripts/jquery.touchSwipe.min.js
rename to wwwroot/Scripts/jquery.touchSwipe.min.js
diff --git a/Scripts/libgif.js b/wwwroot/Scripts/libgif.js
similarity index 100%
rename from Scripts/libgif.js
rename to wwwroot/Scripts/libgif.js
diff --git a/Scripts/metars.js b/wwwroot/Scripts/metars.js
similarity index 100%
rename from Scripts/metars.js
rename to wwwroot/Scripts/metars.js
diff --git a/Scripts/outlook1.js b/wwwroot/Scripts/outlook1.js
similarity index 100%
rename from Scripts/outlook1.js
rename to wwwroot/Scripts/outlook1.js
diff --git a/Scripts/speech1.js b/wwwroot/Scripts/speech1.js
similarity index 100%
rename from Scripts/speech1.js
rename to wwwroot/Scripts/speech1.js
diff --git a/Scripts/stations.js b/wwwroot/Scripts/stations.js
similarity index 100%
rename from Scripts/stations.js
rename to wwwroot/Scripts/stations.js
diff --git a/Scripts/timemachine.min.js b/wwwroot/Scripts/timemachine.min.js
similarity index 100%
rename from Scripts/timemachine.min.js
rename to wwwroot/Scripts/timemachine.min.js
diff --git a/Scripts/twc1.js b/wwwroot/Scripts/twc1.js
similarity index 100%
rename from Scripts/twc1.js
rename to wwwroot/Scripts/twc1.js
diff --git a/Scripts/twc2.js b/wwwroot/Scripts/twc2.js
similarity index 100%
rename from Scripts/twc2.js
rename to wwwroot/Scripts/twc2.js
diff --git a/Scripts/twc3.js b/wwwroot/Scripts/twc3.js
similarity index 100%
rename from Scripts/twc3.js
rename to wwwroot/Scripts/twc3.js
diff --git a/Styles/index.css b/wwwroot/Styles/index.css
similarity index 93%
rename from Styles/index.css
rename to wwwroot/Styles/index.css
index 04e508d..1ae2cc8 100644
--- a/Styles/index.css
+++ b/wwwroot/Styles/index.css
@@ -1,328 +1,328 @@
-@font-face
-{
- font-family: "Star4000";
- src: url('../fonts/Star4000.woff') format('woff');
- /*font-weight: bold;
- font-style: italic;*/
-}
-@font-face
-{
- font-family: "Star 4 Radar";
- src: url('../fonts/Star 4 Radar.woff') format('woff');
-}
-@font-face
-{
- font-family: 'Star4000 Extended';
- src: url('../fonts/Star4000 Extended.woff') format('woff');
-}
-@font-face
-{
- font-family: 'Star4000 Large Compressed Numbers';
- src: url('../fonts/Star4000 Large Compressed Numbers.woff') format('woff');
-}
-@font-face
- {
- font-family: 'Star4000 Large Compressed';
- src: url('../fonts/Star4000 Large Compressed.woff') format('woff');
-}
-@font-face
-{
- font-family: 'Star4000 Large';
- src: url('../fonts/Star4000 Large.woff') format('woff');
-}
-@font-face
- {
- font-family: 'Star4000 Small';
- src: url('../fonts/Star4000 Small.woff') format('woff');
-}
-body
-{
- font-family: "Star4000";
- color: #000000;
- background-color: #ffffff;
-}
-
-input, button {
- font-family: "Star4000";
- background-color: #e0e0e0;
- border: solid 1px #000000;
- color: #000000;
-}
-
-input[type=text] {
- background-color: #ffffff;
-}
-
-#imgGetGps
-{
- height: 13px;
- vertical-align: middle;
-}
-
-#txtAddress
-{
- /*width: 400px;*/
- width: 492px;
- font-size: 16pt;
-}
-
-#btnGetGps, #btnGetLatLng, #btnClearQuery
-{
- font-size: 16pt;
-}
-
-.autocomplete-suggestions
-{
- background-color: #ffffff;
- border: 1px solid #000000;
- /*overflow: auto;*/
-}
-.autocomplete-suggestion
-{
- /*padding: 2px 5px;*/
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- font-size: 16pt;
-}
-.autocomplete-selected
-{
- background-color: #0000ff;
- color: #ffffff;
-}
-.autocomplete-suggestions strong
-{
- /*font-weight: normal;*/
- /*color: lightseagreen*/
-}
-.autocomplete-group
-{
- /*padding: 2px 5px;*/
-}
-.autocomplete-group strong
-{
- /*display: block;
- border-bottom: 1px solid black;*/
-}
-
-/*#Star4000LargeCompressedNumbers
-{
- visibility: hidden;
- position: absolute;
- font-family: 'Star4000 Large Compressed Numbers';
-}*/
-
-#divTwc
-{
- /*display: none;*/
- display: block;
- background-color: #000000;
- color: #ffffff;
- width: 640px;
-}
-
-#divTwcMiddle
-{
- display: flex;
-}
-
-#divTwcLeft
-{
- visibility: hidden;
- text-align: right;
- display: flex;
- flex-direction: column;
- vertical-align: middle;
-}
-#divTwcLeft > div
-{
- flex: 1;
- padding-right: 12px;
- display: flex;
- flex-direction: column;
- justify-content: center;
- /*position: relative;
- top: 10%;*/
-}
-
-#divTwcRight
-{
- visibility: hidden;
- text-align: left;
- display: flex;
- flex-direction: column;
- vertical-align: middle;
-}
-#divTwcRight > div
-{
- flex: 1;
- padding-left: 12px;
- display: flex;
- flex-direction: column;
- justify-content: center;
- /*position: relative;
- top: 10%;*/
-}
-
-#divTwcBottom
-{
- visibility: hidden;
- display: flex;
- flex-direction: row;
- background-color: #000000;
- color: #ffffff;
- width: 100%;
-}
-#divTwcBottom > div
-{
- padding-left: 6px;
- padding-right: 6px;
-}
-#divTwcBottomLeft
-{
- flex: 1;
- text-align: left;
-}
-#divTwcBottomMiddle
-{
- flex: 0;
- text-align: center;
-}
-#divTwcBottomRight
-{
- flex: 1;
- text-align: right;
-}
-
-#divTwcNavContainer
-{
- display: none;
-}
-
-#divTwcNav
-{
- display: flex;
- flex-direction: row;
- background-color: #000000;
- color: #ffffff;
- width: 640px;
-}
-#divTwcNav > div
-{
- padding-left: 6px;
- padding-right: 6px;
-}
-#divTwcNavLeft
-{
- flex: 1;
- text-align: left;
-}
-#divTwcNavMiddle
-{
- flex: 0;
- text-align: center;
-}
-#divTwcNavRight
-{
- flex: 1;
- text-align: right;
-}
-
-#imgPause1x, #imgPause2x
-{
- visibility: hidden;
- position: absolute;
- position: absolute;
-}
-
-#iframeTwc
-{
- width: 640px;
- height: 480px;
- overflow: hidden;
- border: 0;
-}
-
-.HideCursor
-{
- cursor: none !important;
-}
-
-#divInfo
-{
- width: 640px;
-}
-
-#divGitHub
-{
- width: 640px;
- display: flex;
- justify-content: space-evenly;
-}
-
-/*.btn {
- background-color: black !important;
- color: white !important;
- background-image: url() !important;
- border-color: white !important;
-}*/
-
-#spanLocation, #spanRadar {
- float: left;
-}
-
-#spanStation, #spanZone
-{
- float: right;
-}
-
-#spanStationId, #spanZoneId
-{
- display: inline-block;
- width: 50px;
-}
-
-#divRefresh
-{
- width: 640px;
-}
-
-#spanLastUpdate
-{
- float: left;
-}
-
-#spanAutoRefresh
-{
- float: right;
-}
-
-#divUnits, #divThemes
-{
- width: 640px;
-}
-
-#spanUnits, #spanThemes
-{
- display: inline-block;
- width: 50px;
-}
-
-#txtScrollText, #txtScrollRss {
- width: 470px;
- /*text-transform: uppercase;*/
-}
-
-#lblScrollText, #lblScrollRss {
- display: inline-block;
- width: 100px;
-}
-
-#frmScrollText, #frmScrollRss {
- display: initial;
-}
-
-.Disabled{
- pointer-events: none;
- opacity: 0.5;
-}
+@font-face
+{
+ font-family: "Star4000";
+ src: url('../fonts/Star4000.woff') format('woff');
+ /*font-weight: bold;
+ font-style: italic;*/
+}
+@font-face
+{
+ font-family: "Star 4 Radar";
+ src: url('../fonts/Star 4 Radar.woff') format('woff');
+}
+@font-face
+{
+ font-family: 'Star4000 Extended';
+ src: url('../fonts/Star4000 Extended.woff') format('woff');
+}
+@font-face
+{
+ font-family: 'Star4000 Large Compressed Numbers';
+ src: url('../fonts/Star4000 Large Compressed Numbers.woff') format('woff');
+}
+@font-face
+ {
+ font-family: 'Star4000 Large Compressed';
+ src: url('../fonts/Star4000 Large Compressed.woff') format('woff');
+}
+@font-face
+{
+ font-family: 'Star4000 Large';
+ src: url('../fonts/Star4000 Large.woff') format('woff');
+}
+@font-face
+ {
+ font-family: 'Star4000 Small';
+ src: url('../fonts/Star4000 Small.woff') format('woff');
+}
+body
+{
+ font-family: "Star4000";
+ color: #000000;
+ background-color: #ffffff;
+}
+
+input, button {
+ font-family: "Star4000";
+ background-color: #e0e0e0;
+ border: solid 1px #000000;
+ color: #000000;
+}
+
+input[type=text] {
+ background-color: #ffffff;
+}
+
+#imgGetGps
+{
+ height: 13px;
+ vertical-align: middle;
+}
+
+#txtAddress
+{
+ /*width: 400px;*/
+ width: 492px;
+ font-size: 16pt;
+}
+
+#btnGetGps, #btnGetLatLng, #btnClearQuery
+{
+ font-size: 16pt;
+}
+
+.autocomplete-suggestions
+{
+ background-color: #ffffff;
+ border: 1px solid #000000;
+ /*overflow: auto;*/
+}
+.autocomplete-suggestion
+{
+ /*padding: 2px 5px;*/
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ font-size: 16pt;
+}
+.autocomplete-selected
+{
+ background-color: #0000ff;
+ color: #ffffff;
+}
+.autocomplete-suggestions strong
+{
+ /*font-weight: normal;*/
+ /*color: lightseagreen*/
+}
+.autocomplete-group
+{
+ /*padding: 2px 5px;*/
+}
+.autocomplete-group strong
+{
+ /*display: block;
+ border-bottom: 1px solid black;*/
+}
+
+/*#Star4000LargeCompressedNumbers
+{
+ visibility: hidden;
+ position: absolute;
+ font-family: 'Star4000 Large Compressed Numbers';
+}*/
+
+#divTwc
+{
+ /*display: none;*/
+ display: block;
+ background-color: #000000;
+ color: #ffffff;
+ width: 640px;
+}
+
+#divTwcMiddle
+{
+ display: flex;
+}
+
+#divTwcLeft
+{
+ visibility: hidden;
+ text-align: right;
+ display: flex;
+ flex-direction: column;
+ vertical-align: middle;
+}
+#divTwcLeft > div
+{
+ flex: 1;
+ padding-right: 12px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ /*position: relative;
+ top: 10%;*/
+}
+
+#divTwcRight
+{
+ visibility: hidden;
+ text-align: left;
+ display: flex;
+ flex-direction: column;
+ vertical-align: middle;
+}
+#divTwcRight > div
+{
+ flex: 1;
+ padding-left: 12px;
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ /*position: relative;
+ top: 10%;*/
+}
+
+#divTwcBottom
+{
+ visibility: hidden;
+ display: flex;
+ flex-direction: row;
+ background-color: #000000;
+ color: #ffffff;
+ width: 100%;
+}
+#divTwcBottom > div
+{
+ padding-left: 6px;
+ padding-right: 6px;
+}
+#divTwcBottomLeft
+{
+ flex: 1;
+ text-align: left;
+}
+#divTwcBottomMiddle
+{
+ flex: 0;
+ text-align: center;
+}
+#divTwcBottomRight
+{
+ flex: 1;
+ text-align: right;
+}
+
+#divTwcNavContainer
+{
+ display: none;
+}
+
+#divTwcNav
+{
+ display: flex;
+ flex-direction: row;
+ background-color: #000000;
+ color: #ffffff;
+ width: 640px;
+}
+#divTwcNav > div
+{
+ padding-left: 6px;
+ padding-right: 6px;
+}
+#divTwcNavLeft
+{
+ flex: 1;
+ text-align: left;
+}
+#divTwcNavMiddle
+{
+ flex: 0;
+ text-align: center;
+}
+#divTwcNavRight
+{
+ flex: 1;
+ text-align: right;
+}
+
+#imgPause1x, #imgPause2x
+{
+ visibility: hidden;
+ position: absolute;
+ position: absolute;
+}
+
+#iframeTwc
+{
+ width: 640px;
+ height: 480px;
+ overflow: hidden;
+ border: 0;
+}
+
+.HideCursor
+{
+ cursor: none !important;
+}
+
+#divInfo
+{
+ width: 640px;
+}
+
+#divGitHub
+{
+ width: 640px;
+ display: flex;
+ justify-content: space-evenly;
+}
+
+/*.btn {
+ background-color: black !important;
+ color: white !important;
+ background-image: url() !important;
+ border-color: white !important;
+}*/
+
+#spanLocation, #spanRadar {
+ float: left;
+}
+
+#spanStation, #spanZone
+{
+ float: right;
+}
+
+#spanStationId, #spanZoneId
+{
+ display: inline-block;
+ width: 50px;
+}
+
+#divRefresh
+{
+ width: 640px;
+}
+
+#spanLastUpdate
+{
+ float: left;
+}
+
+#spanAutoRefresh
+{
+ float: right;
+}
+
+#divUnits, #divThemes
+{
+ width: 640px;
+}
+
+#spanUnits, #spanThemes
+{
+ display: inline-block;
+ width: 50px;
+}
+
+#txtScrollText, #txtScrollRss {
+ width: 470px;
+ /*text-transform: uppercase;*/
+}
+
+#lblScrollText, #lblScrollRss {
+ display: inline-block;
+ width: 100px;
+}
+
+#frmScrollText, #frmScrollRss {
+ display: initial;
+}
+
+.Disabled{
+ pointer-events: none;
+ opacity: 0.5;
+}
diff --git a/Styles/outlook1.css b/wwwroot/Styles/outlook1.css
similarity index 100%
rename from Styles/outlook1.css
rename to wwwroot/Styles/outlook1.css
diff --git a/Styles/twc2.css b/wwwroot/Styles/twc2.css
similarity index 100%
rename from Styles/twc2.css
rename to wwwroot/Styles/twc2.css
diff --git a/Styles/twc3.css b/wwwroot/Styles/twc3.css
similarity index 100%
rename from Styles/twc3.css
rename to wwwroot/Styles/twc3.css
diff --git a/index.html b/wwwroot/index.html
similarity index 98%
rename from index.html
rename to wwwroot/index.html
index a051eca..daaf2f0 100644
--- a/index.html
+++ b/wwwroot/index.html
@@ -1,232 +1,232 @@
-
-
-
-
-
-
- WeatherStar 4000+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-

-
-
-
-
-

-
-
-
-
-

-
-
-
-
-
-
-
-

-
-
-
-
-

-
-
-
-
-

-
-
-
-
-

-
-
-
-
-
-
-
-
-

-
-
-
-
-
-
-
-
-

-
-
-
-
-
-
-
-
-
-
-
-
-
- Location:
-
-
- Station Id:
-
-
-
- Radar Id:
-
-
- Zone Id:
-
-
-
-
-
-
-
-
- Last Update: (None)
-
-
-
-
-
-
-
-
-
-
- Units:
-
-
-
-
-
-
-
- Themes:
-
-
-
-
-
-
-
-
-
-
- Scroll Options:
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ WeatherStar 4000+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
+
+
+
+

+
+
+
+
+

+
+
+
+
+
+
+
+

+
+
+
+
+

+
+
+
+
+

+
+
+
+
+

+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+

+
+
+
+
+
+
+
+
+
+
+
+
+
+ Location:
+
+
+ Station Id:
+
+
+
+ Radar Id:
+
+
+ Zone Id:
+
+
+
+
+
+
+
+
+ Last Update: (None)
+
+
+
+
+
+
+
+
+
+
+ Units:
+
+
+
+
+
+
+
+ Themes:
+
+
+
+
+
+
+
+
+
+
+ Scroll Options:
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/twc3.html b/wwwroot/twc3.html
similarity index 100%
rename from twc3.html
rename to wwwroot/twc3.html