/**
 * Parsing array subtemplates ('ex. {v name}') class
 */
cAITemplateParserArray = function ()
{
	this.myType = "a";
}

// Extending cAITemplateParserArray with cAITemplateParser
extend(cAITemplateParserArray, cAITemplateParser);

// Adding methods to cAITemplateParserArray prototype
mixin(cAITemplateParserArray.prototype, {
	/**
	 * Parsing template function
	 */
	parse: function ( obj, template )
	{
		// Getting array name and element template
		var parts = (new cAIParser(template)).explode();
		var array = obj.get(parts[0]);
		var elem_template = "{v value}";
		if (parts.length > 1)
			elem_template = parts[1];
			
		// Parsing elements
		var string = "";
		for (var i in array)
		{
			// Creating outputtable object for array element function
			var out_elem = new jFly(elem_template);
			out_elem.myParent = obj;
			out_elem.elem_index = i;
			out_elem.value = array[i];
			if (typeof(array[i]) == "object")
				out_elem.setObject(array[i]);
			// Parsing outputtable object for array element
			string += out_elem.parse();
		}
		
		return string;
	}
});

// Adding parser
jFly.prototype.addParser(new cAITemplateParserArray());

