//based on prototype
var groupUrlPrefix = baseUrl + '/b/';

var groupNum = 0;
var maxGroupNum = 0;

function addGroup(groupName) //添加新组
{
	var url = groupUrlPrefix + 'addGroup?groupName='+encodeURI(groupName);
	var editUrlPrefix = groupUrlPrefix + 'edit?groupId='
	if(!groupName) return false;

	//向远程请求
	$.ajax(
	{
		url: url,
		method: 'get',
		dataType: 'json',
		success: function(response){
			//增加一个组
			if(response.success && response.groupId)
			{
				//alert('<a href="' + editUrlPrefix + response.groupId + '">' + groupName + '</a>');
				var newGroup = $('<div></div>');
				newGroup.html('<a href="' + editUrlPrefix + response.groupId + '" id="group-' +  response.groupId + '">' + groupName + '</a> <a href="#" onClick="renameGroup(\'' + response.groupId + '\', \'' + groupName + '\');return false;"><img border="0" align="absmiddle" title="重命名" src="'+ baseUrl +'/data/template/default/image/edit.gif" /></a>');
				newGroup.addClass('bosslessGroupOff');
				$('#groups').append(newGroup);
				//如果已经达到5个，则隐藏添加框
				groupNum++;
				if(groupNum == 1) location.href= baseUrl + "/b/edit?groupId=" + response.groupId;
				if(groupNum >= maxGroupNum)
				{
					$('#addGroup').hide();
				}
			}
			alert(response.msg);
 		},
		error: function(){ alert('对不起，网络故障，请稍后再试。') }
	});
	

	//如果返回正确的结果，则新增一个标签

	//错误则显示错误信息

}

var currentGroupId = 0;
var modifiedGroupName = ''; //存储刚刚被更改过的组名
function renameGroup(groupId, oldGroupName) //给组重命名
{

	if(!groupId) return false;

	if(modifiedGroupName) oldGroupName = modifiedGroupName;
	var newGroupName = window.prompt("请输入新的组名：", oldGroupName);
	if(typeof(newGroupName) != 'string') return false; //点取消直接返回
	if(oldGroupName == newGroupName) return false; //没有变化
	if(!newGroupName)
	{
		alert('组名不能为空。'); //暂时不提示
		return false;
	}

	var url = groupUrlPrefix + 'renameGroup?groupId='+groupId+'&groupName='+encodeURI(newGroupName);

	//向远程请求
	$.ajax(
	{
		url: url,
		method:'get',
		dataType:'json',
		success: function(response){
			if(response.success)
			{
				modifiedGroupName = newGroupName;
				$('#group-' + groupId)[0].innerHTML = newGroupName;
				if(currentGroupId == groupId) $('#addressGroupName')[0].innerHTML = newGroupName;
			}
			else alert(response.msg);
 		},
		error: function(){ alert('对不起，网络故障，请稍后再试。') }
	});
}

function deleteGroup(groupId)
{
}

function searchStocks(key) //搜索股票
{
	key = $.trim(key);
	if(!key) return false;
	var url = groupUrlPrefix + 'search?key=' + encodeURI(key)

	//向远程请求
	$('#searchResult')[0].innerHTML = '搜索中......请稍候';
	$.ajax(
	{
		url: url,
		method: 'get',
		dataType: 'json',
		success: function(response){
		if(!response) $('#searchResult')[0].innerHTML = '没有搜索到关于 '+key+ ' 的内容';
		else
		{
			var outputArray = new Array();
			var output = '';
			colorIndex = 0;
			for(var i in response)
			{
				stockCode = response[i].stockCode;
				stockName = response[i].stockName;
				if(stockName)
				{
					if(colorIndex % 2 == 0) color = 'whiteBg';
					else color = 'lightBlueBg';
					outputArray.push('<div class="'+ color +'" style="height: 15px;margin-bottom:2px;"><div style="float:left;">'+stockName+' （'+stockCode+'）</div><div style="float:right;" onClick="addStock(\''+stockCode+'\', \''+stockName+'\');"><a href="#" onClick="return false;">添加</a></div></div>');
					outputArray.push('<div class="clear"></div>');
					colorIndex++;
				}
			}
			replaceHtml('searchResult', outputArray.join('')); //不使用innerHTML，提升速度
		}
 		},
		error: function(){ $('#searchResult')[0].innerHTML = '对不起，网络故障，请稍后再试。'; }
  });
}

