If the Preferences object is called a "Preferences", don't name your variable that (don't do what I crossed out, instead do what's underneath):
code:
function preferences()
{
this.percentage = new Boolean(true);
this.cols = 3;
}
var preferences = new preferences();
var mypreferences = new preferences();
(the bold is what I changed)
I believe it is because of the intialization where the boolean is set to true. Because they have the same name, it's initializing again each time, setting it to true.