var aMsgStackType, aMsgStackContent;

function pushMsg ( tCategory, tMsg, tFieldDesc ) {
	var tMessage='', tBoldReq='Bold fields are required';
	
	if ( typeof ( tMsg ) == 'undefined' )
		tMsg='';

	if ( typeof ( tFieldDesc ) != 'undefined' )
		tBoldReq=tFieldDesc + ' is required';

	switch ( tMsg ) {
		case 'PHONE':
			tMessage='Invalid phone';
			break;
		case 'EMAIL':
			tMessage='Invalid e-mail address';
			break;
		case 'CONFIG':
			tMessage='Please choose your desired configuration';
			break;
		case 'PASSWORD':
			tMessage='Password must match password verification';
			break;
		case 'CCEXP':
			tMessage='Card expiration provided is earlier than today';
			break;
		case 'CCNUM':
			tMessage='Invalid credit card number';
			break;
		default:
			tMessage=tBoldReq;
			break;
	}
	
	aMsgStackType.push ( tCategory );
	aMsgStackContent.push ( tMessage + '<br />' );
}

function clearMsg ( aFormLocations ) {
	var i;
	for ( i=0; i < aFormLocations.length; i ++ ) {
		document.getElementById ( aFormLocations [ i ] + "_ROW" ).style.display='none';
		document.getElementById ( aFormLocations [ i ] + "_ALERT" ).innerHTML='';
	}
	aMsgStackType=new Array ();
	aMsgStackContent=new Array ();
}

function showMsg () {
	var i, oRow, oHTML;
	if ( aMsgStackType.length > 0 ) {
		for ( i=aMsgStackType.length-1; i >= 0 ; i -- ) {
			oRow=document.getElementById ( aMsgStackType [ i ] + "_ROW" ).style.display='';
			oHTML=document.getElementById ( aMsgStackType [ i ] + "_ALERT" );
			oHTML.innerHTML=oHTML.innerHTML + aMsgStackContent [ i ];
		}
	}
}

function mfe(oField) {
	if ( oField.className.indexOf('Sized') == -1 )
		oField.className='cFormFieldError';
	else
		oField.className='cFormSizedFieldError';
	return oField;
}

function mfv(oField) {
	oField.disabled=false;
	if ( oField.className.indexOf('Sized') == -1 )
		oField.className='cFormFieldNormal';
	else
		oField.className='cFormSizedFieldNormal';
}

function mfd(oField) {	// mark_field_disabled
	oField.disabled=true;
	if ( oField.className.indexOf('Sized') == -1 )
		oField.className='cFormFieldDisabled';
	else
		oField.className='cFormSizedFieldDisabled';
}

function mfn(oField) {	// mark_field_normal
	oField.disabled=false;
	if ( oField.className.match('Error') != 'Error' ) {
		if ( oField.className.indexOf('Sized') == -1 )
			oField.className='cFormFieldNormal';
		else
			oField.className='cFormSizedFieldNormal';
	}
}

function field_mouse_over ( oField ) {
//	if ( oField.className == 'cFormFieldNormal' || oField.className == 'cFormFieldError' )
//		oField.focus();
}

function field_mouse_out ( oField ) {
}

function field_on_focus ( oField ) {
	if ( oField.className == 'cFormFieldNormal' )
		oField.className='cFormFieldHover';
	else if ( oField.className == 'cFormFieldError' )
		oField.className='cFormFieldHoverError';
	else if ( oField.className == 'cFormSizedFieldNormal' )
		oField.className='cFormSizedFieldHover';
	else if ( oField.className == 'cFormSizedFieldError' )
		oField.className='cFormSizedFieldHoverError';
}

function field_on_blur ( oField ) {
	if ( oField.className == 'cFormFieldHover' )
		oField.className='cFormFieldNormal';
	else if ( oField.className == 'cFormFieldHoverError' )
		oField.className='cFormFieldError';
	else if ( oField.className == 'cFormSizedFieldHover' )
		oField.className='cFormSizedFieldNormal';
	else if ( oField.className == 'cFormSizedFieldHoverError' )
		oField.className='cFormSizedFieldError';
}
