/**
 * popular.cgi用Record
 * @author maruuo
 */
function getRecord4pi() {
	var rec = Ext.data.Record.create([
		{name: 'SPECID', type: 'int'},
		{name: 'DISPMODEL', type: 'string'},
		{name: 'PRODUCTID', type: 'string'},
		{name: 'PRODUCTNAME', type: 'string'},
		{name: 'MAKERNAME', type:'string'},
		{name: 'CATEGORYNAME',type:'string'},
		{name: 'IMAGEURL', type:'string'},
		{name: 'ITEMPAGEURL', type:'string'},
		{name: 'BBSPAGEURL', type:'string'},
		{name: 'REVIEWPAGEURL', type:'string'},
		{name: 'LOWPRICE', type:'int'},
		{name: 'RANKING', type:'int'}
	]);
	return rec;
}

function getJsonReader4pi() {
	var reader = new Ext.data.JsonReader (
		{
			totalProperty: 'count',
			root: 'items',
			id: 'specid'
		},
		getRecord4pi()
	);
	return reader;
}

/**
 * @param {Object} params
 *	params['classId'] = opt['classId'];
 *	params['lowPrice'] = prices[n-1];
 *	params['highPrice'] = prices[n];
 *	params['index'] = n;
 *	params['panel'] = panel;
 * @param {Object} func
 */
function getDataStore4pi(params, func) {
	var proxy = new Ext.data.ScriptTagProxy({
						url:'cgi-bin/kakakucom/popularitems.cgi',
						method:'GET',
						callbackParam: 'callback'
					});
	var dataStore = new Ext.data.Store({
						reader: getJsonReader4pi(),
						proxy:  proxy
					});
	dataStore.on('load', func);
	dataStore.load({
		params: {
			classid: params['classId'],
			lowprice: params['lowPrice'],
			highprice: params['highPrice'],
			limit: (params['cols'] * 2)
		},
		panel: params['panel']	// 後で用いるpanelを'panel'という名前で保存
	});
	return dataStore;
}
