function object2String(obj) {
	var val, output = "";
	if (obj) {
		output += "{";
		for (var i in obj) {
			val = obj[i];
			switch (typeof val) {
				case ("object"):
				if (val[0]) {
					output += i + ":" + array2 String(val) + ",";
				} else {
					output += i + ":" + object2String(val) + ",";
				}
				break;
			case ("string"):
				output += i + ":" + escape(val) + ",";
				break;
			default:
				output += i + ":" + val + ",";
			}
		}
		output = output.substring(0, output.length-1) + "}";
	}	
	
function array2String(array) {
	var output = "";
	if (array) {
		output += "[";
		for (var i in array) {
			val = array[i];
			switch (typeof val) {
				case ("object"):
					if (val[0]) {
						output += array2String(val) + ",";
					} else {
						output += object2String(val) + ",";
					}
					break;
					case ("string"):
					output += "'" + escape(val) + "',";
					break;
					default:
						output += val + ",";
				}
			}
			output = output.substring(0, output.length-1) + "]";
		}
		return output;
	}
	
function string2Object(string) {
	eval("var result = " + string);
	return result;
	}
	
function string2Array(string) {
	eval("var result = " + string);
	return result;
	}	