var stockCodeList = new Array(); //被选中的股票代码列表
var stockNameList = new Array(); //被选中的股票名称列表
var maxStockNum = 0;
function addStock(stockCode, stockName)
{
	if(jQuery.inArray(stockCode, stockCodeList) != -1) //存在
	{
		alert(stockName + ' 已经存在了。');
	}
	else if(stockCodeList.length >= maxStockNum)
	{
		alert('您无法再添加新的股票了，由于服务器资源的限制，目前最多只能定制'+maxStockNum+'个。');
	}
	else //终于过关了
	{
		stockCodeList.push(stockCode);
		stockNameList.push(stockName);
		generateStockListContent(); //生成内容放到容器内
	}
}

function removeStock(stockCode)
{
	var posi = stockCodeList.indexOf(stockCode);
	if(posi == -1) return false; //无厘头，压根不存在，怎么删除

	stockCodeList.splice(posi, 1);
	stockNameList.splice(posi, 1);
	generateStockListContent();
}

function clearStocks()
{
	stockCodeList = [];
	stockNameList = [];
	generateStockListContent();
}

function generateStockListContent()
{
	var output = '';
	var stockCode = '';
	var i = 1;

	for(posi in stockCodeList)
	{
		stockCode = stockCodeList[posi];
		output += '<span title="'+stockCode+'">'+stockNameList[posi]+'</span>&nbsp;&nbsp;<span><a href="#" onclick="removeStock(\''+stockCode+'\'); return false;"><img border="0" width="16" height="16" align="absmiddle" title="删除" src="'+ baseUrl +'/data/template/default/image/delete.gif" /></a></span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
		if(i % 5 == 0) output +='<br />'; 
		i++;
	}
	if(output)
	{
		output += '<div style="margin-left:300px;margin-top:10px;"><a href="#" onClick="clearStocks(); return false;">清除</a></div>'; //清除
		$('#stockPool')[0].innerHTML = output;
	}
	else $('#stockPool')[0].innerHTML = '无';
}

var getUrl = ''; //保存生成后的地址
function generateUrl()
{
	var prefix = baseUrl + '/b/get?list=';
	var stockCodeListStr = stockCodeList.join(',');
	if(!stockCodeListStr) getUrl = '';
	else getUrl = prefix + stockCodeListStr;
	var output = '';
	if(getUrl)
	{
		output = '<a target="_blank" href="'+getUrl+'">'+getUrl+'</a>';
		output += '&nbsp;&nbsp;';
		output += '<input type="button" id="copy" value="复制" onClick="setClipboard(\''+getUrl+'\');">';
		output += '<input type="button" id="favorite" value="收藏" onClick="addFavorite(\''+encodeURI(getUrl)+'\', \'查看定制的股票行情\')">';
	}
	else output = '您还没有选中任何股票。';
	$('#bosslessAddress')[0].innerHTML = output;
}

function saveUserSetting(groupId)
{
	if(!groupId)
	{
		alert('不能保存空组');
		return false;
	}

	if(stockCodeList.length == 0)
	{
		alert('您选中的股票列表为空，不能保存');
		return false;
	}

	var url = baseUrl + '/b/save?groupId='+groupId+'&data='+encodeURI($.toJSON(stockCodeList));
	$('#getButton')[0].disable = true;
	$('#getButton')[0].value = '保存中...';

	//向远程请求
	$.ajax(
	{
		url: url,
		method: 'get',
		asynchronous: false, //同步模式
		dataType: 'json',
		success: function(response){
		$('#getButton')[0].disable = false;
		$('#getButton')[0].value = '保存股票列表';
		if(response.success == true) alert("保存成功");
		else alert("系统故障，保存出错。");
 		},
		error: function(){ alert('对不起，网络故障，请稍后再试。') }
	});
}
