
// Generated by Intersoft Script Optimizer V1.5 + Intersoft JS Engine MaxObfuscate(tm) V1.0 
// Generated Datetime : 10/23/2009 9:45:33 AM
// Copyright (c) 2005 Intersoft Solutions.
// Unauthorized decryption/reproduction of any codes contained herein is strictly prohibited and will result in severe civil and criminal penalties .
//**Start Encode**
function ISDataSet(){ this._Type ="ISDataSet"; ISObject.call(this); this.Type ="DataSet"; this.Name =null; this.DataSetName =null;  this.Tables =new ISArray();};function ISDataTable(ve8826){ this._Type ="ISDataTable"; ISObject.call(this); this.Type ="DataTable"; this.Name =null; this.TableName =null; this.Columns =new ISArray(); this.Rows =new ISArray(); this.DataSet =ve8826; this.DefaultView =null; this.NewRow =function() { return ISDataTableEngine.NewRow(this); }; this.GetDefaultView =function() { if (this.DefaultView ==null) { if (typeof (ISDataView)!="undefined") { this.DefaultView =new ISDataView(this); return this.DefaultView; } } return this.DefaultView; };};function ISDataCell(v36b45){ this._Type ="ISDataCell"; ISObject.call(this); this.Type ="DataCell"; this.Name =v36b45.ColumnName; this.Column =v36b45; this.Row =null; this.Value =null;};var ISDataTableEngine = { NewRow: function(isDataTable) { var row =new ISDataRow(); for (var i =0; i <isDataTable.Columns.length; i++) row.Cells.Add(new ISDataCell(isDataTable.Columns[i])); row.Table =isDataTable; return row; } };function ISDataRow(){ this._Type ="ISDataRow"; ISObject.call(this); this.Type ="DataRow"; this.Cells =new ISArray(); this.ObjectContext =null; this.Table =null;}function ISDataColumn(vebc81){ this._Type ="ISDataColumn"; ISObject.call(this); this.Type ="DataColumn"; this.Name =null; this.DataType =null; this.ColumnName =null; this.Table =vebc81; this.AutoIncrement =false; this.DefaultValue =null; this.ReadOnly =false; this.Unique =false;};var ISADONETMappingEngine = { IsADONETXmlData: function(xml) { var isData =false; var schemaNode; var tempXml; try { tempXml =ISADONETMappingEngine.GetXMLWithNamespaces(xml); schemaNode =ISXml.GetNode(tempXml,"//xs:schema"); } catch (e) { return false; } if (schemaNode !=null) { if (ISXml.GetAttribute(schemaNode,"xmlns:msdata")=="urn:schemas-microsoft-com:xml-msdata" ||ISXml.GetAttribute(schemaNode,"msdata")=="urn:schemas-microsoft-com:xml-msdata") isData =true; } return isData; }, GetXMLWithNamespaces: function(xml) { var tempXml; if (xml.xml.indexOf("xs:schema")>-1) { tempXml =ISXml.CreateXmlDocument(); tempXml.loadXML(xml.xml); tempXml.setProperty("SelectionNamespaces",
 "xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:diffgr=\"urn:schemas-microsoft-com:xml-diffgram-v1\" xmlns:msdata=\"urn:schemas-microsoft-com:xml-msdata\"");
 } return tempXml; }, MappingJsonToObject: function(obj) { var type =null; if (typeof (obj["__type"])!="undefined") type =obj["__type"]; else type =obj.Type; if (type.indexOf("ISDataSet")>-1) return ISADONETMappingEngine.MappingJsonToDataSet(obj); else return ISADONETMappingEngine.MappingJsonToDataTable(obj); }, MappingJsonToDataSet: function(obj) { var dataSet =new ISDataSet(); dataSet.Name =dataSet.DataSetName =obj.DataSetName; for (var i =0; i <obj.Tables.length; i++) { var dataTable =obj.Tables[i]; var isDataTable =ISADONETMappingEngine.MappingJsonToDataTable(dataTable); isDataTable.DataSet =dataSet; dataSet.Tables.Add(isDataTable); } return dataSet; }, MappingJsonToDataTable: function(dataTable) { var isDataTable =new ISDataTable(); isDataTable.Name =isDataTable.TableName =dataTable.TableName; for (var j =0; j <dataTable.Columns.length; j++) { var dataColumn =dataTable.Columns[j]; var isDataColumn =new ISDataColumn(isDataTable); isDataColumn.Name =isDataColumn.ColumnName =dataColumn.ColumnName; if (typeof (dataColumn.DataType)!="undefined") isDataColumn.DataType =dataColumn.DataType; else isDataColumn.DataType ="System.String"; if (typeof (dataColumn.Unique)!="undefined") isDataColumn.Unique =dataColumn.Unique; if (typeof (dataColumn.ReadOnly)!="undefined") isDataColumn.ReadOnly =dataColumn.ReadOnly; if (typeof (dataColumn.AutoIncrement)!="undefined") isDataColumn.AutoIncrement =dataColumn.AutoIncrement; if (typeof (dataColumn.DefaultValue)!="undefined") isDataColumn.DefaultValue =dataColumn.DefaultValue; isDataTable.Columns.Add(isDataColumn); } for (var k =0; k <dataTable.Rows.length; k++) { var dataRow =dataTable.Rows[k]; var isDataRow =new ISDataRow(); isDataRow.Table =isDataTable; for (var l =0; l <dataRow.Cells.length; l++) { var isDataCell =new ISDataCell(isDataTable.Columns[l]); isDataCell.Value =dataRow.Cells[l]; isDataCell.Row =isDataRow; isDataRow.Cells.push(isDataCell); } isDataTable.Rows.Add(isDataRow); } return isDataTable; }, MappingToObject: function(xml) { var obj =ISADONETMappingEngine.CreateObjectSchema(xml); var diffGramNode =ISXml.GetNode(xml,"//diffgr:diffgram"); if (diffGramNode !=null) { var dataSetNode =diffGramNode.childNodes[0]; if (dataSetNode.nodeName !="DocumentElement") ISADONETMappingEngine.RetrieveDataSetData(obj,dataSetNode); else ISADONETMappingEngine.RetrieveDataTableData(obj, ISXml.GetNodes(dataSetNode,obj.TableName)); } return obj; }, CreateObjectSchema: function(xml) { var obj =null; var schema =ISXml.GetNode(xml,"//xs:schema"); if (schema !=null) { var dataSetSchema =schema.childNodes[0]; var mainTableName =ISXml.GetAttribute(dataSetSchema,"msdata:MainDataTable"); if (mainTableName ==null ||mainTableName =="") obj =ISADONETMappingEngine.CreateDataSetSchema(schema); else  obj =ISADONETMappingEngine.CreateDataTableSchema(schema.childNodes[0].childNodes[0].childNodes[0].childNodes[0]); } return obj; }, CreateDataSetSchema: function(schema) { var dataSetSchema =schema.childNodes[0]; var obj =new ISDataSet(); obj.Name =obj.DataSetName =ISXml.GetAttribute(dataSetSchema,"name"); var dataTablesSchema =ISXml.GetNode(dataSetSchema,"xs:complexType").childNodes[0]; var dataTableSchema; for (var i =0; i <dataTablesSchema.childNodes.length; i++) { dataTableSchema =dataTablesSchema.childNodes[i]; if (dataTableSchema.nodeType ==1) { obj.Tables.Add(ISADONETMappingEngine.CreateDataTableSchema(dataTableSchema,obj)); } } return obj; }, CreateDataTableSchema: function(dataTableSchema,dataSet) { var obj =new ISDataTable(dataSet); obj.Name =obj.TableName =ISXml.GetAttribute(dataTableSchema,"name"); obj.Columns =ISADONETMappingEngine.CreateDataColumnsSchema(dataTableSchema.childNodes[0].childNodes[0], obj); return obj; }, CreateDataColumnsSchema: function(dataColumnsSchema,dataTable) { var objs =new ISArray(); var dataColumnSchema; for (var i =0; i <dataColumnsSchema.childNodes.length; i++) { dataColumnSchema =dataColumnsSchema.childNodes[i]; if (dataColumnSchema.nodeType ==1) { objs.Add(ISADONETMappingEngine.CreateDataColumnSchema(dataColumnSchema,dataTable)); } } return objs; }, CreateDataColumnSchema: function(dataColumnSchema,dataTable) { var obj =new ISDataColumn(dataTable); obj.Name =obj.ColumnName =ISXml.GetAttribute(dataColumnSchema,"name"); var type =ISXml.GetAttribute(dataColumnSchema,"type"); if (type !=null) obj.DataType =type.replace("xs:",""); else ISADONETMappingEngine.MappingDataType(obj,dataColumnSchema); return obj; }, MappingDataType: function(dataColumn,dataColumnSchema) { var node =ISXml.GetNode(dataColumnSchema,"//xs:restriction"); if (node !=null) { dataColumn.DataType =ISXml.GetAttribute(node,"base").replace("xs:",""); } }, RetrieveDataSetData: function(dataSet,dataSetNode) { var dataTable,dataRowsNode; for (var i =0; i <dataSet.Tables.length; i++) { dataTable =dataSet.Tables[i]; dataRowsNode =ISXml.GetNodes(dataSetNode,dataTable.TableName); ISADONETMappingEngine.RetrieveDataTableData(dataTable,dataRowsNode); } }, RetrieveDataTableData: function(dataTable,dataRowsNode) { for (var i =0; i <dataRowsNode.length; i++) { ISADONETMappingEngine.RetrieveDataRowData(dataTable,dataRowsNode[i]); } }, RetrieveDataRowData: function(dataTable,dataRowNode) { var row =dataTable.NewRow(); var dataCell,dataCellNode; for (var i =0; i <dataRowNode.childNodes.length; i++) { dataCellNode =dataRowNode.childNodes[i]; dataCell =row.Cells.GetNamedItem(dataCellNode.nodeName); dataCell.Row =row; ISADONETMappingEngine.MappingDataCell(dataCell,dataCellNode); } dataTable.Rows.Add(row); row.Table =dataTable; }, MappingDataCell: function(dataCell,dataCellNode) { switch (dataCell.Column.DataType) { case "int": case "integer": case "float": case "double": case "byte": case "decimal": case "long": case "short": case "unsignedByte": case "unsignedInt": case "unsignedShort": case "unsignedLong": case "negativeInteger": dataCell.Value =parseFloat(dataCellNode.text); break; case "dateTime": dataCell.Value =ISADONETMappingEngine.ConvertToDateTime(dataCellNode.text); break; case "boolean": dataCell.Value =dataCellNode.text.toLowerCase()=="true"; break; case "string": case "base64": case "base64Binary":  case "duration": dataCell.Value =dataCellNode.text; break; } }, ConvertToDateTime: function(dateValue) { var date =dateValue.substr(0,dateValue.indexOf("T")); var dateArr =date.split("-"); var time =dateValue.substr(dateValue.indexOf("T")+1); var diffHour =time.indexOf("+")>-1 ? time.substr(time.indexOf("+")) : time.substr(time.indexOf("-")); time =time.replace(diffHour,""); var timeArr =time.split(":"); diffHour =diffHour.substr(0,diffHour.indexOf(":")); var newHour =eval(timeArr[0].toString()+diffHour); if (newHour >=24) { dateArr[2] =parseFloat(dateArr[2])+1; timeArr[0] =newHour -24; } else { if (newHour <0) { dateArr[2] =parseFloat(dateArr[2])-1; timeArr[0] =24 -newHour; } else timeArr[0] =newHour; } timeArr[3] =timeArr[2].substr(timeArr[2].indexOf(".")+1); timeArr[2] =timeArr[2].substr(0,timeArr[2].indexOf(".")); return new Date(parseFloat(dateArr[0]),parseFloat(dateArr[1]),parseFloat(dateArr[2]), parseFloat(timeArr[0]),parseFloat(timeArr[1]),parseFloat(timeArr[2]), parseFloat(timeArr[3])); } };