function SS_JSONHandler(jsonobj)
	{
		this.SSU			= new SS_Util();
		this.jsonobj 		= null;
		
		this.init 			= initJH;
		this.getElement		= getElementJH;
		this.getJSONObject	= getJSONObjectJH;
		this.stringObject 	= stringObjectJH;
		this.stringList 	= stringListJH;

		if (SS_JSONHandler.arguments.length == 1)
		{
			this.init(jsonobj)				
		}

	}


	function initJH(jsonobj)
	{
		this.jsonobj = (jsonobj) ? jsonobj : null;	
	}


	function getElementJH(bykey, jsondata)
	{

		var jsondata = (getElementJH.arguments.length == 2) ? jsondata : this.jsonobj;
		
		if (bykey && jsondata[bykey]) { return jsondata[bykey]; }

		for (var jsonkey in jsondata)
		{
			return this.getJSONObject(jsondata[jsonkey], bykey);
		}


		//this.getElement(elem, bykey, byvalue, data[key]);


		return 
	
	
	
	}

	function getJSONObjectJH(jsondata, bykey)
	{
	
		var str 	= "";
		var	label 	= "";

		if (typeof jsondata == "object")
		{

			for (var jsonkey in jsondata)
			{
				
				if (jsonkey == bykey)
				{
					return jsondata;
				}
				else
				{

					if (typeof jsondata[jsonkey] == "object")
					{
						return this.getJSONObject(jsondata[jsonkey], bykey);
					}
					else
					{
						return jsondata;
					}
				
				}
			}

		} else {
			
			return data;
			
		}
		
			
	}


	function stringObjectJH(data, prefix, suffix)
	{
		var str 	= "";
		var	label 	= "";

		if (typeof data == "object")
		{

			str += "<ul>";

			for (var key in data)
			{
				
				if (typeof data[key] == "object")
				{
					label = (this.SSU.isInteger(key)) ? "Array Element " + key : key;
					str +=  label + ": ";
					str += this.stringObject(data[key], prefix, suffix);
					}
				else
				{
					label =  key + ": ";
					str +=  this.SSU.encapsulate(label + data[key], prefix, suffix);
				}

			}

			str += "</ul>";

		}
		
		return str;
	
	}
	
	function stringListJH(prefix, suffix)
	{

		var str = "";

		for (var i in this.jsonobj)
		{
			if (typeof this.jsonobj[i] == "object")
			{
				str +=  i + ": ";
				str += this.stringObject(this.jsonobj[i], prefix, suffix);
			}
			else
			{
				str +=  i + ": ";
				str += this.SSU.encapsulate(this.jsonobj[i], prefix, suffix);
			}
		}
		
		return str;

	}

