﻿LeadingMIS.WebService.Convert = function(){}

LeadingMIS.WebService.Convert.FromXMLDocument = function(xml)
{
	switch(xml.documentElement.nodeName)
	{
		case "boolean":
			return this.ToBoolean(xml);
			break;
		case "string":
			return this.ToString(xml);
			break;
		case "ArrayOfString":
			return this.ToStringArray(xml);
			break;
		case "ArrayOfArrayOfString":
			return this.ToStringArrayArray(xml);
			break;
		default:
			return null;
			break;
	}
}

/*
<?xml version="1.0" encoding="utf-8" ?> 
<boolean xmlns="http://tempuri.org/">false</boolean> 
*/
LeadingMIS.WebService.Convert.ToBoolean = function(xml)
{
	return xml.selectSingleNode("/boolean").text.toBool();
}

/*
<?xml version="1.0" encoding="utf-8" ?> 
<string xmlns="http://tempuri.org/">Hello World</string> 
*/
LeadingMIS.WebService.Convert.ToString = function(xml)
{
	return xml.selectSingleNode("/string").text.trim();
}

/*
<?xml version="1.0" encoding="utf-8" ?> 
<ArrayOfString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
<string>1</string> 
<string>2</string> 
<string>3</string> 
</ArrayOfString>
*/
LeadingMIS.WebService.Convert.ToStringArray = function(xml)
{
	var tempArray = new Array();
	var array = xml.selectNodes("/ArrayOfString/string");
	for(var i = 0; i < array.length; i++)
	{
		tempArray[i] = array[i].text.trim();
	}
	return tempArray;
}

/*
<?xml version="1.0" encoding="utf-8" ?> 
<ArrayOfArrayOfString xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
<ArrayOfString>
<string>00</string> 
<string>01</string> 
</ArrayOfString>
<ArrayOfString>
<string>10</string> 
<string>11</string> 
</ArrayOfString>
</ArrayOfArrayOfString>
*/
LeadingMIS.WebService.Convert.ToStringArrayArray = function(xml)
{
	var tempArrayOfArray = new Array();
	var array = xml.selectNodes("/ArrayOfArrayOfString/ArrayOfString");
	for(var i = 0; i < array.length; i++)
	{
		tempArrayOfArray[i] = new Array();
		var arrayofarray = array[i].selectNodes("string");
		for(var j = 0; j < arrayofarray.length; j++)
		{
			tempArrayOfArray[i][j] = arrayofarray[j].text.trim();
		}
	}
	return tempArrayOfArray;
}
