var oStateMessages = new Object();
// State Messages will be provided in page onload action

function smcShowPartNumber() {
	var oCPNString = document.getElementById('cpn_partnumber');
	partNumberString = "";
	partCode = '';
	//partArray = oDomains.getPartNumber();
	partNumberString = oDomains.getPartNumber().join("");
	for (var i=0; i<oDomains.cpcarray.length; i++) {
		partBlock = '';
		partBackColor = 'FFFFFF';
		oDom = oDomains.cpcarray[i];
		switch (oDom.dtype) {
		case Domain.Constant:
			//It is a constant - user can't pick
			partBlock = oDom.label;
			partBackColor = 'FFFFFF';
			break;
		case Domain.List:
			//If oDom.label == 'dash' then user cannot pick it is autoset.
			//code will either be '-' or empty string.
			partBackColor = 'B8CCFF';
			if (oDom.label == '-')//optional dash fields
				partBackColor = 'FFFFFF';
			if (oDom.state == Domain.NotSet) {
				partBlock = '';
			} else {
				partBlock = oDom.selectionString();
			}
			break;
		case Domain.Mixed:
			partBackColor = 'B8CCFF';
			partBlock = (oDom.hasSelection()) ? oDom.inputval:'';
			break;
		case Domain.IntegerRange:
			partBackColor = 'B8CCFF';
			partBlock = (oDom.hasSelection()) ? oDom.inputval:'';
			break;
		case Domain.DecimalRange:
			partBackColor = 'B8CCFF';
			partBlock = (oDom.hasSelection()) ? oDom.inputval:'';
			break;
		default:
			alert('Domain ('+oDom.label+') is an unsupported datatype ('+oDom.dtype+')');
			break;
		}
		if(oDom.contype == Rule.HardConstraint)
			partBackColor = 'FF0000';
		if(partBlock == '')
			partCode = partCode + '<td nowrap bgcolor="' + partBackColor + '">' + '&nbsp;&nbsp;' + '</td>';
		else
			partCode = partCode + '<td nowrap bgcolor="' + partBackColor + '">' + partBlock + '</td>';
	}

	oCPNString.innerHTML = '<table border="0" cellpadding="3" cellspacing="1" bgcolor="000000"><tr style="font-family: arial; font-weight: bold;">' +
							partCode +
							'</tr></table>';
	var oCPNState = document.getElementById('cpn_state');
	var sState = oDomains.getConstraintEngineState();
	/*
	switch(sState) {
	case 'Partial':
		oCPNState.style.color = '#CCAA00';
		break;
	case 'Complete':
		oCPNState.style.color = '#00A000';
		break;
	case 'Invalid':
		oCPNState.style.color = '#AA0000';
		break;
	}
	*/
	oCPNState.innerHTML = oStateMessages[sState];
}

ShowPartNumber = smcShowPartNumber;


