Hi, I am using the Prototype javascript library (http://prototype.conio.net) which, among other cool stuff, adds methods and properties to standard JavaScript objects. This is all find and dandy, unless someone tries something like this:
var myArray = new Array('a', 'b', 'c', 'd', 'e'); for(letter in myArray){ doSomething(letter); } The problem is that Prototype has added a whole host of properties (mostly methods) to Array, so the loop cycles through these as well, almost certainly with crashing results. Such is the case in DatePicker.js, formatDate(): [where bits is an array of date format chunks ('d', 'dd', 'm', 'mm' and so on)]: for (sect in bits) { /* The nifty regex... */ } I fixed this locally by doing this: var allowedCombinations = "ddddmmmmyyyy"; for(sect in bits){ if(allowedCombinations.indexOf(sect.toLowerCase()) != -1){ /* do the nifty regex... */ } } I am sure there are better ways of doing this, but is there any chance of getting something similar into the tapestry code? Javascript is a dynamic language and there is nothing wrong with adding properties to classes, so it seems unwise to rely on this sort of iterator. Best wishes John --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]