// objectsArraysString.js
//
// Author: Danny Goodman
// Used by permission from JavaScript & DHTML Cookbook
//

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 + ":" + array2String(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) + "}";
	}
	return output;
}

function array2String(array) {
	var output = "";
	if (array) {
		output += "[";
		for (var i in array) {
			val = array[i];
			switch (typeof val) {
				case ("object"):
					if (val[0]) {
						oupput += 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;
}