/* @charset "UTF-8" */
/**
 * 客户端数据项对象
 * @param {Object} params
 * 需要如下数据项
 * code 股票代码（例如：300033）
 * dataItem	数据项键名（例如：周期数、最高、最低）
 * period 周期（例如：8912、16384）
 */
var ClientDataItem	= function (params)
{
	var self	= this;
	
	/**
	 * 股票代码
	 * @var {String}
	 */
	var _code;
	
	/**
	 * 周期
	 * @var {String}
	 */
	var _period;
	
	/**
	 * 股票市场类别
	 * @var {Integer}
	 */
	var _stockType;
	
	/**
	 * 数据项对应关系表
	 */
	var _dataItemIds	= {
		'kx'	: {
			'起始价': '920009',
			'终止价': '985545',
			'最高'	: '723401',
			'最低'	: '854473',
			'均价'	: '1378761',
			'涨跌值': '1182153',
			'涨跌幅': '1116617',
			'振幅'	: '1247689',
			'总手'	: '788937',
			'金额'	: '1051081',
			'内盘'	: '527198',
			'外盘'	: '527197',
			'换手'	: '1313225',
			'周期数': '3738058',
			'特大单买入': 'QJTDDTJ1.特大单买入',
			'特大单卖出': 'QJTDDTJ1.特大单卖出',
			'特大单净量': 'QJTDDTJ1.特大单净量',
			'特大单净额': 'QJTDDTJ1.特大单净额',
			'大单买入'	: 'QJDDTJ1.大单买入',
			'大单卖出'	: 'QJDDTJ1.大单卖出',
			'大单净量'	: 'QJDDTJ1.大单净量',
			'大单净额'	: 'QJDDTJ1.大单净额',
			'中单买入'	: 'QJZDTJ1.中单买入',
			'中单卖出'	: 'QJZDTJ1.中单卖出',
			'中单净量'	: 'QJZDTJ1.中单净量',
			'中单净额'	: 'QJZDTJ1.中单净额'
		},
		'fs'	: {
			'最高'	: '3869132',
			'最低'	: '3934668',
			'均价'	: '199117',
			'涨跌值': '4000204',
			'涨跌幅': '4065740',
			'总手'	: '4131276',
			'金额'	: '68045',
			'换手'	: '133581',
			'内盘'	: '15',
			'外盘'	: '14',
			'特大单买入': 'FSQJTTDTJ.特大单买入',
			'特大单卖出': 'FSQJTTDTJ.特大单卖出',
			'特大单净量': 'FSQJTTDTJ.特大单净量',
			'特大单净额': 'FSQJTTDTJ.特大单净额',
			'大单买入'	: 'FSQJDDTJ.大单买入',
			'大单卖出'	: 'FSQJDDTJ.大单卖出',
			'大单净量'	: 'FSQJDDTJ.大单净量',
			'大单净额'	: 'FSQJDDTJ.大单净额',
			'中单买入'	: 'FSQJZDTJ1.中单买入',
			'中单卖出'	: 'FSQJZDTJ1.中单卖出',
			'中单净量'	: 'FSQJZDTJ1.中单净量',
			'中单净额'	: 'FSQJZDTJ1.中单净额'
		},
		'kfsjj'	: {
			'涨跌幅'	: '625455',
			'振幅'		: '625456',
			'涨跌值'	: '625457',
			'最高'		: '625458',
			'最低'		: '625459',
			'终止价'	: '625460',
			'起始价'	: '625461'
		}
	};
	
	/**
	 * 初始化
	 * @param {Object} params
	 */
	var init	= function (params)
	{
		if (typeof params.code != 'string' || typeof params.period != 'string') {
			return ;
		}
		
		_code		= params.code;
		_period		= params.period;
		_stockType	= params.stockType;
	};
	
	self.getDataItemId	= function (dataItem)
	{
		if (_stockType == 11 && _dataItemIds['kfsjj'][dataItem]) {
			return _dataItemIds['kfsjj'][dataItem];
		}
		
		var period	= _period == '8192' ? 'fs' : 'kx';
		if (_dataItemIds[dataItem]) {
			return _dataItemIds[dataItem];
		} else if (_dataItemIds[period][dataItem]) {
			return _dataItemIds[period][dataItem];
		} else {
			return undefined;
		}
	};
	
	init(params);
	
	return self;
};
