The following confuses me greatly. As noted in the comments, the compares seem to work by themselves, but when put together they don't
The while should run for all days in the same month, then increment i by one, then start over again.
I have laced the whole sequence up with console.log to try to figure it out, but it doesn't make any sense. Everything seems to equal one another, but still fails the "==" test in the while statement.
var i=0;
var currentdate = 0;
var currentmonth = 0;
var opensmonth = 0;
var opens = [
{ "date":"3/30/2006","zip":"30038","latitude":"33.676358","longitude":"-84.15381"},
{ "date":"4/31/2006","zip":"30519","latitude":"34.089419","longitude":"-83.94701"}
];
intid = setInterval("stepthrough()", 250);
function stepthrough() {
//figure out first date.
if (currentdate == 0) { // we've not been run before
currentdate = opens[0]["date"];
currentmonth = currentdate.split("/", 1);
console.log("Current Month: >" + currentmonth +"<");
}
console.log("Current month: " + currentmonth + " And opensdate: " + opens[i]["date"].split("/", 1));
//
// TWILIGHT ZONE ENTERED.
//
if (currentmonth == 3 ) {
console.log("Current month equals 3."); // PASSES
}
if (opens[i]["date"].split("/", 1) == 3) {
console.log("Opens date equals 3."); // PASSES
}
// BOTH THE ABOVE TESTS PASS IN CHROME AND SAFARI WHAT THE F*$K JAVASCRIPT
while(opens[i]["date"].split("/", 1) == currentmonth) { // WHY DOESNT THIS WORK I HATE COMPUTERS
console.log("Trying to add a point one.");
addpoint(i);
i++;
console.log("Trying to add a point.");
}
//set the date for next iteration
currentdate = opens[i]["date"];
currentmonth = currentdate.split("/", 1);
console.log ("Current date is now: " + currentdate + " and current month is now: " + currentmonth);
jQuery('div#date').text(currentdate);
//if (i>=5000) {
if (!opens[i]["date"]) {
console.log("Clearing interval");
clearInterval(intid);
//jQuery('div#date').text("Limited at 5000 records")
}
}