/* * Ext - JS Library 1.0 Alpha 1 * Copyright(c) 2006-2007, Jack Slocum. *  * http://www.extjs.com/license.txt */Ext.data.DominoJsonReader = function( meta, recordType){    Ext.data.DominoJsonReader.superclass.constructor.call(this, meta, recordType);};Ext.extend(Ext.data.DominoJsonReader, Ext.data.DataReader, {    read : function(response){        var json = response.responseText;        var o = eval("("+json+")");        if(!o) {            throw {message: "DominoJsonReader.read: Json object not found"};        }        return this.readEntries(o);    },        readEntries : function(o){     this.jsonData = o;		var recordType = this.recordType, fields = recordType.prototype.fields;	    	var totalRecords = 0;            var v = parseInt(o["@toplevelentries"], 10);            if(!isNaN(v)){                totalRecords = v;            }        var records = [];    		var root = o.viewentry;    		    for(var i = 0; i < root.length; i++){		    var n = root[i];	        var values = {};	        var id = (n["@unid"] !== undefined && n["@unid"] !== "" ? n["@unid"] : null);				        for(var j = 0, jlen = fields.length; j < jlen; j++){				var f = fields.items[j];						            var v = n.entrydata[f.mapping].text[0] !== undefined ? n.entrydata[f.mapping].text[0] : f.defaultValue;			  v = f.convert(v);			  values[f.name] = v;	        }	        var record = new recordType(values, id);	        record.json = n;	        records[records.length] = record;	    }	    return {	        records : records,	        totalRecords : totalRecords || records.length	    };    }});