	/**
		This defines a Driver object that has the details of a nascar driver for
		The Practice page.
	*/	
	
	QualDriver.prototype.mId				= null;																
	QualDriver.prototype.mCarNumber			= null;
	QualDriver.prototype.mStartPosition		= null;
	QualDriver.prototype.mEventPosition		= null;
	
	QualDriver.prototype.mFirstName			= null;
	QualDriver.prototype.mLastName			= null;
	
	QualDriver.prototype.mLapNumber			= null;
	QualDriver.prototype.mLapTime			= null;	
	QualDriver.prototype.mFastestLap		= null;
	
	QualDriver.prototype.mSeasonPoints		= null;
	QualDriver.prototype.mManufacturer		= null;
	QualDriver.prototype.mSponsor			= null;
	
	QualDriver.prototype.mBestSpeed			= null;
	QualDriver.prototype.mBestTime			= null;
	QualDriver.prototype.mCurrentSpeed		= null;
	QualDriver.prototype.mShortName			= null;		
	QualDriver.prototype.mIsChaseDriver		= null;	
			
	/**
	 * QualDriver - Constructor
	 * Create a new QualDriver object.
	 */
	function QualDriver(inputLine)
	{
		this.mId				= "";
		this.mCarNumber			= "";
		this.mStartPosition		= "";
		this.mEventPosition		= "";		
		
		this.mFirstName			= "";
		this.mLastName			= "";
		
		this.mLapNumber			= "";
		this.mLapTime			= "";				
		this.mFastestLap		= "";
		
		this.mSeasonPoints		= "";
		this.mManufacturer		= "";
		this.mSponsor			= "";
		
		this.mBestSpeed			= "";
		this.mBestTime			= "";
		this.mCurrentSpeed		= "";
		this.mShortName			= "";
		this.mIsChaseDriver		= false;
		
		this.initialize(inputLine);
	}
	
	/**
	 */
	QualDriver.prototype.initialize = function (inputLine)
	{
		if (!inputLine)
		{
			return;
		}
		
		//the inputLine format must of the following
		//"|"+l.getId() + "|"+l.getCarNumber() + "|"+l.getStartPosition() + "|"+l.getEventPosition() + "|"+driver.getFirstName() +
		//"|"+driver.getLastName()+	"|"+l.getLapNumber() + "|"+(l.getLapTime()==null?null:tdf.format(l.getLapTime())) + 	
		//"|"+ fastestLap + //"FASTEST_LAP"+ "|"+driver.getSeasonPoints()+ "|"+car.getManufacturer()+ 
		//"|"+car.getSponsor()+ "|"+(bestSpeed==null?null:df.format(bestSpeed))+ "|"+(bestTime==null?null:tdf.format(bestTime))+
		//"|"+(currentSpeed==null?null:df.format(currentSpeed)) + "|"+driver.getShortName();
			
		var values = inputLine.split("|");
		
		//skip the 0's index, that is just an 'R' indicating that the input line is for a driver Registration.
		
		this.mId 				= values[1];
		this.mCarNumber			= values[2];
		this.mStartPosition		= values[3];
		this.mEventPosition		= values[4];		

		this.mFirstName			= removeNull( values[5] );
		this.mLastName			= removeNull( values[6] );
	
		this.mLapNumber			= removeNull( values[7] );		
		this.mLapTime			= removeNull( values[8] );				
		
		this.mSeasonPoints		= removeNull( values[9] );
		this.mManufacturer		= removeNull( values[10] );
		this.mSponsor			= removeNull( values[11] );
		
		this.mBestSpeed			= removeNull( values[12] );
		this.mBestTime			= removeNull( values[13] );
		this.mCurrentSpeed		= removeNull( values[14] );
		this.mShortName			= values[15];	
				
		if (values[16] == '1')
		{
			this.mIsChaseDriver = true;
		}								
		else
		{
			this.mIsChaseDriver = false;
		}		
	};
	
	/**
	 */
	function removeNull(value)
	{
		if (value == null || value == 'null')
		{
			return '-';
		}
		return value;
		
	}
	
	/**
	 */
	QualDriver.prototype.getId = function ()
	{
		return this.mId;
	};
	
	/**
	 */
	QualDriver.prototype.getCarNumber = function ()
	{
		return this.mCarNumber;
	};
			
	/**
	 */
	QualDriver.prototype.getStartPosition = function ()
	{
		return this.mStartPosition;
	};
	
	/**
	 */
	QualDriver.prototype.getEventPosition = function ()
	{
		return this.mEventPosition;
	};		
	
	/**
	 */
	QualDriver.prototype.getFirstName = function ()
	{
		return this.mFirstName;
	};
	
	/**
	 */
	QualDriver.prototype.getLastName = function ()
	{
		return this.mLastName;
	};
	
	/**
	 */
	QualDriver.prototype.getLapNumberSpeed = function ()
	{
		return this.mLapNumber;
	};
	
	/**
	 */
	QualDriver.prototype.getLapTime = function ()
	{
		return this.mLapTime;
	};
	
	/**
	 */
	QualDriver.prototype.getFastestLap = function ()
	{
		return this.mFastestLap;
	};
	
	/**
	 */
	QualDriver.prototype.getSeasonPoints = function ()
	{
		return this.mSeasonPoints;
	};
	
	/**
	 */
	QualDriver.prototype.getManufacturer = function ()
	{
		return this.mManufacturer;
	};
	
	/**
	 */
	QualDriver.prototype.getSponsor = function ()
	{
		return this.mSponsor;
	};
	
	/**
	 */
	QualDriver.prototype.getBestSpeed = function ()
	{
		return this.mBestSpeed;
	};
	
	/**
	 */
	QualDriver.prototype.getBestTime = function ()
	{
		return this.mBestTime;
	};
	
	/**
	 */
	QualDriver.prototype.getCurrentTime = function ()
	{
		return this.mCurrentSpeed;
	};	
	
	/**
	 */
	QualDriver.prototype.getShortName = function ()
	{
		return this.mShortName;
	};
	
	/**
	 */
	QualDriver.prototype.isChaseDriver = function ()
	{
		return this.mIsChaseDriver;
	};
	
	
	/**
	 */
	QualDriver.prototype.equals = function (other)
	{
		return this.mCarNumber == other.getCarNumber();
	};
				
	
	/**
	 * toString
	 * Returns a string representation of this QualDriver 
	 */
	QualDriver.prototype.toString = function ()
	{	
		var buffer;
		
		buffer += "mId: [" + this.mId		+ "], ";
		buffer += "mCarNumber: [" + this.mCarNumber		+ "], ";
		buffer += "mStartPosition [" + this.mStartPosition 			+ "], ";
		buffer += "mEventPosition [" + this.mEventPosition 			+ "], ";		
		buffer += "mFirstName [" + this.mFirstName				+ "], ";
		buffer += "mLastName [" + this.mLastName	+ "], ";		
		buffer += "mLapNumber [" + this.mLapNumber		+ "], ";						
		buffer += "mLapTime [" + this.mLapTime		+ "], ";						
		buffer += "mFastestLap [" + this.mFastestLap		+ "], ";
		
		buffer += "mSeasonPoints [" + this.mSeasonPoints 				+ "], ";		
		buffer += "mManufacturer [" + this.mManufacturer				+ "], ";
		buffer += "mSponsor [" + this.mSponsor	+ "], ";		
		buffer += "mBestSpeed [" + this.mBestSpeed		+ "], ";						
		buffer += "mBestTime [" + this.mBestTime		+ "], ";						
		buffer += "mCurrentSpeed [" + this.mCurrentSpeed		+ "], ";						
		buffer += "mShortName [" + this.mShortName		+ "], ";						
		buffer += "mIsChaseDriver [" + this.mIsChaseDriver		+ "], ";						
						
		return buffer;
	};			
