function Struct (sStructText)	{
	
	var sZoneDelim='(^)';
	var sRowDelim='($)';
	var sColDelim='(|)';
	var i=0;
	
	this.IsValid=false;
	this.Status='Struct just created.';
	this.Values=new Object();
	this.sDump='';
	
	var aPairs=sStructText.split(sRowDelim);
	this.Status='';
	for (i=0;i<aPairs.length;i++)	{
		var aPair=aPairs[i].split(sColDelim);
		if (aPair.length != 2)	{
			alert(sStructText);
			this.Status='Struct class: key-value pair number ' + (i+1) + ' not valid.';
			return;
		}
		else 	{
			this.Values[aPair[0]]=aPair[1];
			this.Status+='\n'+ aPair[0] + '=' + aPair[1];
			this.sDump+='\n'+aPair[0]+'='+aPair[1];
		}
	}
	this.Status='Struct is valid.'+this.Status;
	this.IsValid=true;
}
Struct.prototype.dump = function ()	{
	alert(this.sDump);
}