// ==UserScript==
// @name Wazebar
// @namespace https://gf.qytechs.cn/users/30701-justins83-waze
// @version 0.1.4
// @description try to take over the world!
// @author JustinS83
// @include https://www.waze.com/editor/*
// @include https://www.waze.com/*/editor/*
// @exclude https://www.waze.com/user/editor*
// @grant GM_xmlhttpRequest
// ==/UserScript==
var WazeBarSettings = [];
(function() {
'use strict';
function bootstrap(tries) {
tries = tries || 1;
if (W && W.map &&
W.model && W.loginManager.user &&
$ &&
$('.app.container-fluid.show-sidebar').length > 0) {
init();
} else if (tries < 1000) {
setTimeout(function () {bootstrap(tries++);}, 200);
}
}
bootstrap();
function init(){
LoadSettingsObj();
BuildWazebar();
$('#sidebar').css('height', 'calc(100% - 20px)');
BuildSettingsInterface();
}
function BuildWazebar(){
$('#Wazebar').remove();
var $Wazebar = $("<div>", {style:"min-height:20px", id:"Wazebar"});
$Wazebar.html([
'<div style="display:inline; margin-left:3px; cursor:pointer;" id="WazeBarSettingsButton"><i class="fa fa-cog" aria-hidden="true"></i></div>',
'<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;" id="Inbox"><a href="https://www.waze.com/forum/ucp.php?i=pm&folder=inbox" target="_blank">Forum Inbox</a></div>',
WazeBarSettings.scriptsForum ? '<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;" id="Scripts"><a href="https://www.waze.com/forum/viewforum.php?f=819" target="_blank">Scripts Forum</a></div>' : '',
BuildRegionForumEntries(),
BuildStateForumEntries(),
BuildRegionWikiEntries(),
BuildStateWikiEntries(),
'<div style="display:inline;" id="WazebarStatus">NA Server Update: </div>'
].join(' '));
$('.app.container-fluid.show-sidebar').before($Wazebar);
GetPMCount();
checkForums();
setInterval(GetPMCount,60000);
setInterval(checkForums, 120000);
GM_xmlhttpRequest({
method: "GET",
url: 'https://wazestatus.wordpress.com/category/main/feed',
onload: ParseStatusFeed
});
$('#WazeBarSettingsButton').click(function(){
$('#WazeBarSettings').css({'visibility':'visible'});
SelectedRegionChanged();
setChecked('ScriptsForum', WazeBarSettings.scriptsForum);
});
}
function GetPMCount(){
$.get('https://www.waze.com/forum/ucp.php?i=pm&folder=inbox', function(Inbox){
if(Inbox.indexOf("Inbox (") != -1){
var count = Inbox.match(/Inbox \((\d+)\)/)[1];
$('#PMCount').remove();
$('#Inbox a').append("<span style='color:red;font-weight:bold;' id='PMCount'> (" + count + ")</span>");
}
else
$('#PMCount').remove();
});
}
function checkForums(){
if(WazeBarSettings.scriptsForum)
checkUnreadTopics("https://www.waze.com/forum/viewforum.php?f=819", "Scripts", "ScriptsCount"); //Scripts
checkUnreadTopics("https://www.waze.com/forum/viewforum.php?f=943", "GLR", "GLRCount"); //GLR
Object.keys(WazeBarSettings.header).forEach(function(state,index) {
if(WazeBarSettings.header[state].forum)
checkUnreadTopics(WazeBarSettings.header[state].forum, state + 'Forum', state+'ForumCount');
if(WazeBarSettings.header[state].unlock){
var url = "https://www.waze.com/forum/search.php?keywords=" + state.replace(' ', '+') + "&terms=all&author=&sv=0&fid%5B%5D=622&sc=0&sf=all&sr=topics&sk=t&sd=d&st=0&ch=300&t=0&submit=Search";
if(state === "Virginia")
url = "https://www.waze.com/forum/search.php?keywords=West%2BVirginia&terms=all&author=&sv=0&fid%5B%5D=622&sc=0&sf=all&sr=topics&sk=t&sd=d&st=0&ch=300&t=0&submit=Search";
checkUnreadTopics(url, state+'Unlock', state+'UnlockCount');
}
});
Object.keys(WazeBarSettings.header.region).forEach(function(region,index){
if(WazeBarSettings.header.region[region].forum)
checkUnreadTopics(WazeBarSettings.header.region[region].forum, region + 'Forum', region+'ForumCount');
if(WazeBarSettings.header.region[region].wiki)
checkUnreadTopics(WazeBarSettings.header.region[region].wiki, region+'Wiki', region+'WikiCount');
});
}
function checkUnreadTopics(path, parentID, spanID){
var count = 0;
$.get(path, function(page){
var result = page.match(/topic_unread/g);
count += result? result.length :0;
result = page.match(/sticky_unread/g);
count += result? result.length :0;
result = page.match(/announce_unread/g);
count += result? result.length :0;
$('#' + spanID).remove();
if(count > 0)
$('#'+parentID+' a').append("<span style='color:red;font-weight:bold;' id='" + spanID + "'> (" + count + ")</span>");
});
return count;
}
function ParseStatusFeed(data){
var re = /<title>NA map tiles were successfully updated to:(.*?)<\/title>/;
var result = data.responseText.match(re)[1].trim();
$('#WazebarStatus').append(result);
}
function BuildStateForumEntries(){
var stateForums = "";
Object.keys(WazeBarSettings.header).forEach(function(state,index) {
if(WazeBarSettings.header[state].forum)
stateForums += '<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;" id="' + state + 'Forum"><a href="' + WazeBarSettings.header[state].forum + '" target="_blank">' + WazeBarSettings.header[state].abbr + ' Forum</a></div>';
});
return stateForums;
}
function BuildStateWikiEntries(){
var stateWikis = "";
Object.keys(WazeBarSettings.header).forEach(function(state,index) {
if(WazeBarSettings.header[state].wiki)
stateWikis += '<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;"><a href="' + WazeBarSettings.header[state].wiki + '" target="_blank">' + WazeBarSettings.header[state].abbr + ' Wiki</a></div>';
});
return stateWikis;
}
function BuildStateUnlockEntries(){
var stateUnlocks = "";
Object.keys(WazeBarSettings.header).forEach(function(state,index) {
if(WazeBarSettings.header[state].unlock){
if(state === "Virginia")
stateUnlocks += '<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;" id="' + state + 'Unlock"><a href="https://www.waze.com/forum/search.php?keywords=' + state.replace(' ', '+') + '&terms=all&author=&sv=0&fid%5B%5D=622&sc=0&sf=all&sr=topics&sk=t&sd=d&st=0&ch=300&t=0&submit=Search" target="_blank">' + WazeBarSettings.header[state].abbr + ' Unlock</a></div>';
else
stateUnlocks += '<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;" id="' + state + 'Unlock"><a href="https://www.waze.com/forum/search.php?keywords=West%2BVirginia&terms=all&author=&sv=0&fid%5B%5D=622&sc=0&sf=all&sr=topics&sk=t&sd=d&st=0&ch=300&t=0&submit=Search" target="_blank">' + WazeBarSettings.header[state].abbr + ' Unlock</a></div>';
//stateUnlocks += '<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;"><a href="' + WazeBarSettings.header[state].wiki + '" target="_blank">' + WazeBarSettings.header[state].abbr + ' Wiki</a></div>';
}
});
return stateUnlocks;
}
function BuildRegionForumEntries(){
//'<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;" id="GLR"><a href="https://www.waze.com/forum/viewforum.php?f=943" target="_blank">GLR Forum</a></div>',
var regionForums = "";
if(WazeBarSettings.header.region){
Object.keys(WazeBarSettings.header.region).forEach(function(region,index) {
if(WazeBarSettings.header.region[region].forum)
regionForums += '<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;" id="' + region + 'Forum"><a href="' + WazeBarSettings.header.region[region].forum + '" target="_blank">' + WazeBarSettings.header.region[region].abbr + ' Forum</a></div>';
});
}
return regionForums;
}
function BuildRegionWikiEntries(){
//'<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;"><a href="https://wazeopedia.waze.com/wiki/USA/USA/Great_Lakes" target="_blank">GLR Wiki</a></div>',
var regionWikis = "";
if(WazeBarSettings.header.region){
Object.keys(WazeBarSettings.header.region).forEach(function(region,index) {
if(WazeBarSettings.header.region[region].wiki)
regionWikis += '<div style="display:inline; padding-right:5px; margin-right:5px; border-right:thin solid grey;"><a href="' + WazeBarSettings.header.region[region].wiki + '" target="_blank">' + WazeBarSettings.header.region[region].abbr + ' Wiki</a></div>';
});
}
return regionWikis;
}
function BuildSettingsInterface(){
var $section = $("<div>", {style:"padding:8px 16px", id:"WazeBarSettings"});
$section.html([
'<div id="WazeBarSettings" style="visibility:hidden; position:fixed; top:40%; left:50%; width:388px; min-height:150px; z-index:1000; background-color:white; border-width:3px; border-style:solid; border-radius:10px; padding:4px;">',
'<div>',
'<input type="checkbox" id="ScriptsForum" /><label for="ScriptsForum">Scripts Forum</label></br>',
'Region ' + BuildRegionDropdown() + '<input type="checkbox" id="RegionForumSetting"/><label for="RegionForumSetting">Forum</label> <input type="checkbox" id="RegionWikiSetting"/><label for="RegionWikiSetting">Wiki</label>',
'<div id="WBStates"></div>',
'</div></br>',//close region div
'<div style="position: relative; float: right; display: inline-block">', //save/cancel buttons
'<button id="WBSettingsSave" style="width: 85px;" class="btn btn-primary">Save</button>',
'<button id="WBSettingsCancel" class="btn btn-default">Cancel</button>',
'</div>',//end save/cancel buttons
'</div>'
].join(' '));
$("#WazeMap").append($section.html());
//Region forum checkbox toggled
$('#RegionForumSetting').change(function(){
var selectedItem = $('#WBRegions')[0].options[$('#WBRegions')[0].selectedIndex];
var region = selectedItem.value;
var forum = selectedItem.getAttribute("data-forum");
var abbr = selectedItem.getAttribute("data-abbr");
if(!WazeBarSettings.header.region)
WazeBarSettings.header.region = {};
if(WazeBarSettings.header.region[region] == null)
WazeBarSettings.header.region[region] = {};
if(this.checked){
WazeBarSettings.header.region[region].forum = forum;
WazeBarSettings.header.region[region].abbr = abbr;
}
else
delete WazeBarSettings.header.region[region].forum;
SaveSettings();
});
//Region wiki checkbox toggled
$('#RegionWikiSetting').change(function(){
var selectedItem = $('#WBRegions')[0].options[$('#WBRegions')[0].selectedIndex];
var region = selectedItem.value;
var wiki = selectedItem.getAttribute("data-wiki");
var abbr = selectedItem.getAttribute("data-abbr");
if(!WazeBarSettings.header.region)
WazeBarSettings.header.region = {};
if(WazeBarSettings.header.region[region] == null)
WazeBarSettings.header.region[region] = {};
if(this.checked){
WazeBarSettings.header.region[region].wiki = wiki;
WazeBarSettings.header.region[region].abbr = abbr;
}
else
delete WazeBarSettings.header.region[region].wiki;
SaveSettings();
});
//Cancel button clicked
$("#WBSettingsCancel").click(function(){
$('#WazeBarSettings').css({'visibility':'hidden'}); //hide the settings window
});
//Save button clicked
$("#WBSettingsSave").click(function(){
WazeBarSettings.scriptsForum = isChecked('ScriptsForum');
SaveSettings();
BuildWazebar();
$('#WazeBarSettings').css({'visibility':'hidden'}); //hide the settings window
});
//When they change the selected region, build a new state div.
$('#WBRegions').change(SelectedRegionChanged);
}
function SelectedRegionChanged(){
setChecked('RegionForumSetting', false);
setChecked('RegionWikiSetting', false);
var selectedItem = $('#WBRegions')[0].options[$('#WBRegions')[0].selectedIndex];
var region = selectedItem.value;
var wiki = selectedItem.getAttribute("data-wiki");
var forum = selectedItem.getAttribute("data-forum");
if(!WazeBarSettings.header.region)
WazeBarSettings.header.region = {};
if(WazeBarSettings.header.region[region] == null)
WazeBarSettings.header.region[region] = {};
if(WazeBarSettings.header.region[region].forum && WazeBarSettings.header.region[region].forum !== "")
setChecked('RegionForumSetting', true);
if(WazeBarSettings.header.region[region].wiki && WazeBarSettings.header.region[region].wiki !== "")
setChecked('RegionWikiSetting', true);
BuildStatesDiv();
}
function BuildStatesDiv(){
//Get the state list for this region
var selectedItem = $('#WBRegions')[0].options[$('#WBRegions')[0].selectedIndex];
var states = selectedItem.getAttribute("data-states").split(",");
var forum = selectedItem.getAttribute("data-forum");
var wiki = selectedItem.getAttribute("data-wiki");
var statesHTML = "";
$('#WBStates').empty();
for(var i=0;i<states.length;i++){
statesHTML = states[i] + " <input type='checkbox' id='"+states[i]+"ForumSetting'/><label for='"+states[i]+"ForumSetting'>Forum</label> <input type='checkbox' id='"+states[i]+"WikiSetting'/><label for='"+states[i]+"WikiSetting'>Wiki</label> <input type='checkbox' id='"+states[i]+"UnlockSetting'/><label for='"+states[i]+"UnlockSetting'>Unlock</label></br>";
$('#WBStates').append(statesHTML);
//Check the forum/wiki/unlock checkboxes if it has been saved
if(WazeBarSettings.header[states[i]]){
if(WazeBarSettings.header[states[i]].forum && WazeBarSettings.header[states[i]].forum !== "")
setChecked(states[i] + 'ForumSetting', true);
if(WazeBarSettings.header[states[i]].wiki && WazeBarSettings.header[states[i]].wiki !== "")
setChecked(states[i] + 'WikiSetting', true);
if(WazeBarSettings.header[states[i]].unlock && WazeBarSettings.header[states[i]].unlock !== "")
setChecked(states[i] + 'UnlockSetting', true);
}
$('#'+states[i]+'ForumSetting').change(function() {
var state = this.id.replace('ForumSetting', '');
if(!WazeBarSettings.header[state])
WazeBarSettings.header[state] = {};
if(this.checked){
WazeBarSettings.header[state].forum = States[state].forum;
WazeBarSettings.header[state].abbr = States[state].abbr;
}
else
delete WazeBarSettings.header[state].forum;
SaveSettings();
});
$('#'+states[i]+'WikiSetting').change(function() {
var state = this.id.replace('WikiSetting', '');
if(!WazeBarSettings.header[state])
WazeBarSettings.header[state] = {};
if(this.checked){
WazeBarSettings.header[state].wiki = States[state].wiki;
WazeBarSettings.header[state].abbr = States[state].abbr;
}
else
delete WazeBarSettings.header[state].wiki;
SaveSettings();
});
$('#'+states[i]+'UnlockSetting').change(function() {
var state = this.id.replace('UnlockSetting', '');
if(!WazeBarSettings.header[state])
WazeBarSettings.header[state] = {};
if(this.checked){
WazeBarSettings.header[state].unlock = "https://www.waze.com/forum/search.php?keywords=" + state.replace(' ', '+') + "&terms=all&author=&sv=0&fid%5B%5D=622&sc=0&sf=all&sr=topics&sk=t&sd=d&st=0&ch=300&t=0&submit=Search";
WazeBarSettings.header[state].abbr = States[state].abbr;
}
else
delete WazeBarSettings.header[state].unlock;
SaveSettings();
});
}
}
function BuildRegionDropdown(){
var $places = $("<div>");
$places.html([
'<select id="WBRegions">',
'<option value="Northwest" data-abbr="NWR" data-states="Alaska,Idaho,Montana,Washington,Oregon,Wyoming" data-forum="https://www.waze.com/forum/viewforum.php?f=565" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/Northwest">Northwest</option>',
'<option value="Southwest" data-abbr="SWR" data-states="Arizona,California,Colorado,Hawaii,Nevada,New Mexico,Utah" data-forum="https://www.waze.com/forum/viewforum.php?f=566" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/Southwest">Southwest</option>',
'<option value="Plains" data-abbr="PLN" data-states="Iowa,Kansas,Minnesota,Missouri,Nebraska,North Dakota,South Dakota" data-forum="https://www.waze.com/forum/viewforum.php?f=567" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/Plains">Plains</option>',
'<option value="South Central" data-abbr="SCR" data-states="Arkansas,Louisiana,Mississippi,Oklahoma,Texas" data-forum="https://www.waze.com/forum/viewforum.php?f=568" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/South_Central">South Central</option>',
'<option value="Great Lakes" data-abbr="GLR" data-states="Illinois,Indiana,Michigan,Ohio,Wisconsin" data-forum="https://www.waze.com/forum/viewforum.php?f=943" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/Great_Lakes">Great Lakes</option>',
'<option value="South Atlantic" data-abbr="SAT" data-states="Kentucky,North Carolina,South Carolina,Tennessee" data-forum="https://www.waze.com/forum/viewforum.php?f=570" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/South_Atlantic">South Atlantic</option>',
'<option value="Southeast" data-abbr="SER" data-states="Alabama,Florida,Georgia" data-forum="https://www.waze.com/forum/viewforum.php?f=944" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/Southeast">Southeast</option>',
'<option value="New England" data-abbr="NER" data-states="Connecticut,Maine,Massachusetts,New Hampshire,Rhode Island,Vermont" data-forum="https://www.waze.com/forum/viewforum.php?f=945" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/New_England">New England</option>',
'<option value="Northeast" data-abbr="NOR" data-states="Delaware,New Jersey,New York,Pennsylvania" data-forum="https://www.waze.com/forum/viewforum.php?f=569" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/Northeast">Northeast</option>',
'<option value="Mid Atlantic" data-abbr="MAR" data-states="District of Columbia,Maryland,Virginia,West Virginia" data-forum="https://www.waze.com/forum/viewforum.php?f=946" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/Mid_Atlantic">Mid Atlantic</option>',
'<option value="Territories" data-abbr="ATR" data-states="Puerto Rico,US Virgin Islands,South Pacific Territories" data-forum="https://www.waze.com/forum/viewforum.php?f=953" data-wiki="https://wazeopedia.waze.com/wiki/USA/USA/Territories">Territories</option>'
].join(' '));
return $places.html();
}
var States = {};
States.Alabama = {forum:"https://www.waze.com/forum/viewforum.php?f=213", wiki:"https://wazeopedia.waze.com/wiki/USA/Southeast", abbr:"AL"};
States.Alaska = {forum:"https://www.waze.com/forum/viewforum.php?f=254", wiki:"https://wazeopedia.waze.com/wiki/USA/Alaska", abbr:"AK"};
States.Arizona = {forum:"https://www.waze.com/forum/viewforum.php?f=652", wiki:"https://wazeopedia.waze.com/wiki/USA/Arizona", abbr:"AZ"};
States.Arkansas = {forum:"https://www.waze.com/forum/viewforum.php?f=598", wiki:"https://wazeopedia.waze.com/wiki/USA/Arkansas", abbr:"AR"};
States.California = {forum:"https://www.waze.com/forum/viewforum.php?f=251", wiki:"https://wazeopedia.waze.com/wiki/USA/California", abbr:"CA"};
States.Colorado = {forum:"https://www.waze.com/forum/viewforum.php?f=654", wiki:"https://wazeopedia.waze.com/wiki/USA/Colorado", abbr:"CO"};
States.Connecticut = {forum:"https://www.waze.com/forum/viewforum.php?f=247", wiki:"https://wazeopedia.waze.com/wiki/USA/Connecticut", abbr:"CT"};
States.Delaware = {forum:"https://www.waze.com/forum/viewforum.php?f=575", wiki:"https://wazeopedia.waze.com/wiki/USA/Delaware", abbr:"DE"};
States["District of Columbia"] = {forum:"https://www.waze.com/forum/viewforum.php?f=258", wiki:"https://wazeopedia.waze.com/wiki/USA/District_of_Columbia", abbr:"DC"};
States.Florida = {forum:"https://www.waze.com/forum/viewforum.php?f=193", wiki:"https://wazeopedia.waze.com/wiki/USA/Southeast", abbr:"FL"};
States.Georgia = {forum:"https://www.waze.com/forum/viewforum.php?f=214", wiki:"https://wazeopedia.waze.com/wiki/USA/Southeast", abbr:"GA"};
States.Hawaii = {forum:"https://www.waze.com/forum/viewforum.php?f=305", wiki:"https://wazeopedia.waze.com/wiki/USA/Hawaii", abbr:"HA"};
States.Idaho = {forum:"https://www.waze.com/forum/viewforum.php?f=648", wiki:"https://wazeopedia.waze.com/wiki/USA/Idaho", abbr:"ID"};
States.Illinois = {forum:"https://www.waze.com/forum/viewforum.php?f=253", wiki:"https://wazeopedia.waze.com/wiki/USA/Illinois", abbr:"IL"};
States.Indiana = {forum:"https://www.waze.com/forum/viewforum.php?f=631", wiki:"https://wazeopedia.waze.com/wiki/USA/Indiana", abbr:"IN"};
States.Iowa = {forum:"https://www.waze.com/forum/viewforum.php?f=632", wiki:"https://wazeopedia.waze.com/wiki/USA/Iowa", abbr:"IA"};
States.Kansas = {forum:"https://www.waze.com/forum/viewforum.php?f=628", wiki:"https://wazeopedia.waze.com/wiki/USA/Kansas", abbr:"KS"};
States.Kentucky = {forum:"https://www.waze.com/forum/viewforum.php?f=571", wiki:"https://wazeopedia.waze.com/wiki/USA/Kentucky", abbr:"KY"};
States.Louisiana = {forum:"https://www.waze.com/forum/viewforum.php?f=594", wiki:"https://wazeopedia.waze.com/wiki/USA/Louisiana", abbr:"LA"};
States.Maine = {forum:"https://www.waze.com/forum/viewforum.php?f=583", wiki:"https://wazeopedia.waze.com/wiki/USA/Maine", abbr:"ME"};
States.Maryland = {forum:"https://www.waze.com/forum/viewforum.php?f=246", wiki:"https://wazeopedia.waze.com/wiki/USA/Maryland", abbr:"MD"};
States.Massachusetts = {forum:"https://www.waze.com/forum/viewforum.php?f=618", wiki:"https://wazeopedia.waze.com/wiki/USA/Massachusetts", abbr:"MA"};
States.Michigan = {forum:"https://www.waze.com/forum/viewforum.php?f=630", wiki:"https://wazeopedia.waze.com/wiki/USA/Michigan", abbr:"MI"};
States.Minnesota = {forum:"https://www.waze.com/forum/viewforum.php?f=259", wiki:"https://wazeopedia.waze.com/wiki/USA/Minnesota", abbr:"MN"};
States.Mississippi = {forum:"https://www.waze.com/forum/viewforum.php?f=596", wiki:"https://wazeopedia.waze.com/wiki/USA/Mississippi", abbr:"MS"};
States.Missouri = {forum:"https://www.waze.com/forum/viewforum.php?f=414", wiki:"https://wazeopedia.waze.com/wiki/USA/Missouri", abbr:"MO"};
States.Montana = {forum:"https://www.waze.com/forum/viewforum.php?f=649", wiki:"https://wazeopedia.waze.com/wiki/USA/Montana", abbr:"MT"};
States.Nebraska = {forum:"https://www.waze.com/forum/viewforum.php?f=634", wiki:"https://wazeopedia.waze.com/wiki/USA/Nebraska", abbr:"NE"};
States.Nevada = {forum:"https://www.waze.com/forum/viewforum.php?f=651", wiki:"https://wazeopedia.waze.com/wiki/USA/Nevada", abbr:"NV"};
States["New Hampshire"] = {forum:"https://www.waze.com/forum/viewforum.php?f=585", wiki:"https://wazeopedia.waze.com/wiki/USA/New_Hampshire", abbr:"NH"};
States["New Jersey"] = {forum:"https://www.waze.com/forum/viewforum.php?f=249", wiki:"https://wazeopedia.waze.com/wiki/USA/New_Jersey", abbr:"NJ"};
States["New Mexico"] = {forum:"https://www.waze.com/forum/viewforum.php?f=653", wiki:"https://wazeopedia.waze.com/wiki/USA/New_Mexico", abbr:"NM"};
States["New York"] = {forum:"https://www.waze.com/forum/viewforum.php?f=250", wiki:"https://wazeopedia.waze.com/wiki/USA/New_York", abbr:"NY"};
States["North Carolina"] = {forum:"https://www.waze.com/forum/viewforum.php?f=255", wiki:"https://wazeopedia.waze.com/wiki/USA/North_Carolina", abbr:"NC"};
States["North Dakota"] = {forum:"https://www.waze.com/forum/viewforum.php?f=624", wiki:"https://wazeopedia.waze.com/wiki/USA/North_Dakota", abbr:"ND"};
States.Ohio = {forum:"https://www.waze.com/forum/viewforum.php?f=261", wiki:"https://wazeopedia.waze.com/wiki/USA/Ohio", abbr:"OH"};
States.Oklahoma = {forum:"https://www.waze.com/forum/viewforum.php?f=600", wiki:"https://wazeopedia.waze.com/wiki/USA/Oklahoma", abbr:"OK"};
States.Oregon = {forum:"https://www.waze.com/forum/viewforum.php?f=647", wiki:"https://wazeopedia.waze.com/wiki/USA/Oregon", abbr:"OR"};
States.Pennsylvania = {forum:"https://www.waze.com/forum/viewforum.php?f=215", wiki:"https://wazeopedia.waze.com/wiki/USA/Pennsylvania", abbr:"PA"};
States["Rhode Island"] = {forum:"https://www.waze.com/forum/viewforum.php?f=577", wiki:"https://wazeopedia.waze.com/wiki/USA/Rhode_Island", abbr:"RI"};
States["South Carolina"] = {forum:"https://www.waze.com/forum/viewforum.php?f=256", wiki:"https://wazeopedia.waze.com/wiki/USA/South_Carolina", abbr:"SC"};
States["South Dakota"] = {forum:"https://www.waze.com/forum/viewforum.php?f=626", wiki:"https://wazeopedia.waze.com/wiki/USA/South_Dakota", abbr:"SD"};
States.Tennessee = {forum:"https://www.waze.com/forum/viewforum.php?f=210", wiki:"https://wazeopedia.waze.com/wiki/USA/Tennessee", abbr:"TN"};
States.Texas = {forum:"https://www.waze.com/forum/viewforum.php?f=237", wiki:"https://wazeopedia.waze.com/wiki/USA/Texas", abbr:"TX"};
States.Utah = {forum:"https://www.waze.com/forum/viewforum.php?f=364", wiki:"https://wazeopedia.waze.com/wiki/USA/Utah", abbr:"UT"};
States.Vermont = {forum:"https://www.waze.com/forum/viewforum.php?f=587", wiki:"https://wazeopedia.waze.com/wiki/USA/Vermont", abbr:"VT"};
States.Virginia = {forum:"https://www.waze.com/forum/viewforum.php?f=580", wiki:"https://wazeopedia.waze.com/wiki/USA/Virginia", abbr:"VA"};
States.Washington = {forum:"https://www.waze.com/forum/viewforum.php?f=201", wiki:"https://wazeopedia.waze.com/wiki/USA/Washington", abbr:"WA"};
States["West Virginia"] = {forum:"https://www.waze.com/forum/viewforum.php?f=582", wiki:"https://wazeopedia.waze.com/wiki/USA/West_Virginia", abbr:"WV"};
States.Wisconsin = {forum:"https://www.waze.com/forum/viewforum.php?f=387", wiki:"https://wazeopedia.waze.com/wiki/USA/Wisconsin", abbr:"WI"};
States.Wyoming = {forum:"https://www.waze.com/forum/viewforum.php?f=650", wiki:"https://wazeopedia.waze.com/wiki/USA/Wyoming", abbr:"WY"};
States["Puerto Rico"] = {forum:"https://www.waze.com/forum/viewforum.php?f=202", wiki:"https://wazeopedia.waze.com/wiki/USA/Puerto_Rico", abbr:"PR"};
States["US Virgin Islands"] = {forum:"https://www.waze.com/forum/viewforum.php?f=677", wiki:"https://wazeopedia.waze.com/wiki/USA/Virgin_Islands", abbr:""};
States["South Pacific Territories"] = {forum:"https://www.waze.com/forum/viewforum.php?f=954", wiki:"", abbr:""};
//console.log(States);
//delete States.Alabama;
//console.log(States);
function isChecked(checkboxId) {
return $('#' + checkboxId).is(':checked');
}
function setChecked(checkboxId, checked) {
$('#' + checkboxId).prop('checked', checked);
}
function LoadSettingsObj() {
var loadedSettings;
try{
loadedSettings = $.parseJSON(localStorage.getItem("Wazebar_Settings"));
}
catch(err){
loadedSettings = null;
}
var defaultSettings = {
inboxInterval: 5,
forumInterval: 2,
scriptsForum: false,
header: {region:{}}
};
WazeBarSettings = loadedSettings ? loadedSettings : defaultSettings;
for (var prop in defaultSettings) {
if (!WazeBarSettings.hasOwnProperty(prop))
WazeBarSettings[prop] = defaultSettings[prop];
}
}
function SaveSettings() {
if (localStorage) {
/*
Object.keys(obj).forEach(function(key,index) {
// key: the name of the object key
// index: the ordinal position of the key within the object
});
*/
var localsettings = {
inboxInterval: WazeBarSettings.inboxInterval,
forumInterval: WazeBarSettings.forumInterval,
scriptsForum: WazeBarSettings.scriptsForum,
header: WazeBarSettings.header
};
localStorage.setItem("Wazebar_Settings", JSON.stringify(localsettings));
}
}
})();