├── CNAME ├── img ├── favicon.ico ├── google.png ├── twitter.png ├── facebook.png ├── bernie-sanders.jpg ├── bernie-sanders-og.jpg ├── bernie-sanders-favicon.pdn ├── bernie-sanders-favicon.png ├── bernie-sanders-original.jpg ├── billionaires.svg └── billionaires_white.svg ├── fonts ├── FreightSans Bold.ttf ├── FreightSans Book.ttf ├── FreightSans BoldSC.ttf ├── FreightSans Medium.ttf └── JubilatMedium-Roman.otf ├── shareables ├── isnt-he-a-socialist.pdn └── isnt-he-a-socialist.png ├── get-primary-stats.rb ├── LICENSE ├── index.html ├── js ├── scripts.js ├── faq.js ├── messages.js └── jquery-2.1.4.min.js ├── css └── styles.css ├── primary_stats.json └── messages.js /CNAME: -------------------------------------------------------------------------------- 1 | ilikeberniebut.com -------------------------------------------------------------------------------- /img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/img/favicon.ico -------------------------------------------------------------------------------- /img/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/img/google.png -------------------------------------------------------------------------------- /img/twitter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/img/twitter.png -------------------------------------------------------------------------------- /img/facebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/img/facebook.png -------------------------------------------------------------------------------- /img/bernie-sanders.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/img/bernie-sanders.jpg -------------------------------------------------------------------------------- /img/bernie-sanders-og.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/img/bernie-sanders-og.jpg -------------------------------------------------------------------------------- /fonts/FreightSans Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/fonts/FreightSans Bold.ttf -------------------------------------------------------------------------------- /fonts/FreightSans Book.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/fonts/FreightSans Book.ttf -------------------------------------------------------------------------------- /fonts/FreightSans BoldSC.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/fonts/FreightSans BoldSC.ttf -------------------------------------------------------------------------------- /fonts/FreightSans Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/fonts/FreightSans Medium.ttf -------------------------------------------------------------------------------- /fonts/JubilatMedium-Roman.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/fonts/JubilatMedium-Roman.otf -------------------------------------------------------------------------------- /img/bernie-sanders-favicon.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/img/bernie-sanders-favicon.pdn -------------------------------------------------------------------------------- /img/bernie-sanders-favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/img/bernie-sanders-favicon.png -------------------------------------------------------------------------------- /img/bernie-sanders-original.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/img/bernie-sanders-original.jpg -------------------------------------------------------------------------------- /shareables/isnt-he-a-socialist.pdn: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/shareables/isnt-he-a-socialist.pdn -------------------------------------------------------------------------------- /shareables/isnt-he-a-socialist.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jacobnisnevich/i-like-bernie-but/HEAD/shareables/isnt-he-a-socialist.png -------------------------------------------------------------------------------- /get-primary-stats.rb: -------------------------------------------------------------------------------- 1 | require 'nokogiri' 2 | require 'open-uri' 3 | require 'json' 4 | 5 | page = Nokogiri::HTML(open('http://voteforbernie.org/')) 6 | states = page.css(".state") 7 | 8 | messages = {} 9 | 10 | states.each do |state| 11 | state_data = {} 12 | 13 | state_name = state.css(".state-title").text.strip 14 | 15 | state_type_match = state.css(".state-content").text.match(state_name + ' .* has (.*?) (primaries|caucuses)') 16 | state_data["openness"] = state_type_match[1] 17 | state_data["type"] = state_type_match[2] 18 | 19 | state_resources = state.css(".resources div") 20 | state_data["date"] = state_resources[0].text.match('(Primary|Caucus) On(.*)')[2] 21 | if !state_resources[1].nil? 22 | state_data["registrationDeadline"] = state_resources[1].text.match('Register By(.*)')[1] 23 | else 24 | state_data["registrationDeadline"] = nil 25 | end 26 | 27 | state_data["onlineAvailable"] = state.css(".extra").text.include? "Online Registration Available!" 28 | 29 | messages[state_name] = state_data 30 | end 31 | 32 | File.open("primary_stats.json", 'w') do |file| 33 | file.write(messages.to_json) 34 | end -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Jacob Nisnevich 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | I Like Bernie, But... 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 |
x
28 |
29 | Looks like you're in .
30 |
31 |
32 |
33 |
34 |
35 |
I Like Bernie, But...
36 |
37 |
38 |
39 |
40 |
CONVINCED?
41 |
42 |
43 |
44 |
GO TO TOP
45 |
46 |
CONVINCED?
47 |
48 | 52 | 53 |
54 | 55 | 56 | 57 |
58 | 59 | 60 | 61 | 70 | 71 | 72 | -------------------------------------------------------------------------------- /js/scripts.js: -------------------------------------------------------------------------------- 1 | function displayAnyMessagesForState(state, override) { 2 | if (messages[state]) { 3 | // any messages with deadlines within 2 days from now? 4 | messages[state].forEach(function (message) { 5 | if ((Date.now() < message.deadline.getTime() && Date.now() > message.startTime.getTime()) || override) { 6 | $("#message-state").text(state); 7 | $("#message-custom-text").html(message.text); 8 | 9 | $("#message-custom-text a").click(function() { 10 | ga('send', 'event', 'Message Outbound', 'click', state + ":" + $(this).attr("href")); 11 | return true; 12 | }); 13 | 14 | $("#message").show(); 15 | $("#gray-screen").show(); 16 | 17 | ga('send', 'event', 'Message', 'show', state); 18 | } 19 | }); 20 | } 21 | } 22 | 23 | $(document).ready(function() { 24 | faq.forEach(function(entry, index) { 25 | generateEntry(entry, index); 26 | }); 27 | 28 | var followScroll = true; 29 | var ipInfoApiKey = "9e5d5cef52a748a4342915d7f9e6517c60e2eca0baf5f111ff9eaef78ae358fe"; 30 | 31 | $.getJSON("https://api.ipify.org?format=json", function(data) { 32 | var ipLookup = "http://api.ipinfodb.com/v3/ip-city/?key=" + ipInfoApiKey + "&ip=" + data.ip + "&format=json" 33 | $.getJSON(ipLookup, function(data) { 34 | displayAnyMessagesForState(data.regionName); 35 | }); 36 | }); 37 | 38 | $("#close-message").click(function() { 39 | $("#message").fadeOut(200); 40 | $("#gray-screen").fadeOut(200); 41 | }); 42 | 43 | $(".toc-entry").click(function() { 44 | var index = this.id.match(/toc-entry-(.*)/); 45 | 46 | if (index) { 47 | $('html, body').animate({ 48 | scrollTop: $("#entry-" + index[1]).offset().top - 20 49 | }, 500); 50 | } else if (this.id == "top") { 51 | $('html, body').animate({ 52 | scrollTop: $("html").offset().top 53 | }, 500); 54 | } 55 | 56 | $(".toc-entry.selected").removeClass("selected"); 57 | $(this).addClass("selected"); 58 | 59 | if (index) { 60 | window.location.hash = $(this).data("question") + "?"; 61 | } else { 62 | window.location.hash = ""; 63 | } 64 | }); 65 | 66 | $(document).scroll(function() { 67 | if (followScroll) { 68 | for (var i = 0; i < faq.length; i++) { 69 | if ($(this).scrollTop() >= $("#entry-" + i).position().top + $("#entry-" + i - 1 + " .question").height() - 70) { 70 | $(".toc-entry.selected").removeClass("selected"); 71 | $("#toc-entry-" + i).addClass("selected"); 72 | } 73 | } 74 | } 75 | 76 | if ($(this).scrollTop() < $(".header").height()) { 77 | $(".table-of-contents").css("top", $(".header").height() - $(this).scrollTop() + 20 + "px"); 78 | } 79 | else if ($(".table-of-contents").css("top") !== "20px") { 80 | $(".table-of-contents").css("top", "20px"); 81 | } 82 | 83 | if ($(this).scrollTop() > $(".footer").position().top - $(window).height() + 110) { 84 | $(".share-controls").css({ 85 | bottom: $(window).height() + $(this).scrollTop() - $(".footer").position().top - 90 + "px", 86 | right: $(window).width()/2 - $(".share-controls").width()/2 + "px", 87 | zIndex: 1 88 | }) 89 | .addClass('display-inline'); 90 | $(".table-of-contents").css("left", 10 - $(".table-of-contents").width() + "px"); 91 | 92 | } 93 | else if ($(".share-controls").css("bottom") !== "20px") { 94 | $(".share-controls").css({ 95 | bottom: "20px", 96 | right: "20px", 97 | zIndex: 0 98 | }) 99 | .removeClass('display-inline'); 100 | $(".table-of-contents").css("left", 0); 101 | } 102 | }); 103 | 104 | $(".created-by").click(function() { 105 | ga('send', 'event', 'Outbound', 'click', "https://github.com/jacobnisnevich/i-like-bernie-but"); 106 | window.open("https://github.com/jacobnisnevich/i-like-bernie-but", "_blank"); 107 | }); 108 | 109 | $(".convinced-button").click(function() { 110 | ga('send', 'event', 'Convinced', 'click', "http://berniesanders.com"); 111 | window.open("http://berniesanders.com", "_blank"); 112 | }); 113 | 114 | $("a").click(function() { 115 | ga('send', 'event', 'Outbound', 'click', $(this).attr("href")); 116 | return true; 117 | }); 118 | }); 119 | 120 | if (window.location.hash) { 121 | // Scroll to pre-selected question 122 | setTimeout(function(){ 123 | var entryClass = window.location.hash.replace(/#/g,'').replace(/\?/g,''); 124 | $("div[data-question=" + entryClass + "]").click(); 125 | }, 300); 126 | }; 127 | 128 | var generateEntry = function(entry, index) { 129 | $(".faq").append("
\ 130 |
\ 131 |
" + entry.question + "
\ 132 |
\ 133 |
\ 134 |
" + entry.answer + "
\ 135 |
\ 136 |
"); 137 | 138 | if (entry.question.indexOf("learn more") < 0) { 139 | $(".table-of-contents .questions").append("
" + entry.question + "
"); 140 | } 141 | } 142 | -------------------------------------------------------------------------------- /css/styles.css: -------------------------------------------------------------------------------- 1 | /* 2 | Red: rgb(245, 91, 91); 3 | White: rgb(255, 255, 255); 4 | Blue: rgb(8, 126, 215); 5 | */ 6 | 7 | html { 8 | background: url("../img/bernie-sanders.jpg") no-repeat center center fixed; 9 | background-size: cover; 10 | height: 100%; 11 | } 12 | 13 | body { 14 | margin: 0; 15 | } 16 | 17 | .container { 18 | margin: 0 20%; 19 | } 20 | 21 | .shadow { 22 | box-shadow: 0 0 10px 0 rgba(0,0,0,.25); 23 | } 24 | 25 | .clearfix:after { 26 | content: ""; 27 | display: table; 28 | clear: both; 29 | } 30 | 31 | #message { 32 | width: 70%; 33 | display: none; 34 | position: absolute; 35 | margin: 0 auto; 36 | background-color: rgb(245, 91, 91); 37 | left: 10px; 38 | right: 10px; 39 | top: 10px; 40 | border-radius: 5px; 41 | z-index: 4; 42 | } 43 | 44 | #message .small { 45 | margin-top: 10px; 46 | font-size: 0.6em; 47 | } 48 | 49 | #close-message { 50 | font: 30px "Roboto", sans-serif; 51 | color: white; 52 | position: absolute; 53 | top: 5px; 54 | right: 7px; 55 | line-height: 20px; 56 | cursor: pointer; 57 | } 58 | 59 | #message-text { 60 | font: 24px "Roboto Slab", serif; 61 | padding: 34px; 62 | text-align: center; 63 | color: white; 64 | } 65 | 66 | #message-custom-text { 67 | margin-top: 10px; 68 | } 69 | 70 | #gray-screen { 71 | display: none; 72 | background-color: #666; 73 | opacity: 0.7; 74 | position: absolute; 75 | top: 0; 76 | left: 0; 77 | right: 0; 78 | bottom: 0; 79 | z-index: 3; 80 | } 81 | 82 | .header { 83 | position: relative; 84 | width: 100%; 85 | height: 108px; 86 | background-color: rgb(8, 126, 215); 87 | color: rgb(255, 255, 255); 88 | font: 48px "Roboto Slab"; 89 | font-weight: 700; 90 | } 91 | 92 | .header-text { 93 | position: absolute; 94 | bottom: 4px; 95 | } 96 | 97 | .main { 98 | width: 100%; 99 | } 100 | 101 | .faq { 102 | margin-top: 40px; 103 | } 104 | 105 | .faq .entry { 106 | font: 20px "Roboto Slab"; 107 | margin: 40px 0px 80px; 108 | } 109 | 110 | .question-container { 111 | max-width: 55%; 112 | } 113 | 114 | .question { 115 | position: relative; 116 | display: inline-block; 117 | padding: 20px; 118 | background-color: rgb(245, 91, 91); 119 | color: rgb(255, 255, 255); 120 | box-shadow: 0 0 10px 0 rgba(0,0,0,.25); 121 | border-radius: 5px; 122 | } 123 | 124 | .question:after { 125 | content: ""; 126 | position: absolute; 127 | top: -15px; 128 | left: 50px; 129 | border-width: 0 15px 15px; 130 | border-style: solid; 131 | border-color: rgb(245, 91, 91) transparent; 132 | display: block; 133 | width: 0; 134 | } 135 | 136 | .answer-container { 137 | float: right; 138 | margin-top: 20px; 139 | max-width: 55%; 140 | } 141 | 142 | .answer { 143 | position: relative; 144 | display: inline-block; 145 | padding: 20px; 146 | background-color: rgb(8, 126, 215); 147 | color: rgb(255, 255, 255); 148 | box-shadow: 0 0 10px 0 rgba(0,0,0,.25); 149 | border-radius: 5px; 150 | } 151 | 152 | .answer:after { 153 | content: ""; 154 | position: absolute; 155 | bottom: -15px; 156 | right: 50px; 157 | border-width: 15px 15px 0; 158 | border-style: solid; 159 | border-color: rgb(8, 126, 215) transparent; 160 | display: block; 161 | width: 0; 162 | } 163 | 164 | .table-of-contents { 165 | position: fixed; 166 | top: 130px; 167 | left: 0; 168 | font: 14px "Roboto Slab"; 169 | width: 15%; 170 | padding: 10px 10px 10px 0px; 171 | box-sizing: border-box; 172 | color: #087ED7; 173 | background-color: rgb(245, 245, 245); 174 | border-top-right-radius: 5px; 175 | border-bottom-right-radius: 5px; 176 | box-shadow: 0 0 10px 0 rgba(0,0,0,.25); 177 | z-index: 2; 178 | transition: left 0.3s ease; 179 | } 180 | 181 | .table-of-contents:hover { 182 | left: 0 !important; 183 | } 184 | 185 | .questions { 186 | margin-left: 10px; 187 | } 188 | 189 | .toc-entry { 190 | margin: 5px 0; 191 | padding: 5px; 192 | border-left: 3px solid transparent; 193 | cursor: pointer; 194 | } 195 | 196 | .toc-entry:hover { 197 | background-color: rgba(255,255,255,0.9); 198 | color: rgb(30, 30, 30); 199 | font-weight: bold; 200 | transition: 0.2s all ease; 201 | } 202 | 203 | .toc-entry.selected { 204 | /* background-color: rgb(245, 91, 91); 205 | color: rgb(255, 255, 255); 206 | box-shadow: 0 0 10px 0 rgba(0,0,0,.25); 207 | border-radius: 5px; */ 208 | 209 | border-left: 3px solid rgb(245, 91, 91); 210 | font-weight: bold; 211 | } 212 | 213 | #top, #convinced { 214 | font: 24px "Roboto Slab"; 215 | font-weight: 100; 216 | text-align: center; 217 | background-color: #F55B5B; 218 | border-top-right-radius: 5px; 219 | border-bottom-right-radius: 5px; 220 | margin: 0; 221 | color: white; 222 | } 223 | 224 | #convinced a, #big-convinced a { 225 | text-decoration: none; 226 | } 227 | 228 | .convinced-button, .created-by { 229 | cursor: pointer; 230 | } 231 | 232 | .share-controls { 233 | width: 100%; 234 | max-width: 200px; 235 | position: fixed; 236 | bottom: 20px; 237 | right: 20px; 238 | text-align: center; 239 | z-index: 0; 240 | } 241 | 242 | .share-controls img { 243 | width: 48px; 244 | border-radius: 50%; 245 | padding: 0; 246 | } 247 | 248 | .share-controls img:hover { 249 | background-color: rgb(8, 126, 215); 250 | background-size: 50%, 25%, 25%; 251 | } 252 | 253 | .footer { 254 | width: 100%; 255 | height: 275px; 256 | padding: 120px 50px 50px 50px; 257 | background-color: #087ED7; 258 | box-shadow: 0 0 10px 0 rgba(0,0,0,.25); 259 | box-sizing: border-box; 260 | position: relative; 261 | z-index: 1; 262 | } 263 | 264 | .created-by { 265 | margin: 0 auto; 266 | font: 24px "Roboto"; 267 | font-weight: 200; 268 | width: 300px; 269 | border: 1px solid white; 270 | color: white; 271 | padding: 10px 40px; 272 | } 273 | 274 | .not-the-billionaires { 275 | margin: 10px auto; 276 | width: 262.5px; 277 | height: 35.25px; 278 | background-image: url("../img/billionaires_white.svg"); 279 | background-size: 100%; 280 | } 281 | 282 | #big-convinced { 283 | font-family: "Roboto Slab"; 284 | font-size: 32px; 285 | margin: 0 auto 50px; 286 | width: 250px; 287 | padding: 20px; 288 | background-color: rgb(245, 91, 91); 289 | color: rgb(255, 255, 255); 290 | box-shadow: 0 0 10px 0 rgba(0,0,0,.25); 291 | border-radius: 5px; 292 | text-align: center; 293 | } 294 | 295 | #big-convinced:hover { 296 | background-color: rgb(255, 120, 120); 297 | } 298 | 299 | a { 300 | color: white; 301 | } 302 | 303 | a:hover { 304 | text-decoration: none; 305 | } 306 | 307 | .display-inline { 308 | display: inline !important; 309 | } 310 | 311 | #bernrate { 312 | display: none; 313 | } 314 | 315 | @media (max-width: 800px) { 316 | .header { 317 | height: 160px; 318 | } 319 | 320 | .header-text { 321 | padding: 10px; 322 | } 323 | 324 | .container { 325 | margin: 5px; 326 | } 327 | 328 | .table-of-contents { 329 | display: none; 330 | } 331 | 332 | .question-container, .answer-container { 333 | max-width: 80%; 334 | } 335 | 336 | .share-controls { 337 | display: none; 338 | } 339 | 340 | .created-by { 341 | text-align: center; 342 | width: 90%; 343 | padding: 10px; 344 | } 345 | 346 | #message { 347 | position: inherit; 348 | width: 100%; 349 | margin: 0; 350 | left: 0; 351 | top: 0; 352 | background-color: #FEEFB3; 353 | color: #9F6000; 354 | } 355 | 356 | #message-text { 357 | padding: 12px; 358 | font-size: 18px; 359 | color: inherit; 360 | } 361 | 362 | #message-text a { 363 | color: inherit; 364 | } 365 | 366 | #message .small { 367 | font-size: 0.8em; 368 | } 369 | 370 | #close-message { 371 | font-size: 60px; 372 | margin-top: 10px; 373 | margin-right: 10px; 374 | color: inherit; 375 | } 376 | 377 | #gray-screen { 378 | display: none !important; 379 | } 380 | } 381 | -------------------------------------------------------------------------------- /img/billionaires.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 94 | 95 | 96 | -------------------------------------------------------------------------------- /img/billionaires_white.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | image/svg+xml -------------------------------------------------------------------------------- /primary_stats.json: -------------------------------------------------------------------------------- 1 | { 2 | "Alabama": { 3 | "openness": "open", 4 | "type": "primaries", 5 | "date": "Tue, March 1 (16 days away)", 6 | "registrationDeadline": "Mon, February 15 (tomorrow!)", 7 | "onlineAvailable": true 8 | }, 9 | "Alaska": { 10 | "openness": "closed", 11 | "type": "caucuses", 12 | "date": "Sat, March 26", 13 | "registrationDeadline": "Sat, March 26", 14 | "onlineAvailable": true 15 | }, 16 | "Arizona": { 17 | "openness": "closed", 18 | "type": "primaries", 19 | "date": "Tue, March 22", 20 | "registrationDeadline": "Mon, February 22 (8 days away)", 21 | "onlineAvailable": true 22 | }, 23 | "Arkansas": { 24 | "openness": "open", 25 | "type": "primaries", 26 | "date": "Tue, March 1 (16 days away)", 27 | "registrationDeadline": "February 1, 2016", 28 | "onlineAvailable": false 29 | }, 30 | "California": { 31 | "openness": "semi-closed", 32 | "type": "primaries", 33 | "date": "Tue, June 7", 34 | "registrationDeadline": "Mon, May 23", 35 | "onlineAvailable": true 36 | }, 37 | "Colorado": { 38 | "openness": "closed", 39 | "type": "caucuses", 40 | "date": "Tue, March 1 (16 days away)", 41 | "registrationDeadline": "January 4, 2016", 42 | "onlineAvailable": true 43 | }, 44 | "Connecticut": { 45 | "openness": "closed", 46 | "type": "primaries", 47 | "date": "Tue, April 26", 48 | "registrationDeadline": "Thu, April 21", 49 | "onlineAvailable": true 50 | }, 51 | "Delaware": { 52 | "openness": "closed", 53 | "type": "primaries", 54 | "date": "Tue, April 26", 55 | "registrationDeadline": "Sat, April 2", 56 | "onlineAvailable": true 57 | }, 58 | "Washington, DC": { 59 | "openness": "closed", 60 | "type": "primaries", 61 | "date": "Tue, June 14", 62 | "registrationDeadline": "Mon, May 23", 63 | "onlineAvailable": true 64 | }, 65 | "Florida": { 66 | "openness": "closed", 67 | "type": "primaries", 68 | "date": "Tue, March 15", 69 | "registrationDeadline": "Tue, February 16 (2 more days!)", 70 | "onlineAvailable": false 71 | }, 72 | "Georgia": { 73 | "openness": "open", 74 | "type": "primaries", 75 | "date": "Tue, March 1 (16 days away)", 76 | "registrationDeadline": "February 1, 2016", 77 | "onlineAvailable": true 78 | }, 79 | "Hawaii": { 80 | "openness": "closed", 81 | "type": "caucuses", 82 | "date": "Sat, March 26", 83 | "registrationDeadline": "Sat, March 26", 84 | "onlineAvailable": true 85 | }, 86 | "Idaho": { 87 | "openness": "open", 88 | "type": "caucuses", 89 | "date": "Tue, March 22", 90 | "registrationDeadline": "Tue, March 22", 91 | "onlineAvailable": false 92 | }, 93 | "Illinois": { 94 | "openness": "semi-closed", 95 | "type": "primaries", 96 | "date": "Tue, March 15", 97 | "registrationDeadline": "Tue, February 16 (2 more days!)", 98 | "onlineAvailable": true 99 | }, 100 | "Indiana": { 101 | "openness": "open", 102 | "type": "primaries", 103 | "date": "Tue, May 3", 104 | "registrationDeadline": "Mon, April 4", 105 | "onlineAvailable": true 106 | }, 107 | "Iowa": { 108 | "openness": "semi-open", 109 | "type": "caucuses", 110 | "date": "February 1, 2016", 111 | "registrationDeadline": "February 1, 2016", 112 | "onlineAvailable": true 113 | }, 114 | "Kansas": { 115 | "openness": "closed", 116 | "type": "caucuses", 117 | "date": "Sat, March 5 (20 days away)", 118 | "registrationDeadline": "Sat, March 5 (20 days away)", 119 | "onlineAvailable": true 120 | }, 121 | "Kentucky": { 122 | "openness": "closed", 123 | "type": "primaries", 124 | "date": "Tue, May 17", 125 | "registrationDeadline": "Mon, April 18", 126 | "onlineAvailable": false 127 | }, 128 | "Louisiana": { 129 | "openness": "closed", 130 | "type": "primaries", 131 | "date": "Sat, March 5 (20 days away)", 132 | "registrationDeadline": "February 3, 2016", 133 | "onlineAvailable": true 134 | }, 135 | "Maine": { 136 | "openness": "closed", 137 | "type": "caucuses", 138 | "date": "Sun, March 6 (21 days away)", 139 | "registrationDeadline": "Fri, February 19 (5 more days!)", 140 | "onlineAvailable": false 141 | }, 142 | "Maryland": { 143 | "openness": "closed", 144 | "type": "primaries", 145 | "date": "Tue, April 26", 146 | "registrationDeadline": "Tue, April 5", 147 | "onlineAvailable": true 148 | }, 149 | "Massachusetts": { 150 | "openness": "semi-closed", 151 | "type": "primaries", 152 | "date": "Tue, March 1 (16 days away)", 153 | "registrationDeadline": "February 10, 2016", 154 | "onlineAvailable": true 155 | }, 156 | "Michigan": { 157 | "openness": "closed", 158 | "type": "primaries", 159 | "date": "Tue, March 8 (23 days away)", 160 | "registrationDeadline": "February 8, 2016", 161 | "onlineAvailable": false 162 | }, 163 | "Minnesota": { 164 | "openness": "open", 165 | "type": "caucuses", 166 | "date": "Tue, March 1 (16 days away)", 167 | "registrationDeadline": "Tue, March 1 (16 days away)", 168 | "onlineAvailable": true 169 | }, 170 | "Mississippi": { 171 | "openness": "open", 172 | "type": "primaries", 173 | "date": "Tue, March 8 (23 days away)", 174 | "registrationDeadline": "February 6, 2016", 175 | "onlineAvailable": false 176 | }, 177 | "Missouri": { 178 | "openness": "open", 179 | "type": "primaries", 180 | "date": "Tue, March 15", 181 | "registrationDeadline": "Wed, February 17 (3 more days!)", 182 | "onlineAvailable": true 183 | }, 184 | "Montana": { 185 | "openness": "open", 186 | "type": "primaries", 187 | "date": "Tue, June 7", 188 | "registrationDeadline": "Mon, May 9", 189 | "onlineAvailable": false 190 | }, 191 | "Nebraska": { 192 | "openness": "closed", 193 | "type": "caucuses", 194 | "date": "Sat, March 5 (20 days away)", 195 | "registrationDeadline": "Sat, March 5 (20 days away)", 196 | "onlineAvailable": true 197 | }, 198 | "Nevada": { 199 | "openness": "closed", 200 | "type": "caucuses", 201 | "date": "Sat, February 20 (6 more days!)", 202 | "registrationDeadline": "Sat, February 20 (6 more days!)", 203 | "onlineAvailable": true 204 | }, 205 | "New Hampshire": { 206 | "openness": "semi-closed", 207 | "type": "primaries", 208 | "date": "February 9, 2016", 209 | "registrationDeadline": "January 30, 2016", 210 | "onlineAvailable": false 211 | }, 212 | "New Jersey": { 213 | "openness": "closed", 214 | "type": "primaries", 215 | "date": "Tue, June 7", 216 | "registrationDeadline": "Tue, May 17", 217 | "onlineAvailable": false 218 | }, 219 | "New Mexico": { 220 | "openness": "closed", 221 | "type": "primaries", 222 | "date": "Tue, June 7", 223 | "registrationDeadline": "Tue, May 10", 224 | "onlineAvailable": true 225 | }, 226 | "New York": { 227 | "openness": "closed", 228 | "type": "primaries", 229 | "date": "Tue, April 19", 230 | "registrationDeadline": "Fri, March 25", 231 | "onlineAvailable": true 232 | }, 233 | "North Carolina": { 234 | "openness": "semi-closed", 235 | "type": "primaries", 236 | "date": "Tue, March 15", 237 | "registrationDeadline": "Fri, February 19 (5 more days!)", 238 | "onlineAvailable": false 239 | }, 240 | "North Dakota": { 241 | "openness": "open", 242 | "type": "caucuses", 243 | "date": "Tue, June 7", 244 | "registrationDeadline": null, 245 | "onlineAvailable": false 246 | }, 247 | "Ohio": { 248 | "openness": "closed", 249 | "type": "primaries", 250 | "date": "Tue, March 15", 251 | "registrationDeadline": "Tue, February 16 (2 more days!)", 252 | "onlineAvailable": false 253 | }, 254 | "Oklahoma": { 255 | "openness": "semi-closed", 256 | "type": "primaries", 257 | "date": "Tue, March 1 (16 days away)", 258 | "registrationDeadline": "February 5, 2016", 259 | "onlineAvailable": false 260 | }, 261 | "Oregon": { 262 | "openness": "closed", 263 | "type": "primaries", 264 | "date": "Tue, May 17", 265 | "registrationDeadline": "Tue, April 26", 266 | "onlineAvailable": true 267 | }, 268 | "Pennsylvania": { 269 | "openness": "closed", 270 | "type": "primaries", 271 | "date": "Tue, April 26", 272 | "registrationDeadline": "Mon, March 28", 273 | "onlineAvailable": true 274 | }, 275 | "Puerto Rico": { 276 | "openness": "open", 277 | "type": "primaries", 278 | "date": "Sun, June 5", 279 | "registrationDeadline": "Sat, April 16", 280 | "onlineAvailable": false 281 | }, 282 | "Rhode Island": { 283 | "openness": "semi-closed", 284 | "type": "primaries", 285 | "date": "Tue, April 26", 286 | "registrationDeadline": "Sun, March 27", 287 | "onlineAvailable": false 288 | }, 289 | "South Carolina": { 290 | "openness": "open", 291 | "type": "primaries", 292 | "date": "Sat, February 27 (13 days away)", 293 | "registrationDeadline": "January 27, 2016", 294 | "onlineAvailable": true 295 | }, 296 | "South Dakota": { 297 | "openness": "semi-open", 298 | "type": "primaries", 299 | "date": "Tue, June 7", 300 | "registrationDeadline": "Mon, May 23", 301 | "onlineAvailable": false 302 | }, 303 | "Tennessee": { 304 | "openness": "open", 305 | "type": "primaries", 306 | "date": "Tue, March 1 (16 days away)", 307 | "registrationDeadline": "February 1, 2016", 308 | "onlineAvailable": false 309 | }, 310 | "Texas": { 311 | "openness": "open", 312 | "type": "primaries", 313 | "date": "Tue, March 1 (16 days away)", 314 | "registrationDeadline": "February 1, 2016", 315 | "onlineAvailable": false 316 | }, 317 | "Utah": { 318 | "openness": "open", 319 | "type": "caucuses", 320 | "date": "Tue, March 22", 321 | "registrationDeadline": "Mon, February 22 (8 days away)", 322 | "onlineAvailable": true 323 | }, 324 | "Vermont": { 325 | "openness": "open", 326 | "type": "primaries", 327 | "date": "Tue, March 1 (16 days away)", 328 | "registrationDeadline": "Wed, February 24 (10 days away)", 329 | "onlineAvailable": true 330 | }, 331 | "Virginia": { 332 | "openness": "open", 333 | "type": "primaries", 334 | "date": "Tue, March 1 (16 days away)", 335 | "registrationDeadline": "February 8, 2016", 336 | "onlineAvailable": true 337 | }, 338 | "Washington": { 339 | "openness": "open", 340 | "type": "caucuses", 341 | "date": "Sat, March 26", 342 | "registrationDeadline": "Sat, March 26", 343 | "onlineAvailable": true 344 | }, 345 | "West Virginia": { 346 | "openness": "semi-closed", 347 | "type": "primaries", 348 | "date": "Tue, May 10", 349 | "registrationDeadline": "Tue, April 19", 350 | "onlineAvailable": true 351 | }, 352 | "Wisconsin": { 353 | "openness": "open", 354 | "type": "primaries", 355 | "date": "Tue, April 5", 356 | "registrationDeadline": "Wed, March 16", 357 | "onlineAvailable": false 358 | }, 359 | "Wyoming": { 360 | "openness": "closed", 361 | "type": "caucuses", 362 | "date": "Sat, April 9", 363 | "registrationDeadline": "Fri, March 25", 364 | "onlineAvailable": false 365 | }, 366 | "Democrats Abroad": { 367 | "openness": "closed", 368 | "type": "primaries", 369 | "date": "Tue, March 8 (23 days away)", 370 | "registrationDeadline": "Tue, March 8 (23 days away)", 371 | "onlineAvailable": true 372 | } 373 | } -------------------------------------------------------------------------------- /messages.js: -------------------------------------------------------------------------------- 1 | var messages = { 2 | "Alabama": { 3 | "openness": "open", 4 | "type": "primaries", 5 | "date": "Tue, March 1 (16 days away)", 6 | "registrationDeadline": "Mon, February 15 (tomorrow!)", 7 | "onlineAvailable": true 8 | }, 9 | "Alaska": { 10 | "openness": "closed", 11 | "type": "caucuses", 12 | "date": "Sat, March 26", 13 | "registrationDeadline": "Sat, March 26", 14 | "onlineAvailable": true 15 | }, 16 | "Arizona": { 17 | "openness": "closed", 18 | "type": "primaries", 19 | "date": "Tue, March 22", 20 | "registrationDeadline": "Mon, February 22 (8 days away)", 21 | "onlineAvailable": true 22 | }, 23 | "Arkansas": { 24 | "openness": "open", 25 | "type": "primaries", 26 | "date": "Tue, March 1 (16 days away)", 27 | "registrationDeadline": "February 1, 2016", 28 | "onlineAvailable": false 29 | }, 30 | "California": { 31 | "openness": "semi-closed", 32 | "type": "primaries", 33 | "date": "Tue, June 7", 34 | "registrationDeadline": "Mon, May 23", 35 | "onlineAvailable": true 36 | }, 37 | "Colorado": { 38 | "openness": "closed", 39 | "type": "caucuses", 40 | "date": "Tue, March 1 (16 days away)", 41 | "registrationDeadline": "January 4, 2016", 42 | "onlineAvailable": true 43 | }, 44 | "Connecticut": { 45 | "openness": "closed", 46 | "type": "primaries", 47 | "date": "Tue, April 26", 48 | "registrationDeadline": "Thu, April 21", 49 | "onlineAvailable": true 50 | }, 51 | "Delaware": { 52 | "openness": "closed", 53 | "type": "primaries", 54 | "date": "Tue, April 26", 55 | "registrationDeadline": "Sat, April 2", 56 | "onlineAvailable": true 57 | }, 58 | "Washington, DC": { 59 | "openness": "closed", 60 | "type": "primaries", 61 | "date": "Tue, June 14", 62 | "registrationDeadline": "Mon, May 23", 63 | "onlineAvailable": true 64 | }, 65 | "Florida": { 66 | "openness": "closed", 67 | "type": "primaries", 68 | "date": "Tue, March 15", 69 | "registrationDeadline": "Tue, February 16 (2 more days!)", 70 | "onlineAvailable": false 71 | }, 72 | "Georgia": { 73 | "openness": "open", 74 | "type": "primaries", 75 | "date": "Tue, March 1 (16 days away)", 76 | "registrationDeadline": "February 1, 2016", 77 | "onlineAvailable": true 78 | }, 79 | "Hawaii": { 80 | "openness": "closed", 81 | "type": "caucuses", 82 | "date": "Sat, March 26", 83 | "registrationDeadline": "Sat, March 26", 84 | "onlineAvailable": true 85 | }, 86 | "Idaho": { 87 | "openness": "open", 88 | "type": "caucuses", 89 | "date": "Tue, March 22", 90 | "registrationDeadline": "Tue, March 22", 91 | "onlineAvailable": false 92 | }, 93 | "Illinois": { 94 | "openness": "semi-closed", 95 | "type": "primaries", 96 | "date": "Tue, March 15", 97 | "registrationDeadline": "Tue, February 16 (2 more days!)", 98 | "onlineAvailable": true 99 | }, 100 | "Indiana": { 101 | "openness": "open", 102 | "type": "primaries", 103 | "date": "Tue, May 3", 104 | "registrationDeadline": "Mon, April 4", 105 | "onlineAvailable": true 106 | }, 107 | "Iowa": { 108 | "openness": "semi-open", 109 | "type": "caucuses", 110 | "date": "February 1, 2016", 111 | "registrationDeadline": "February 1, 2016", 112 | "onlineAvailable": true 113 | }, 114 | "Kansas": { 115 | "openness": "closed", 116 | "type": "caucuses", 117 | "date": "Sat, March 5 (20 days away)", 118 | "registrationDeadline": "Sat, March 5 (20 days away)", 119 | "onlineAvailable": true 120 | }, 121 | "Kentucky": { 122 | "openness": "closed", 123 | "type": "primaries", 124 | "date": "Tue, May 17", 125 | "registrationDeadline": "Mon, April 18", 126 | "onlineAvailable": false 127 | }, 128 | "Louisiana": { 129 | "openness": "closed", 130 | "type": "primaries", 131 | "date": "Sat, March 5 (20 days away)", 132 | "registrationDeadline": "February 3, 2016", 133 | "onlineAvailable": true 134 | }, 135 | "Maine": { 136 | "openness": "closed", 137 | "type": "caucuses", 138 | "date": "Sun, March 6 (21 days away)", 139 | "registrationDeadline": "Fri, February 19 (5 more days!)", 140 | "onlineAvailable": false 141 | }, 142 | "Maryland": { 143 | "openness": "closed", 144 | "type": "primaries", 145 | "date": "Tue, April 26", 146 | "registrationDeadline": "Tue, April 5", 147 | "onlineAvailable": true 148 | }, 149 | "Massachusetts": { 150 | "openness": "semi-closed", 151 | "type": "primaries", 152 | "date": "Tue, March 1 (16 days away)", 153 | "registrationDeadline": "February 10, 2016", 154 | "onlineAvailable": true 155 | }, 156 | "Michigan": { 157 | "openness": "closed", 158 | "type": "primaries", 159 | "date": "Tue, March 8 (23 days away)", 160 | "registrationDeadline": "February 8, 2016", 161 | "onlineAvailable": false 162 | }, 163 | "Minnesota": { 164 | "openness": "open", 165 | "type": "caucuses", 166 | "date": "Tue, March 1 (16 days away)", 167 | "registrationDeadline": "Tue, March 1 (16 days away)", 168 | "onlineAvailable": true 169 | }, 170 | "Mississippi": { 171 | "openness": "open", 172 | "type": "primaries", 173 | "date": "Tue, March 8 (23 days away)", 174 | "registrationDeadline": "February 6, 2016", 175 | "onlineAvailable": false 176 | }, 177 | "Missouri": { 178 | "openness": "open", 179 | "type": "primaries", 180 | "date": "Tue, March 15", 181 | "registrationDeadline": "Wed, February 17 (3 more days!)", 182 | "onlineAvailable": true 183 | }, 184 | "Montana": { 185 | "openness": "open", 186 | "type": "primaries", 187 | "date": "Tue, June 7", 188 | "registrationDeadline": "Mon, May 9", 189 | "onlineAvailable": false 190 | }, 191 | "Nebraska": { 192 | "openness": "closed", 193 | "type": "caucuses", 194 | "date": "Sat, March 5 (20 days away)", 195 | "registrationDeadline": "Sat, March 5 (20 days away)", 196 | "onlineAvailable": true 197 | }, 198 | "Nevada": { 199 | "openness": "closed", 200 | "type": "caucuses", 201 | "date": "Sat, February 20 (6 more days!)", 202 | "registrationDeadline": "Sat, February 20 (6 more days!)", 203 | "onlineAvailable": true 204 | }, 205 | "New Hampshire": { 206 | "openness": "semi-closed", 207 | "type": "primaries", 208 | "date": "February 9, 2016", 209 | "registrationDeadline": "January 30, 2016", 210 | "onlineAvailable": false 211 | }, 212 | "New Jersey": { 213 | "openness": "closed", 214 | "type": "primaries", 215 | "date": "Tue, June 7", 216 | "registrationDeadline": "Tue, May 17", 217 | "onlineAvailable": false 218 | }, 219 | "New Mexico": { 220 | "openness": "closed", 221 | "type": "primaries", 222 | "date": "Tue, June 7", 223 | "registrationDeadline": "Tue, May 10", 224 | "onlineAvailable": true 225 | }, 226 | "New York": { 227 | "openness": "closed", 228 | "type": "primaries", 229 | "date": "Tue, April 19", 230 | "registrationDeadline": "Fri, March 25", 231 | "onlineAvailable": true 232 | }, 233 | "North Carolina": { 234 | "openness": "semi-closed", 235 | "type": "primaries", 236 | "date": "Tue, March 15", 237 | "registrationDeadline": "Fri, February 19 (5 more days!)", 238 | "onlineAvailable": false 239 | }, 240 | "North Dakota": { 241 | "openness": "open", 242 | "type": "caucuses", 243 | "date": "Tue, June 7", 244 | "registrationDeadline": null, 245 | "onlineAvailable": false 246 | }, 247 | "Ohio": { 248 | "openness": "closed", 249 | "type": "primaries", 250 | "date": "Tue, March 15", 251 | "registrationDeadline": "Tue, February 16 (2 more days!)", 252 | "onlineAvailable": false 253 | }, 254 | "Oklahoma": { 255 | "openness": "semi-closed", 256 | "type": "primaries", 257 | "date": "Tue, March 1 (16 days away)", 258 | "registrationDeadline": "February 5, 2016", 259 | "onlineAvailable": false 260 | }, 261 | "Oregon": { 262 | "openness": "closed", 263 | "type": "primaries", 264 | "date": "Tue, May 17", 265 | "registrationDeadline": "Tue, April 26", 266 | "onlineAvailable": true 267 | }, 268 | "Pennsylvania": { 269 | "openness": "closed", 270 | "type": "primaries", 271 | "date": "Tue, April 26", 272 | "registrationDeadline": "Mon, March 28", 273 | "onlineAvailable": true 274 | }, 275 | "Puerto Rico": { 276 | "openness": "open", 277 | "type": "primaries", 278 | "date": "Sun, June 5", 279 | "registrationDeadline": "Sat, April 16", 280 | "onlineAvailable": false 281 | }, 282 | "Rhode Island": { 283 | "openness": "semi-closed", 284 | "type": "primaries", 285 | "date": "Tue, April 26", 286 | "registrationDeadline": "Sun, March 27", 287 | "onlineAvailable": false 288 | }, 289 | "South Carolina": { 290 | "openness": "open", 291 | "type": "primaries", 292 | "date": "Sat, February 27 (13 days away)", 293 | "registrationDeadline": "January 27, 2016", 294 | "onlineAvailable": true 295 | }, 296 | "South Dakota": { 297 | "openness": "semi-open", 298 | "type": "primaries", 299 | "date": "Tue, June 7", 300 | "registrationDeadline": "Mon, May 23", 301 | "onlineAvailable": false 302 | }, 303 | "Tennessee": { 304 | "openness": "open", 305 | "type": "primaries", 306 | "date": "Tue, March 1 (16 days away)", 307 | "registrationDeadline": "February 1, 2016", 308 | "onlineAvailable": false 309 | }, 310 | "Texas": { 311 | "openness": "open", 312 | "type": "primaries", 313 | "date": "Tue, March 1 (16 days away)", 314 | "registrationDeadline": "February 1, 2016", 315 | "onlineAvailable": false 316 | }, 317 | "Utah": { 318 | "openness": "open", 319 | "type": "caucuses", 320 | "date": "Tue, March 22", 321 | "registrationDeadline": "Mon, February 22 (8 days away)", 322 | "onlineAvailable": true 323 | }, 324 | "Vermont": { 325 | "openness": "open", 326 | "type": "primaries", 327 | "date": "Tue, March 1 (16 days away)", 328 | "registrationDeadline": "Wed, February 24 (10 days away)", 329 | "onlineAvailable": true 330 | }, 331 | "Virginia": { 332 | "openness": "open", 333 | "type": "primaries", 334 | "date": "Tue, March 1 (16 days away)", 335 | "registrationDeadline": "February 8, 2016", 336 | "onlineAvailable": true 337 | }, 338 | "Washington": { 339 | "openness": "open", 340 | "type": "caucuses", 341 | "date": "Sat, March 26", 342 | "registrationDeadline": "Sat, March 26", 343 | "onlineAvailable": true 344 | }, 345 | "West Virginia": { 346 | "openness": "semi-closed", 347 | "type": "primaries", 348 | "date": "Tue, May 10", 349 | "registrationDeadline": "Tue, April 19", 350 | "onlineAvailable": true 351 | }, 352 | "Wisconsin": { 353 | "openness": "open", 354 | "type": "primaries", 355 | "date": "Tue, April 5", 356 | "registrationDeadline": "Wed, March 16", 357 | "onlineAvailable": false 358 | }, 359 | "Wyoming": { 360 | "openness": "closed", 361 | "type": "caucuses", 362 | "date": "Sat, April 9", 363 | "registrationDeadline": "Fri, March 25", 364 | "onlineAvailable": false 365 | }, 366 | "Democrats Abroad": { 367 | "openness": "closed", 368 | "type": "primaries", 369 | "date": "Tue, March 8 (23 days away)", 370 | "registrationDeadline": "Tue, March 8 (23 days away)", 371 | "onlineAvailable": true 372 | } 373 | } -------------------------------------------------------------------------------- /js/faq.js: -------------------------------------------------------------------------------- 1 | var faq = [{ 2 | "id": "what-about-socialism", 3 | "question": "... isn't he a socialist?", 4 | "answer": 5 | "Bernie Sanders is a democratic socialist. In his own words: “What democratic socialism means to me is we expand Medicare, we provide educational opportunities for all Americans, we rebuild our crumbling infrastructure. In other words, Government serves the needs of all people rather than just wealthy campaign contributors.”

" + 6 | "This isn't radical or scary! Many of the programs instituted by Franklin D. Roosevelt and Lyndon Johnson that we take for granted today — such as Medicare, the 40-hour work week, the minimum wage, and Social Security — can be considered socialist programs.

" + 7 | "In 2019, Bernie delivered a major speech on democratic socialism and why his message is what America needs to defeat Donald Trump." 8 | },{ 9 | "id": "isnt-he-raising-taxes", 10 | "question": "... I heard he wants to raise taxes!", 11 | "answer": 12 | "If you're one of the 1.5% of Americans making more than $231,450 a year, your marginal tax rate will go up slightly — money you earn above $231,450 will be taxed at 37% instead of 33%.

" + 13 | "If you're one of the 0.6% of Americans making more than $500,000 a year, your marginal rate will go up from 39.6% to 45%. Above $2,000,000 the rate will be 50%, and above $10,000,000 the rate will be 52%. These are tax increases that will only affect the very, very wealthy.

" + 14 | "On the other hand, the vast majority of Americans will see significant savings when factoring in tax and healthcare changes under Bernie's plans. Calculate how Bernie's tax plans will affect you." 15 | },{ 16 | "id": "is-he-electable", 17 | "question": "... is he even electable?", 18 | "answer": 19 | "Absolutely. Bernie probably has a better chance in the general election than any other candidate because he appeals to working families, young people, and the 30-40% of Americans identifying as independents, who will play the deciding role in the general election.

" + 20 | "Almost every major poll in this election shows Bernie beating Trump, often by very large margins. In 2016, Bernie won 23 state primaries. And Bernie has a high favorability rating among all Americans. People trust Bernie. And most importantly, Bernie has a consistent lifetime record of being right on the issues, then and now. Plus:

" + 21 | "• Bernie has the ground game to win. Bernie’s solid base of supporters, volunteers and donors are unmatched by any other candidate.

" + 22 | "• Bernie has the money to win. Over one million people have already donated to Bernie’s 2020 campaign.

" + 23 | "• Bernie has a strategy to win by reaching out to young people, independents, disaffected voters, non-voters and working-class voters who have given up on the political process." 24 | },{ 25 | "id": "can-he-get-stuff-done", 26 | "question": "... how could he get anything done with a Republican Congress?", 27 | "answer": 28 | "Bernie is actually well-known for his ability to compromise to get things done without sacrificing his values. In the House, he was known as the Amendment King, and passed more amendments, addressing exclusively progressive goals, than any other legislator, by forging cross-party coalitions.

" + 29 | "He has earned respect from Republicans ranging from John McCain to the ultra-conservative Jim Inhofe. If any Democratic president can reach across the aisle to work with a stubborn Republican Congress, it's Bernie Sanders." 30 | },{ 31 | "id": "where-is-he-on-guns", 32 | "question": "... isn't he too weak on gun control?", 33 | "answer": 34 | "Hardly. He has consistent high ratings from the Brady Campaign to Prevent Gun Violence and a D- rating from the NRA.

" + 35 | "His position is that a broad consensus of common-sense gun control measures is possible if neither side is alienated through overly divisive rhetoric." 36 | },{ 37 | "id": "would-he-kill-obamacare", 38 | "question": "... I heard he wants to get rid of Obamacare!", 39 | "answer": 40 | "Bernie wants to expand health care coverage, not get rid of it!

" + 41 | "Obamacare has made things better, but it's only a step in the right direction: Americans are still paying more for healthcare than any other country, and more than 10% of us still don't have health insurance.

" + 42 | "Bernie's Medicare-for-all proposal will do just what it says — provide coverage for every American citizen, while saving the average American family $2000—$4000 per year. [Try the calculator!] And it's popular – 70% of Americans, including a majority of Republicans, now support Medicare For All.

" + 43 | "Read more about Bernie's positions on healthcare." 44 | },{ 45 | "id": "what-about-foreign-policy", 46 | "question": "... does he have any experience with foreign policy?", 47 | "answer": 48 | "Bernie has shown remarkable foresight when it comes to foreign policy decisions. He was a member of a small minority voting against the War in Iraq in 2003, arguing in an impassioned speech that overthrowing Saddam Hussein would result in "disaster". He was right.

" + 49 | "And Bernie is one of very few U.S. politicians to criticize the disproportionate nature of Israel's war in Gaza, to bring attention to the U.S.'s questionable ties to Saudi Arabia, and to point out the negative consequences of the U.S.'s Latin American interventions of the 1980s.

" + 50 | "Bernie wants to focus on diplomatic alternatives to war and reorient our foreign policy so that it keeps us strong without deploying our servicemen and women to unwinnable wars.

" + 51 | "In fact, even Lawrence Korb, Reagan's Assistant Defense Secretary, has praised Bernie's foreign policy philosophy as one of pragmatic realism, comparing its emphasis on restraint and diplomacy to the foreign policy of Eisenhower." 52 | },{ 53 | "id": "how-will-he-fund-proposals", 54 | "question": "... how will he pay for all this?", 55 | "answer": 56 | "It’s pretty straightforward:

" + 57 | "• Raise more revenue by closing tax loopholes and raising taxes on the ultra-wealthy

" + 58 | "• Reduce expenses by auditing government agencies and cutting costs

" + 59 | "• Reprioritize spending to reflect what the electorate wants us to spend tax dollars on

" + 60 | "Every dollar in Bernie Sanders's proposals is matched by a corresponding dollar raised in revenue — it's all accounted for." 61 | },{ 62 | "id": "can-he-get-minority-support", 63 | "question": "... aren't his supporters all young white men?", 64 | "answer": 65 | "Not at all. That wasn’t true in 2016 Bernie when had the support of 50% of young women and it isn’t true now in the 2020 campaign where more young women than men make up Bernie’s base. Bernie is polling better with Hispanic, Asian-American and African-American voters than most of the other candidates. The large crowds at his events are diverse and so is his campaign staff and army of volunteers.

" + 66 | "And this is not surprising given Bernie's unwavering commitment to civil rights for all Americans throughout his life. He took part in MLK's March on Washington in 1963, stood up for the rights of LGBT soldiers in 1995, and has maintained a 100% voting record with Planned Parenthood for his entire career." 67 | },{ 68 | "id": "how-old-is-he-again", 69 | "question": "... he's too old!", 70 | "answer": 71 | "One million volunteers and over four million donors don’t think so.

" + 72 | "At 78, Bernie is not young, but keep in mind that Donald Trump is 73, Elizabeth Warren is 71, and Joe Biden is 77. And Bernie is no slouch – he's held more events than any other candidate while working at his full-time job serving as the junior Senator from Vermont.

" + 73 | "Bernie may not be young, but his progressive policies have been ahead of the curve for years, and still are. He defended civil rights in the 60s, supported LGBTQ rights in the 70s, transformed a city in the 80s, opposed unfair trade deals in the 90s, stood against an illegal war and mass surveillance in the 00s, and now leads a grassroots movement of young people and working people. We’re just catching up to him." 74 | }, { 75 | "id": "I-am-still-unsure", 76 | "question": "Hmm, these are some good points, but I'm still unconvinced. Where can I learn more?", 77 | "answer": 78 | "To learn more about Bernie Sanders's positions on more than 50 different issues, structured in a helpful Q&A format, check out FeelTheBern.org.

" + 79 | "Or go straight to the source: Bernie’s 2020 campaign website has a ton of information about the issues that are form his platform.

" + 80 | "You can also watch Robert Reich challenge these critiques of Bernie much better than I can in his recent video." 81 | }]; 82 | -------------------------------------------------------------------------------- /js/messages.js: -------------------------------------------------------------------------------- 1 | var messages = { 2 | "Alabama": [ 3 | { 4 | startTime: new Date('February 12, 2016 23:59:59 GMT-0500'), 5 | deadline: new Date('February 15, 2016 23:59:59 GMT-0500'), 6 | text: "Monday, February 15 is your deadline to register to vote! You can be registered under any party to vote in the Democratic primary, but just make sure that you're registered by Monday.
[Check if you're registered]   [Register online!]   [More info]
" 7 | }, 8 | { 9 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 10 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 11 | text: "Don't forget to vote on Tuesday, March 1every single vote makes a difference in this race! Alabama has open primaries, so you can vote in the Democratic party regardless of your party affiliation.
[Don't know where your polling place is?]   [More info]
" 12 | } 13 | ], 14 | "Arizona": [ 15 | { 16 | startTime: new Date('February 19, 2016 23:59:59 GMT-0800'), 17 | deadline: new Date('February 22, 2016 23:59:59 GMT-0800'), 18 | text: "Monday, February 15 is your deadline to register to vote! You must be registered as a Democrat to vote in the AZ Democratic primary — if you're a Republican or independent, you must re-register.
[Check if you're registered]   [Register online!]   [More info]
" 19 | }, 20 | { 21 | startTime: new Date('March 22, 2016 00:00:00 GMT-0800'), 22 | deadline: new Date('March 22, 2016 20:00:00 GMT-0800'), 23 | text: "Don't forget to vote todayevery single vote makes a difference in this race! You must be a registered Democrat as of February 22nd to vote.
(If you've already sent in an absentee ballot, make sure it was counted!)
[Check your registration status]   [Find your polling place]   [More voting info]
" 24 | } 25 | ], 26 | "Arkansas": [ 27 | { 28 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 29 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 30 | text: "Don't forget to vote on Tuesday, March 1every single vote makes a difference in this race! Arkansas has open primaries, so you can vote in the Democratic party regardless of your party affiliation.
[Don't know where your polling place is?]   [More info]
" 31 | } 32 | ], 33 | "Colorado": [ 34 | { 35 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 36 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 37 | text: "Don't forget to caucus on Tuesday, March 1every single vote makes a difference in this race! Make sure to be in line by 6:30pm to ensure that your vote will be counted.
[Don't know where your caucus location is?]   [More info]
" 38 | } 39 | ], 40 | "Delaware": [ 41 | { 42 | startTime: new Date('February 23, 2016 23:59:59 GMT-0500'), 43 | deadline: new Date('February 26, 2016 23:59:59 GMT-0500'), 44 | text: "You must be registered Democratic to vote in the Delaware primaries. If you are registered to vote as a Republican or Independent, the deadline to change your affiliation to Democratic is Friday, February 26. If you're not registered to vote yet, you have until Saturday, April 2.
[Check your registration status]   [Register online!]   [More info]
" 45 | } 46 | ], 47 | "Florida": [ 48 | { 49 | startTime: new Date('February 12, 2016 23:59:59 GMT-0500'), 50 | deadline: new Date('February 16, 2016 23:59:59 GMT-0500'), 51 | text: "Tuesday, February 16 is your deadline to register to vote! In Florida, you must be registered as a Democrat to vote in the Democratic primary. Florida doesn't have online registration, but you can fill out a registration form to print and mail in.
[Check your voter status]   [More info]
" 52 | }, 53 | { 54 | startTime: new Date('March 7, 2016 00:00:00 GMT-0800'), 55 | deadline: new Date('March 12, 2016 20:00:00 GMT-0800'), 56 | text: "Did you know that Florida has early voting? You can participate in early in-person voting up until Saturday, March 12. Why wait until Election Day?
[Not sure if you're registered to vote?]   [Look up early voting locations and times]   [More info]
" 57 | }, 58 | { 59 | startTime: new Date('March 12, 2016 20:00:01 GMT-0800'), 60 | deadline: new Date('March 15, 2016 20:00:00 GMT-0800'), 61 | text: "Don't forget to vote on Tuesday, March 15every single vote makes a difference in this race! You must be a registered Democrat to vote in the Florida primary.
[Not sure if you're registered to vote?]   [Don't know where your polling place is?]   [More info]
" 62 | } 63 | ], 64 | "Georgia": [ 65 | { 66 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 67 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 68 | text: "Don't forget to vote on Tuesday, March 1every single vote makes a difference in this race! Georgia has open primaries, so you can vote in the Democratic party regardless of your party affiliation.
[Don't know where your polling place is?]   [More info]
" 69 | } 70 | ], 71 | "Idaho": [ 72 | { 73 | startTime: new Date('March 22, 2016 00:00:00 GMT-0800'), 74 | deadline: new Date('March 22, 2016 20:00:00 GMT-0800'), 75 | text: "Don't forget to caucus todayevery single vote makes a difference in this race! If you're not a registered Democrat, don't worry: you can register at the caucus, as long as you haven't voted in the Republican primary. Make sure to be in line by 6:30pm to ensure that your vote will be counted.
[Find your caucus location]   [More voting info]   [Take this printout with you!]
" 76 | } 77 | ], 78 | "Illinois": [ 79 | { 80 | startTime: new Date('March 7, 2016 00:00:00 GMT-0800'), 81 | deadline: new Date('March 14, 2016 20:00:00 GMT-0800'), 82 | text: "Did you know that Illinois has early voting? You can do early voting up until the day of the primary on Tuesday, March 15. You can vote regardless of your party affiliation, and if you're not registered to vote yet, you can even register at early-voting sites. Why wait until Election Day?
[Not sure if you're registered to vote?]   [Find your nearest early voting location]   [More info]
" 83 | }, 84 | { 85 | startTime: new Date('March 14, 2016 20:00:01 GMT-0800'), 86 | deadline: new Date('March 15, 2016 20:00:00 GMT-0800'), 87 | text: "Don't forget to vote on Tuesday, March 15every single vote makes a difference in this race! Illinois has open primaries: you can vote in the Democratic primary regardless of party affiliation.
[Not sure if you're registered to vote?]   [Don't know where your polling place is?]   [More info]
" 88 | } 89 | ], 90 | "Kansas": [ 91 | { 92 | startTime: new Date('March 2, 2016 00:00:00 GMT-0700'), 93 | deadline: new Date('March 5, 2016 20:00:00 GMT-0700'), 94 | text: "Don't forget to caucus on Saturday, March 5every single vote makes a difference in this race! If you're not a registered Democrat, don't worry: you can register as a Democrat online or do same-day registration at the caucus. Make sure to be in line by 2:30pm to ensure that your vote will be counted.
[Register to vote online!]   [Find your caucus location]   [More info]
" 95 | } 96 | ], 97 | "Louisiana": [ 98 | { 99 | startTime: new Date('March 2, 2016 00:00:00 GMT-0700'), 100 | deadline: new Date('March 5, 2016 20:00:00 GMT-0700'), 101 | text: "Don't forget to vote on Saturday, March 5every single vote makes a difference in this race! You must be a registered Democrat to vote in the Louisiana primary.
[Don't know where your polling place is?]   [More info]
" 102 | } 103 | ], 104 | "Maine": [ 105 | { 106 | startTime: new Date('February 15, 2016 23:59:59 GMT-0500'), 107 | deadline: new Date('February 19, 2016 23:59:59 GMT-0500'), 108 | text: "If you're registered to vote as a Republican, Wednesday, February 19 is your deadline to re-register as a Democrat to vote in the March 6 caucus! Maine doesn't have online registration, but you can fill out a registration form to print and mail in.
[Check your voter status]   [More info]
" 109 | }, 110 | { 111 | startTime: new Date('March 2, 2016 00:00:00 GMT-0700'), 112 | deadline: new Date('March 6, 2016 20:00:00 GMT-0700'), 113 | text: "Don't forget to caucus on Sunday, March 8every single vote makes a difference in this race! If you're not registered to vote or if you're registered unaffiliated, don't worry: you can register as a Democrat online or do same-day registration at the caucus.
[Register to vote online!]   [Find your caucus location]   [More info]
" 114 | } 115 | ], 116 | "Massachusetts": [ 117 | { 118 | startTime: new Date('February 8, 2016 20:00:00 GMT-0500'), 119 | deadline: new Date('February 10, 2016 20:00:00 GMT-0500'), 120 | text: "Did you know that you must be registered as a Democrat or an Undeclared in order to vote in the MA Democratic primary? Today (2/10) is the last day to register, and if you're a Republican or Independent you must do this if you want to vote for Bernie! Registration is easy and you can even do it online." 121 | }, 122 | { 123 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 124 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 125 | text: "Don't forget to vote on Tuesday, March 1every single vote makes a difference in this race! You can vote in the Democratic primaries if you're registered Democrat or undeclared.
[Don't know where your polling place is?]   [More info]
" 126 | } 127 | ], 128 | "Michigan": [ 129 | { 130 | startTime: new Date('March 2, 2016 00:00:00 GMT-0700'), 131 | deadline: new Date('March 8, 2016 20:00:00 GMT-0600'), 132 | text: "Don't forget to vote on todayevery single vote makes a difference in this race! You don't have to be a registered Democrat to vote in the Michigan primary. Just make sure to request a Democratic ballot at your polling place.
[Check your voter registration]   [Don't know where your polling place is?]   [More info]
" 133 | } 134 | ], 135 | "Minnesota": [ 136 | { 137 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 138 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 139 | text: "Don't forget to caucus on Tuesday, March 1every single vote makes a difference in this race!
[Don't know where your caucus location is?]   [More info]
" 140 | } 141 | ], 142 | "Mississippi": [ 143 | { 144 | startTime: new Date('March 2, 2016 00:00:00 GMT-0700'), 145 | deadline: new Date('March 8, 2016 20:00:00 GMT-0600'), 146 | text: "Don't forget to vote on Tuesday, March 8every single vote makes a difference in this race! You don't even have to be a registered Democrat to vote in the Mississippi primary.
[Don't know where your polling place is?]   [More info]
" 147 | } 148 | ], 149 | "Missouri": [ 150 | { 151 | startTime: new Date('February 14, 2016 23:59:59 GMT-0600'), 152 | deadline: new Date('February 17, 2016 23:59:59 GMT-0600'), 153 | text: "Wednesday, February 17 is your deadline to register to vote!
[Check your voter status]   [More info]
" 154 | }, 155 | { 156 | startTime: new Date('March 12, 2016 00:00:00 GMT-0800'), 157 | deadline: new Date('March 15, 2016 20:00:00 GMT-0800'), 158 | text: "Don't forget to vote on Tuesday, March 15every single vote makes a difference in this race! Missouri has open primaries: you can vote in the Democratic primary regardless of party affiliation.
[Not sure if you're registered to vote?]   [Don't know where your polling place is?]   [More info]
" 159 | } 160 | ], 161 | "Nebraska": [ 162 | { 163 | startTime: new Date('March 2, 2016 00:00:00 GMT-0700'), 164 | deadline: new Date('March 5, 2016 20:00:00 GMT-0700'), 165 | text: "Don't forget to caucus on Saturday, March 5every single vote makes a difference in this race! If you're not a registered Democrat, don't worry: you can register as a Democrat online or do same-day registration at the caucus.
[Register to vote online!]   [Find your caucus location and time]   [More info]
" 166 | } 167 | ], 168 | "Nevada": [ 169 | { 170 | startTime: new Date('February 15, 2016 10:00:00 GMT-0800'), 171 | deadline: new Date('February 20, 2016 10:00:00 GMT-0800'), 172 | text: "Don't forget to caucus on Saturday, February 20every single vote makes a difference in this race! You must show up at your caucus location by 11 am!
P.S. Even if you're not registered to vote, you can register at your caucus location, so don't let that stop you.
[Don't know where your caucus location is?]   [Want more info?]
" 173 | } 174 | ], 175 | "New Hampshire": [ 176 | { 177 | startTime: new Date('February 9, 2016 00:00:00 GMT-0500'), 178 | deadline: new Date('February 9, 2016 20:00:00 GMT-0500'), 179 | text: "Don't forget to vote today — every single vote makes a difference in this race!
[Don't know where your polling place is?]   [Not sure if you're eligible to vote?]
" 180 | } 181 | ], 182 | "New York": [ 183 | { 184 | startTime: new Date('March 21, 2016 23:59:59 GMT-0500'), 185 | deadline: new Date('March 25, 2016 23:59:59 GMT-0500'), 186 | text: "Friday, March 25 is your deadline to register to vote! You must be registered as a Democrat to vote in the New York Democratic primary.
[Check if you're registered]   [Register to vote!]   [More info]
" 187 | } 188 | ], 189 | "North Carolina": [ 190 | { 191 | startTime: new Date('February 15, 2016 23:59:59 GMT-0500'), 192 | deadline: new Date('February 19, 2016 23:59:59 GMT-0500'), 193 | text: "Wednesday, February 19 is your deadline to register to vote in the March 15 primary! You must be registered as a Democrat or undeclared to vote in the Democratic primary — if you're a Republican you must re-register. North Carolina doesn't have online registration, but you can fill out a registration form to print and mail in.
[Check your voter status]   [More info]
" 194 | }, 195 | { 196 | startTime: new Date('March 12, 2016 00:00:00 GMT-0800'), 197 | deadline: new Date('March 15, 2016 20:00:00 GMT-0800'), 198 | text: "Don't forget to vote on Tuesday, March 15every single vote makes a difference in this race! North Carolina has semi-closed primaries: you can vote in the Democratic primary if you're registered Democrat or independent.
[Not sure if you're registered to vote?]   [Don't know where your polling place is?]   [More info]
" 199 | } 200 | ], 201 | "Ohio": [ 202 | { 203 | startTime: new Date('February 12, 2016 23:59:59 GMT-0600'), 204 | deadline: new Date('February 16, 2016 23:59:59 GMT-0600'), 205 | text: "Tuesday, February 16 is your deadline to register to vote! Ohio does not have online registration, but you can fill out a registration form to print and mail in.
[Check if you're registered]   [More info]
" 206 | }, 207 | { 208 | startTime: new Date('March 7, 2016 00:00:00 GMT-0800'), 209 | deadline: new Date('March 14, 2016 20:00:00 GMT-0800'), 210 | text: "Did you know that Ohio has early voting? You can participate in early voting up until the primary on Tuesday, March 15. Why wait until Election Day? Check with your local elections board to learn more about early in-person voting times and locations, or request an absentee ballot.
[Not sure if you're registered to vote?]   [More info]
" 211 | }, 212 | { 213 | startTime: new Date('March 12, 2016 00:00:00 GMT-0800'), 214 | deadline: new Date('March 15, 2016 20:00:00 GMT-0800'), 215 | text: "Don't forget to vote on Tuesday, March 15every single vote makes a difference in this race! Ohio has open primaries: you can vote in the Democratic primary regardless of your party affiliation.
[Not sure if you're registered to vote?]   [Don't know where your polling place is?]   [More info]
" 216 | } 217 | ], 218 | "Oklahoma": [ 219 | { 220 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 221 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 222 | text: "Don't forget to vote on Tuesday, March 1every single vote makes a difference in this race! You can vote in the Democratic primaries if you're registered Democrat or undeclared.
[Don't know where your polling place is?]   [More info]
" 223 | } 224 | ], 225 | "Pennsylvania": [ 226 | { 227 | startTime: new Date('March 21, 2016 23:59:59 GMT-0500'), 228 | deadline: new Date('March 28, 2016 23:59:59 GMT-0500'), 229 | text: "Monday, March 28 is your deadline to register to vote! You must be registered as a Democrat to vote in the Pennsylvania Democratic primary.
[Check if you're registered]   [Register to vote!]   [More info]
" 230 | } 231 | ], 232 | "Rhode Island": [ 233 | { 234 | startTime: new Date('March 21, 2016 23:59:59 GMT-0500'), 235 | deadline: new Date('March 27, 2016 23:59:59 GMT-0500'), 236 | text: "Sunday, March 27 is your deadline to register to vote! You must be registered as a Democrat or undeclared to vote in the Rhode Island Democratic primary.
[Check if you're registered]   [Register to vote!]   [More info]
" 237 | } 238 | ], 239 | "South Carolina": [ 240 | { 241 | startTime: new Date('February 22, 2016 23:59:59 GMT-0800'), 242 | deadline: new Date('February 27, 2016 23:59:59 GMT-0800'), 243 | text: "Don't forget to vote on Saturday, February 27every single vote makes a difference in this race! You can vote in the SC Democratic Primary no matter what party you're registered as.
[Don't know where your polling place is?]   [Want more info?]
" 244 | } 245 | ], 246 | "Tennessee": [ 247 | { 248 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 249 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 250 | text: "Don't forget to vote on Tuesday, March 1every single vote makes a difference in this race! Tennessee has open primaries, so you can vote in the Democratic primary regardless of your party affiliation.
[Don't know where your polling place is?]   [More info]
" 251 | } 252 | ], 253 | "Texas": [ 254 | { 255 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 256 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 257 | text: "Don't forget to vote on Tuesday, March 1every single vote makes a difference in this race! Texas has open primaries, so you can vote in the Democratic primary regardless of your party affiliation.
[Don't know where your polling place is?]   [More info]
" 258 | } 259 | ], 260 | "Utah": [ 261 | { 262 | startTime: new Date('March 22, 2016 00:00:00 GMT-0800'), 263 | deadline: new Date('March 22, 2016 20:00:00 GMT-0800'), 264 | text: "Don't forget to caucus todayevery single vote makes a difference in this race! If you're not a registered Democrat, don't worry: you can register at the caucus, even if you're a Republican. Make sure to be in line by 8:30pm to ensure that your vote will be counted.
[Find your caucus location]   [More voting info]   [Take this printout with you!]
" 265 | } 266 | ], 267 | "Vermont": [ 268 | { 269 | startTime: new Date('February 21, 2016 23:59:59 GMT-0500'), 270 | deadline: new Date('February 24, 2016 23:59:59 GMT-0500'), 271 | text: "Wednesday, February 24 is your deadline to register to vote!
[Check your voter status]   [More info]
" 272 | }, 273 | { 274 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 275 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 276 | text: "Don't forget to vote on Tuesday, March 1every single vote makes a difference in this race! Vermont has open primaries, so you can vote in the Democratic primary regardless of your party affiliation.
[Don't know where your polling place is?]   [More info]
" 277 | } 278 | ], 279 | "Virginia": [ 280 | { 281 | startTime: new Date('February 29, 2016 00:00:00 GMT-0500'), 282 | deadline: new Date('March 1, 2016 20:00:00 GMT-0500'), 283 | text: "Don't forget to vote on Tuesday, March 1every single vote makes a difference in this race! Virginia has open primaries, so you can vote in the Democratic primary regardless of your party affiliation.
[Don't know where your polling place is?]   [More info]
" 284 | } 285 | ], 286 | "Wyoming": [ 287 | { 288 | startTime: new Date('March 21, 2016 23:59:59 GMT-0500'), 289 | deadline: new Date('March 25, 2016 23:59:59 GMT-0500'), 290 | text: "Friday, March 25 is your deadline to register to vote! You must be registered as a Democrat to vote in the Wyoming Democratic primary.
[Register to vote!]   [More info]
" 291 | } 292 | ] 293 | } -------------------------------------------------------------------------------- /js/jquery-2.1.4.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery v2.1.4 | (c) 2005, 2015 jQuery Foundation, Inc. | jquery.org/license */ 2 | !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)+1>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b="length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,aa=/[+~]/,ba=/'|\\/g,ca=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),da=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ea=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fa){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(ba,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+ra(o[l]);w=aa.test(a)&&pa(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",ea,!1):e.attachEvent&&e.attachEvent("onunload",ea)),p=!f(g),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ca,da);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?la(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ca,da),a[3]=(a[3]||a[4]||a[5]||"").replace(ca,da),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ca,da).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(ca,da),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return W.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(ca,da).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:oa(function(){return[0]}),last:oa(function(a,b){return[b-1]}),eq:oa(function(a,b,c){return[0>c?c+b:c]}),even:oa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:oa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:oa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:oa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function sa(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function ta(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ua(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function va(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wa(a,b,c,d,e,f){return d&&!d[u]&&(d=wa(d)),e&&!e[u]&&(e=wa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ua(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:va(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=va(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=va(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sa(function(a){return a===b},h,!0),l=sa(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sa(ta(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wa(i>1&&ta(m),i>1&&ra(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xa(a.slice(i,e)),f>e&&xa(a=a.slice(e)),f>e&&ra(a))}m.push(c)}return ta(m)}function ya(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=va(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&ga.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,ya(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ca,da),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ca,da),aa.test(j[0].type)&&pa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&ra(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,aa.test(a)&&pa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+K.uid++}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){ 3 | return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b)},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,ba=/<([\w:]+)/,ca=/<|&#?\w+;/,da=/<(?:script|style|link)/i,ea=/checked\s*(?:[^=]|=\s*.checked.)/i,fa=/^$|\/(?:java|ecma)script/i,ga=/^true\/(.*)/,ha=/^\s*\s*$/g,ia={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ia.optgroup=ia.option,ia.tbody=ia.tfoot=ia.colgroup=ia.caption=ia.thead,ia.th=ia.td;function ja(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function ka(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function la(a){var b=ga.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ma(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function na(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function oa(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pa(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=oa(h),f=oa(a),d=0,e=f.length;e>d;d++)pa(f[d],g[d]);if(b)if(c)for(f=f||oa(a),g=g||oa(h),d=0,e=f.length;e>d;d++)na(f[d],g[d]);else na(a,h);return g=oa(h,"script"),g.length>0&&ma(g,!i&&oa(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(ca.test(e)){f=f||k.appendChild(b.createElement("div")),g=(ba.exec(e)||["",""])[1].toLowerCase(),h=ia[g]||ia._default,f.innerHTML=h[1]+e.replace(aa,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=oa(k.appendChild(e),"script"),i&&ma(f),c)){j=0;while(e=f[j++])fa.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=ja(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(oa(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&ma(oa(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(oa(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!da.test(a)&&!ia[(ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(aa,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(oa(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(oa(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&ea.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(oa(c,"script"),ka),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,oa(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,la),j=0;g>j;j++)h=f[j],fa.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(ha,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qa,ra={};function sa(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function ta(a){var b=l,c=ra[a];return c||(c=sa(a,b),"none"!==c&&c||(qa=(qa||n("