//<script>
function CError() {
	/* data members */
	var m_source	= "";					// where error occurred
	var m_message	= "";					// error message
	var m_type		= "";					// type of error
	
	/* properties */
	this.setSource	= setSource;
	this.getSource	= getSource;
	this.setMessage = setMessage;
	this.getMessage = getMessage;
	this.setType	= setType;
	this.getType	= getType;
	
	function setSource( source ) { 
		//default source if nothing provided
		if ( source == null || source == "" ) {
			m_source = "Unknown";
		} else {
			m_source = source;
		}
	}
	
	function getSource() { return m_source; }
	
	function setMessage( message ) {
		//default message if nothing provided
		if ( message == null || message == "" ) {
			m_message = "Client Error Occurred During Execution";
		} else {
			m_message = message;
		}
	}
	
	function getMessage() { return m_message; } 
	
	function setType( type ) { m_type = type; }
	
	function getType() { return m_type; }
	
	/* error type enumerations */
	this.ECLAIMS_ERR_FORM			= 0;	// error handled in CForm.js
	
	/* member functions */
	this.handleError	= handleError;		// handles thrown exceptions
}	

function handleError( type, message, source ) {
	try {
		//Step 1: get error parameters
		if ( type	 != null ) this.setType( type );	
		if ( message != null ) this.setMessage( message );
		if ( source  != null ) this.setSource( source );

		alert("Error [" + this.getMessage() + "]" + "\nSource [" + this.getSource() + "]");
	} catch( exception ) {
		// do nothing
	} finally {
	
	}
}
//</script>