Flatten Object
function flattenObject(oObj) {
var oToReturn = {};
for (var i in oObj) {
if (!oObj.hasOwnProperty(i)) continue;
if ((typeof oObj[i]) == 'object') {
var oFlatObject = flattenObject(oObj[i]);
for (var x in oFlatObject) {
if (!oFlatObject.hasOwnProperty(x)) continue;
oToReturn[i + '.' + x] = oFlatObject[x];
}
} else {
oToReturn[i] = oObj[i];
}
}
return oToReturn;
}