var args = {
	"func" : "rp_es12per",
	"title" : "Earned Schedule 12 Period Summary",
	"data" : [
		(|Meta|BeginLoop|ord|PerOrd|11|0|)
		[
		"(|EndDate|(-ord)|)",
		(|ActualTime|(-ord)|[n5]|),
		(|EarnedSchedule|(-ord)|[n5]|),
		(|PlannedDuration|(-ord)|[n5]|),
		(|PDWR|(-ord)|[n5]|),
		(|EstDuration|(-ord)|[n5]|),
		(|EDWR|(-ord)|[n5]|),
		(|SvCum|(-ord)|[n5]|),
		(|ESSV|(-ord)|[n5]|),
		(|BEI|(-ord)|[n5]|),
		(|CEI|(-ord)|[n5]|),
		(|ESSPI|(-ord)|[n5]|),
		(|CpiCum|(-ord)|[n5]|),
		(|SpiCum|(-ord)|[n5]|),
		(|TcpiBac|(-ord)|[n5]|),
		(|TcpiLre|(-ord)|[n5]|),
		(|TspiBcws|(-ord)|[n5]|),
		(|TspiEtc|(-ord)|[n5]|),
		(|IEac|(-ord)|[n5]|),		
		(|EarnedValue|PctSch|(-ord)|[n5]|)
		],
		(|Meta|EndLoop|ord|)
	]
};

(function() {
	'use strict';
	var em = [],
		arr = args.data,
		scale = extra.scale,
		decpl = scale.dd,
		stxt = scale.text,
		valgen, pctgen, numgen, addval,
		len, i, j, s, r;

	em.push('<div class="rpt">');

	while( arr[0][0] === '&nbsp;' ) {
		arr.shift();
	}
	len = arr.length;

	if( len <= 0 ) {
		em.push('<p>No data.');
		em.push('</div>');
		return em.write();
	}

	em.push('<p><table class="rpt"><tr>');
	em.push('<td class="rpt ral rcgr1 rtb">ITEM</td>');
	for( j = 0; j < len; j++ ) {
		em.push('<td class="rpt rar rcgr1 rtb">' + arr[j][0] + '</td>');
	}

	addval = function (cls, em, arr, len, dd, title, index, ccode) {
		var j, n;
		em.push('</tr><tr><td class="rpt ' + cls + '">' + title + '</td>');
		for( j = 0; j < len; j++ ) {
			n = dtostr(arr[j][index], dd);
			if( ccode ) {
				r =n === null ? '' : n > 1.10 ? 'rcr0' : n <= 1.0 ? 'rcg0' : '';
				em.push('<td class="rpt rar ' + r + '">' + n + '</td>');
			} else {
				em.push('<td class="rpt rar ' + cls + '">' + n + '</td>');
			}
		}
	};

	valgen = function(cls, title, index, ccode) {
		addval(cls, em, arr, len, decpl, title, index, ccode);
	};

	numgen = function(cls, title, index, ccode) {
		addval(cls, em, arr, len, 2, title, index, ccode);
	};

	i = 1;
	valgen('', 'AT (Actual Time)', i++);
	numgen('', 'ES (Earned Schedule)', i++);
	valgen('', 'PD (Planned Duration)', i++);
	numgen('', 'PDWR (PD Work Rem)', i++);
	valgen('', 'ED (Estimated Duration)', i++);
	valgen('', 'EDWR (ED Work Rem)', i++);
	valgen('rcb0', 'SV$', i++);
	numgen('rcb0', 'SV(t)', i++);
	numgen('rcb0', 'BEI', i++);
	numgen('rcb0', 'CEI', i++);
	numgen('rcb0', 'SPI(t)', i++);
	numgen('rcb0', 'CPI Cum', i++);
	numgen('rcb0', 'SPI Cum', i++);
	numgen('', 'TCPI BAC', i++);
	numgen('', 'TCPI EAC', i++);
	numgen('', 'TSPI(bcws)', i++, 1);
	numgen('', 'TSPI(etc)', i++, 1);
	numgen('', 'IEAC(t)', i++,);	

	pctgen = function(title, index) {
		addval('', em, arr, len, 2, title, index);
	};
	pctgen('% Schedule', i++);

	j = len+1;
	s = extra.title;
	if( scale.text.length ) {
		s = s.replace(scale.unit, scale.unit + ' (' + scale.text + ')');
	}
	em.push('<tr><td class="rpt rac rcgr1" colspan=' + j + '>' + s + '</td></tr>');

	em.push('</tr></table>');
	em.push('</div>');
	return em.join('');
})();
