var spCache = new Cache(100);// 缓存注数计算结果
var MAX_BETUNITS = 10000;
var MAX_BETUNITS_ERROR_MSG = '单倍注数不能超过10000注。';
var hasHandicap = null;
/**
 * 点击选项的处理函数
 * 
 * @param index 选项的index
 * @param lineId 场次ID
 * @param e 事件
 */
function clickOption(index, lineId, e) {
	var event = new Event(e);
	var chkop = $('chkop_' + lineId + '_' + index);
	
	var isGo = checkIsMore15Match(lineId);
	if(!isGo){
		chkop.checked = false;
		return false;
	}
	
	if (event.target.id != chkop.id) {
		chkop.checked = !chkop.checked;
	}

	// 通过改变td的背景色来标识是否选中
	var td_chkop = $('td_chkop_' + lineId + '_' + index);
	if (chkop.checked) {
		td_chkop.className = selectedClass;
	} else {
		td_chkop.className = unselectedClass;
	}

	var count = 0;// 选中了几个选项
	var allselected = true; 
	var html = '';
	var danIndex = 0;// 用第几位二进制表示设胆
	
	var batchType = chkop.get('_batch');
	td_chkop.getParent('tr[_selectsoptn=selectsoptn_' + lineId + ']').getElements('input[type=checkbox][name=chkop_' + lineId + ']').each(
		function(item) {
			danIndex++;

			if((batchType == item.get('_batch'))&&!item.checked&&allselected){
				allselected = false;
			}
			if (item.checked) {
				count++;
				var chkboxId = 'selected_' + item.id;
				html += '<a class="lc_sfp" style="width:36px;" href="#" onclick="clickOption(' + item.value+ ',' + lineId + ',event);return false;">' + item.get('_text') + '</a>';
				html += '<input type="hidden"  name="matchSell[' + lineId + '].'+ item.get('_name') + '" value="true" />';
				html += '<input type="hidden" name="matchSell[' + lineId + '].'+item.get('_spname')
						+'" value="'+$('spspan_' + lineId + '_'+item.value).get('text')+'" />' ;
				
			}
		}
	);
	
	selectedHandleFn(lineId, count, danIndex, html, true, chkop,allselected,true);
	
	//控制当场比分玩法被选中的选项隐藏时,含有被选项的变色。
	var changeId= 'match_tr_'+lineId;
	var changeObj =$(changeId);
	var playType= $(changeId).get('_playType');
	if(playType!=null && 'singlescore'==playType){
		 
		 var arr=$('optn_match_td_'+lineId).getElements('td[class=bgorange]')
		 if(arr.length>0){
			 changeObj.set('class','trorange');//变色
		 }else{
			 changeObj.set('class',changeObj.get('_className'));//恢复原色
		 }
	}
}

function itemOnmouseover(obj){
	if(obj.className==selectedClass){
		return;
	}
	obj.className = currentselectedClass;
}

function itemOnmouseout(obj){
	if(obj.className==selectedClass){
		return;
	}
	obj.className = unselectedClass;
}

/**
 * 选择处理函数：在选择区显示选择的场次选项
 * 
 * @param lineId 场次ID
 * @param count 选择的选项数目
 * @param danIndex 用二进制的第几位表示胆码
 * @param html 写入选择区的HTML代码
 * @param noUpdatePassType [可选]是否不更新过关方式
 * @param obj 产生事件的目标对象
 */
function selectedHandleFn(lineId, count, danIndex, html, noUpdatePassType,obj,allselected,isoperation) {
	
	var calBetUntis = true;
	if (noUpdatePassType == false) {
		calBetUntis = false;
	}
	if (count == 0) {// 未选择选项，删除tr;
		destroyTrItem(lineId, noUpdatePassType);
		calBetUntis = false;
	} else {
		var tdItem = $('selectedTd_' + lineId);
		
		if (tdItem == null) {// 新选择的场次，在选中区域创建tr存放选择的场次
			createTrItem(lineId, danIndex, noUpdatePassType);
			tdItem = $('selectedTd_' + lineId);
			calBetUntis = false;
		}
		if(isoperation){
			if (allselected) {// 已全选
				obj.getParent('tr').getElement('input[id^=batch_row_]').checked = true;
			}else{
				//obj.getParent('tr').getElement('input[id^=batch_row_]').checked = false;
			}
		}

		html += '<input type="hidden" name="selected_count" value="' + count + '" _lineId="' + lineId + '" />';

		tdItem.set('html', html);// 设置选择的内容
		
	}
	if (calBetUntis) {
		var isMultiplePass = $('passMode_1').checked;
		if (isMultiplePass) {
			countMultiplePassUnits();
		} else {
			countSimplePassUnits();
		}
	}
}

/**
 * 横向全选或取消
 */
function selectRowBatch(el) {
	el = $(el);
	var lineId = el.get('_lineId');
	var batchType = el.get('_batch');
	var isGo = checkIsMore15Match(lineId);
	if(!isGo){
		$('batch_row_'+lineId).checked = false;
		return false;
	}
	
	var count = 0;// 选中了几个选项
	
	var allselected = true;
	var html = '';
	var danIndex = 0;// 用第几位二进制表示设胆
	el.getParent('tr[_selectsoptn=selectsoptn_' + lineId + ']').getElements('input[type=checkbox][name=chkop_' + lineId + ']').each(
		function(item) {
			danIndex++;
			if(item.get('_batch') == batchType){
				if (item.checked != el.checked) {
					item.checked = el.checked;
					var td_chkop = $('td_' + item.id);
					if (item.checked) {
						td_chkop.className = selectedClass;
					} else {
						td_chkop.className = unselectedClass;
					}
				}
				if(!item.checked&&allselected){
					allselected = false;
				}
			}
			if (item.checked) {
				count++;
				var chkboxId = 'selected_' + item.id;
				html += '<a class="lc_sfp" style="width:36px;" href="#" onclick="clickOption(' + item.value+ ',' + lineId + ',event);return false;">' + item.get('_text') + '</a>';
				html += '<input type="hidden"  name="matchSell[' + lineId + '].'+ item.get('_name') + '" value="true" />';
				html += '<input type="hidden" name="matchSell[' + lineId + '].'+item.get('_spname')
						+'" value="'+$('spspan_' + lineId + '_'+item.value).get('text')+'" />' ;
			}
		}
	);

	selectedHandleFn(lineId, count, danIndex, html, true, el,allselected,true);
}

/**
 * 纵向全选或取消
 */
function selectColumnBatch(el) {
	el = $(el);
	var index = el.get('_index');

	var selector = 'tr[_saleEnded=false][_isFilter=false][_isGameFilter=false]';
	var selectHandicapObj = $('select_swapHandicap');
	if(selectHandicapObj != null){
		var handicapMode = selectHandicapObj.value;
		if (handicapMode == 1) {// 让球
			selector += '[_hasHandicap=true]';
		} else if (handicapMode == 2) { // 不让球
			selector += '[_hasHandicap=false]';
		}
	}

	var fn = function(trEl, lineId) {
		var count = 0;// 选中了几个选项
		var html = '';
		var danIndex = 0;// 用第几位二进制表示设胆
		trEl.getElements('input[type=checkbox][name=chkop_' + lineId + ']').each(
			function(item) {
				danIndex++;
				if (item.checked) {
					count++;
					var chkboxId = 'selected_' + item.id;
					html += '<input id="' + chkboxId + '" type="checkbox" name="matchSell[' + lineId + '].'
							+ item.get('_name') + '" value="true" checked="checked" onclick="clickOption('
							+ item.value + ',' + lineId + ',event);" /><label for="' + chkboxId + '">'
							+ item.get('_text') + '</label>&nbsp;';
					
					html += '<input type="hidden" name="matchSell[' + lineId + '].'+item.get('_spname')
					+'" value="'+$('spspan_' + lineId + '_'+item.value).get('text')+'" />' ;
				}
			}
		);

		selectedHandleFn(lineId, count, danIndex, html, false,null,null,false);
	}

	$('matchs_table').getElements(selector).each( function(item) {
		var lineId = item.get("_lineId");
		var chkop = $('chkop_' + lineId + '_' + index);
		if (chkop.checked != el.checked) {
			chkop.checked = el.checked;
			var td_chkop = $('td_' + chkop.id);
			if (chkop.checked) {
				td_chkop.className = selectedClass;
			} else {
				td_chkop.className = unselectedClass;
			}
			fn(item, lineId);
		}
	});
	
	updatePassType();
}

/**
 * 销毁TrItem
 * 
 * @param lineId 选中的场次ID
 * @param noUpdatePassType [可选]是否不更新过关方式
 */
function destroyTrItem(lineId, noUpdatePassType) {
	var trItem = $('selectedTr_' + lineId);
	if (trItem != null) {
		trItem.destroy();
	}
	var schemeendtimeobj = $('selected_scheme_endtime');
	schemeendtimeobj.set('text','--');
	$('selectedTbody').getElements('tr[_group=selectedTr][id^=selectedTr_]').each(function(item,index){
		item.className = index%2==0?'lc_t_td02':'lc_t_td03';
		if(index==0){
			var tempmatchtd = $('scheme_endtime_'+item.get('_lineid'));
			schemeendtimeobj.set('text',tempmatchtd.get('etime'));
		}
	});
	var allselectinputs = $(document.body).getElements('input[id^=batch_row_'+lineId+']');
	
	for ( var i = 0, selectlen = allselectinputs.length; i < selectlen; i++) {
		allselectinputs[i].checked = false;
	}
	
	if (noUpdatePassType != false) {
		updatePassType();
	}
}

/**
 * 在选中区域创建tr
 * 
 * @param lineId 选中的场次ID
 * @param danIndex 用第几位二进制表示设胆
 * @param noUpdatePassType [可选]是否不更新过关方式
 * @return 创建的tr对象
 */
function createTrItem(lineId, danIndex, noUpdatePassType) {
	lineId = lineId.toInt();
	var trItem = new Element('tr', {
		'id' :'selectedTr_' + lineId,
		'_lineId' :lineId,
		'_group' :'selectedTr'
	});
     
	trItem.grab(new Element('td', {
		'height':'25px',
		'html' :'<img onclick=\"clearLine(' + lineId + ');\" src=\"http://s1.betzc.com/2011/liuchengyouhua/images/lc_close.gif\">'+(lineId + 1) + '<input type="hidden" name="matchSell[' + lineId + '].lineId" value="' + lineId + '" />'
	}));
	trItem.grab(new Element('td', {
		'html' :$('match_td_home_' + lineId).innerHTML
	}));
	
	// 是否需要显示让球
	var handicapTd = null;
	if(hasHandicap == null){
		handicapTd = $('match_td_handicap_' + lineId);
		hasHandicap = handicapTd != null;
	}
	if(hasHandicap){
		if(handicapTd == null){
			handicapTd = $('match_td_handicap_' + lineId);
		}
		trItem.grab(new Element('td', {
			'text' :handicapTd.get('text')
		}));
	}
	
	trItem.grab(new Element('td', {
		'html' :$('match_td_guest_' + lineId).innerHTML
	}));
	trItem.grab(new Element('td', {
		'id' :'selectedTd_' + lineId
	}));

	var isMultiplePass = $('passMode_1').checked;
	trItem.grab(new Element('td', {
		'_group' :'selected_shedan',
		'html' :'<input type="checkbox" id="selected_shedan_' + lineId + '" _group="matchSell_shedan" name="matchSell['
				+ lineId + '].shedan" _index="' + danIndex
				+ '" value="true" disabled="disabled" onclick="updateShedan();countMultiplePassUnits();" />',
		'styles' : {
			'display' :(isMultiplePass ? '' : 'none')
		}
	}));

	var elArr = $('selectedTbody').getElements('tr[_group=selectedTr]');
	var beforeEl;
	var el;
	for ( var i = 0, len = elArr.length; i < len; i++) {
		el = elArr[i];
		if (el.get('_lineId').toInt() > lineId) {
			break;
		} else {
			beforeEl = el;
		}
	}
	trItem.inject(beforeEl, 'after');
	
	var schemeendtimeobj = $('selected_scheme_endtime');
	schemeendtimeobj.set('text','--');
	$('selectedTbody').getElements('tr[_group=selectedTr][id^=selectedTr_]').each(function(item,index){
		item.className = index%2==0?'lc_t_td02':'lc_t_td03';
		if(index==0){
			var tempmatchtd = $('scheme_endtime_'+item.get('_lineid'));
			schemeendtimeobj.set('text',tempmatchtd.get('etime'));
		}
	});

	if (noUpdatePassType != false) {
		updatePassType();
	}
	//当出现投注赛事超过规定赛事，自动切换到多选过关
	if(elArr.length >$('maxPassMatchs').value){
		var obj = $('passMode_1');
		obj.checked = true;
		chgPassMode(obj);
	}
	return trItem;
}

/**
 * 清空对一个场次的选择
 * 
 * @param lineId 场次ID
 */
function clearLine(lineId) {
	// 清空选中状态
	$(document.body).getElement('tr[_selectsoptn=selectsoptn_'+lineId+']').getElements('input[type=checkbox][name=chkop_' + lineId + ']').each( function(item) {
		if (item.checked) {
			item.checked = false;
			$('td_' + item.id).className = unselectedClass;
		}
	});
	destroyTrItem(lineId);// 删除选中区域的ＴＲ
}

/**
 * 切换过关模式
 * 
 * @param obj 过关模式radio对象
 */
function chgPassMode(obj) {
	var divtempobj = $('passModeType_div');
	// 更变对应label的颜色
	var tempObj;
	divtempobj.getElements('input[type=radio][name=passMode]').each(function(item,index){
		tempObj = divtempobj.getElement('label[for='+item.id+']');
		tempObj.className = item.checked?'rebchar':'';
	});
	
	var isMultiplePass = obj.value == 1;// 是否多选过关

	$('selectedTbody').getElements('td[_group=selected_shedan]').setStyle('display', isMultiplePass ? '' : 'none');

	updatePassType();
}

/**
 * 更新过关方式
 */
function updatePassType() {
	var trArr = $('selectedTbody').getElements('tr[_group=selectedTr][_lineId!=-1]');
	var matchCount;
	if (trArr != null) {
		matchCount = trArr.length;
	} else {
		matchCount = 0;
	}

	var container = $('pass_container');
	if (matchCount <= 0) {
		container.set('html', '&nbsp;');
		$updateBetUnits(0);
		return;
	}

	var isMultiplePass = $('passMode_1').checked;

	$('mohusheda_td').style.display = isMultiplePass ? '' : 'none';
	var mohushedaSelect = $('mohusheda_select');
	mohushedaSelect.disabled = !isMultiplePass;
	mohushedaSelect.empty();
	
	var maxPassMatchs = $('maxPassMatchs').value;// 最大的过关场次数目

	$('selectedTbody').getElements('input[type=checkbox][_group=matchSell_shedan]').each( function(item) {
			item.checked = false;
			item.disabled = true;
	});

	var passTypeArr;
	var inputType;
	var clickFn;
	if (isMultiplePass) {
		passTypeArr = SpPassType.getMultiplePassType((matchCount > maxPassMatchs) ? maxPassMatchs : matchCount);
		inputType = 'checkbox';
		clickFn = 'updateShedan();countMultiplePassUnits(this);';
	} else {
		if (matchCount > maxPassMatchs) {
			container.set('html', '<font color="red">最多只能选择'+maxPassMatchs+'场赛事</font>');
			return;
		}
		passTypeArr = SpPassType.getSimplePassType(matchCount);
		inputType = 'radio';
		clickFn = 'countSimplePassUnits(this);';
	}

	var html = '';
	for ( var i = 0, len = passTypeArr.length, passType, inputId; i < len; i++) {
		passType = passTypeArr[i];
		inputId = 'passType_' + passType.key;
		if(i==0)
			html += '<ul class="lcguoguan">';
		html += '<li><input onclick="' + clickFn + '" id="' + inputId + '" type="'
				+ inputType + '" value="' + passType.key + '" name="passType" /><label for="' + inputId + '">'
				+ passType.text + '</label></li>';
		if(i==(len-1))
			html += '</ul>';
		
	}
	container.set('html', html);

	$updateBetUnits(0);
}

/**
 * 缓存注数的计算结果
 * 
 * @param key 缓存的键
 * @param result 缓存的值
 * @return 缓存的值
 */
function cacheCountResult(key, result) {
	var cacheOption;
	if (result > 5000) {
		cacheOption = {
			expirationSliding :1200,
			priority :CachePriority.High
		};
	} else if (result > 1000) {
		cacheOption = {
			expirationSliding :600,
			priority :CachePriority.Normal
		};
	} else {
		cacheOption = {
			expirationSliding :300,
			priority :CachePriority.Low
		};
	}
	spCache.setItem(key, result, cacheOption);
	return result;
}

/**
 * 无设胆的注数计算
 * @param bets 可选数组
 * @param needs 需要的场次数目（过几关）
 * @return 注数
 */
function simpleCountFn(bets, needs) {
	var key = "C3_" + bets + "_" + needs;// 用于 缓存计算结果的KEY
	var rs = spCache.getItem(key);// 从 缓存查找是否已经有计算结果

	if (rs == null) {
		var count = 0;
		C3(bets.length, needs, function(comb, n, m) {
			var c = 1;
			var pos = 0;
			for ( var i = 0; i < n; i++) {
				if (comb[i] == true) {
					c *= bets[i];
					if(c > MAX_BETUNITS){
						throw MAX_BETUNITS_ERROR_MSG;
					}
					pos++;
					if (pos == m)
						break;
				}
			}
			count += c;
			if(count > MAX_BETUNITS){
				throw MAX_BETUNITS_ERROR_MSG;
			}
		});

		rs = count;
		cacheCountResult(key, rs);// 缓存计算结果
	}

	return rs;
}

/**
 * 有设胆的注数计算
 * 
 * @param danBets 设胆的数组
 * @param unDanBets 非设胆的数组
 * @param danHit 胆码对几场
 * @param needs 需要的场次数目（过几关）
 * @return 注数
 */
function shedanCountFn(danBets, unDanBets, danHit, needs) {
	var key = "C3_" + danBets + "_" + unDanBets + "_" + danHit + "_" + needs;// 用于缓存计算结果的KEY
	var rs = spCache.getItem(key);// 从 缓存查找是否已经有计算结果

	if (rs == null) {// 无缓存，进行计算
		var count = 0;
		C3(danBets.length, danHit, function(comb, n, m) {
			var c = 1;// 胆码的组合计算结果
			var pos = 0;
			for ( var i = 0; i < n; i++) {
				if (comb[i] == true) {
					c *= danBets[i];
					if(c > MAX_BETUNITS){
						throw MAX_BETUNITS_ERROR_MSG;
					}
					pos++;
					if (pos == m)
						break;
				}
			}

			if (m < needs) {// 需要拖码
				var c2 = simpleCountFn(unDanBets, needs - m);
				count += c * c2;
			} else {// 不需要拖码
				count += c;
			}
			if(count > MAX_BETUNITS){
				throw MAX_BETUNITS_ERROR_MSG;
			}
		});

		rs = count;
		cacheCountResult(key, rs);// 缓存计算结果
	}

	return rs;
}

/**
 * 普通过关计算注数
 * @param passTypeEl [可选]当前选中的过关方式的标签对象
 */
function countSimplePassUnits(passTypeEl) {
	var ultempobj = $('pass_container');
	// 更变对应label的颜色
	var tempObj;
	ultempobj.getElements('input[type=radio][name=passType]').each(function(item,index){
		tempObj = ultempobj.getElement('label[for='+item.id+']');
		tempObj.style.color = item.checked?'#FF0000':'';
	});
	
	var passType;// 当前的过关方式
	if (passTypeEl != null) {
		passType = SpPassType[passTypeEl.value];
	} else {
		passTypeEl = $('pass_container').getElement("input[type=radio][name=passType][checked]");
		if (passTypeEl != null) {
			passType = SpPassType[passTypeEl.value];
		}
	}

	var betUnits = 0;
	if (passType != null) {
		try {
			var bets = [];
			$('selectedTbody').getElements('input[type=hidden][name=selected_count]').each( function(item) {
				bets.push((item.value).toInt());
			});
			bets.sort();
			for ( var i = 0, len = passType.passMatchs.length; i < len; i++) {
				betUnits += simpleCountFn(bets, passType.passMatchs[i]);
				if (betUnits > MAX_BETUNITS) {
					throw MAX_BETUNITS_ERROR_MSG;
				}
			}
		} catch (e) {
			if (e == MAX_BETUNITS_ERROR_MSG) {
				$updateBetUnits(e);
				return;
			}
		}
	}
	$updateBetUnits(betUnits);
}

/**
 * 多选过关计算注数
 */
function countMultiplePassUnits() {
	var ultempobj = $('pass_container');
	// 更变对应label的颜色
	var tempObj;
	ultempobj.getElements('input[type=checkbox][name=passType]').each(function(item,index){
		tempObj = ultempobj.getElement('label[for='+item.id+']');
		tempObj.style.color = item.checked?'#FF0000':'';
	});
	
	var betUnits = 0;

	var danBets = [];
	var unDanBets = [];
	$('selectedTbody').getElements('input[type=hidden][name=selected_count]').each( function(item) {
		var val = (item.value).toInt();
		var shedan = $('selected_shedan_' + item.get('_lineId'));
		if (!shedan.disabled && shedan.checked) {
			danBets.push(val);
		} else {
			unDanBets.push(val);
		}
	});
	danBets.sort();
	unDanBets.sort();
	var danSize = danBets.length;

	try{
		if (danSize > 0) {
			var danMinHit = $('mohusheda_select').value;
			$('pass_container').getElements("input[type=checkbox][name=passType][checked]").each( function(item) {
				var passType = SpPassType[item.value];
				for ( var i = 0, len = passType.passMatchs.length; i < len; i++) {
					var needs = passType.passMatchs[i];
					for ( var danHit = danMinHit; danHit <= danSize; danHit++) {
						betUnits += shedanCountFn(danBets, unDanBets, danHit, needs);
						if(betUnits > MAX_BETUNITS){
							throw MAX_BETUNITS_ERROR_MSG;
						}
					}
				}
			});
		} else {
			$('pass_container').getElements("input[type=checkbox][name=passType][checked]").each( function(item) {
				var passType = SpPassType[item.value];
				for ( var i = 0, len = passType.passMatchs.length; i < len; i++) {
					betUnits += simpleCountFn(unDanBets, passType.passMatchs[i]);
					if(betUnits > MAX_BETUNITS){
						throw MAX_BETUNITS_ERROR_MSG;
					}
				}
			});
		}
	} catch (e) {
		if (e == MAX_BETUNITS_ERROR_MSG) {
			$updateBetUnits(e);
			return;
		}
	}

	$updateBetUnits(betUnits);
}

/**
 * 更新设胆和模糊设胆
 */
function updateShedan() {
	var minPassType;// 最小的过关方式
	var passTypeCount = 0;// 过关方式数目
	$('pass_container').getElements("input[type=checkbox][name=passType][checked]").each( function(item) {
		var passType = SpPassType[item.value];
		if (minPassType == null) {
			minPassType = passType;
		} else if (passType.matchCount < minPassType.matchCount) {
			minPassType = passType;
		}
		passTypeCount++;
	});

	var canShedanNum = 0; // 可以设胆的数目
	if (minPassType != null) {
		var selectedCount = $('selectedTbody').getElements('input[type=hidden][name=selected_count]').length;
		if (selectedCount > minPassType.matchCount) {
			canShedanNum = minPassType.matchCount;
			if (passTypeCount == 1) {
				canShedanNum--;
			}
		}
	}

	var danSize = 0; // 胆码数目
	var unDanSize = 0; // 非胆码数目
	if (canShedanNum < 1) { // 可设胆数目小于1，即不能设胆，所有设胆置为不可用
		$('selectedTbody').getElements('input[type=checkbox][_group=matchSell_shedan]').each( function(item) {
			item.checked = false;
			item.disabled = true;
		});
	} else {
		var danArr = [];
		var unDanArr = [];
		$('selectedTbody').getElements('input[type=checkbox][_group=matchSell_shedan]').each( function(item) {
			if (item.checked) {
				danArr.push(item);
			} else {
				unDanArr.push(item);
			}
		});
		danSize = danArr.length;
		unDanSize = unDanArr.length;

		if (danSize > canShedanNum) {// 当前设胆数目大于可以设胆的数目，取消所有设胆，其他不可用设胆的场次重置为可用
			danArr.each( function(item) {
				item.checked = false;
			});
			unDanArr.each( function(item) {
				if (item.disabled) {
					item.disabled = false;
				}
			});
			unDanSize += danSize;
			danSize = 0;
		} else if (danSize == canShedanNum) {// 当前设胆数目等于可以设胆的数目，把其他未设胆的场次的设胆置为不可用
			unDanArr.each( function(item) {
				if (!item.disabled) {
					item.disabled = true;
				}
			});
		} else {// 当前设胆数目小于可以设胆的数目，把其他未设胆的场次的设胆置为可用
			unDanArr.each( function(item) {
				if (item.disabled) {
					item.disabled = false;
				}
			});
		}
	}

	// 更新模糊设胆
	var mohushedaSelect = $('mohusheda_select');
	if (mohushedaSelect.options.length != danSize) {
		mohushedaSelect.empty();
		if (minPassType != null && danSize > 0) {
			var minDanHit = minPassType.matchCount - unDanSize;
			if (minDanHit < 1)
				minDanHit = 1;
			for ( var i = danSize; i >= minDanHit; i--) {
				mohushedaSelect.grab(new Element('option', {
					'value' :i,
					'text' :'至少对' + i + '场'
				}));
			}
			mohushedaSelect.selectedIndex = 0;
		}
	}
}

function filter(initForm) {
	//先判断选择的场次是否太多
	var maxPassMatchs = parseInt($('maxPassMatchs').value, 10);
	var setPassMatchs=$('selectedTbody').getElements('tr[_group="selectedTr"]').length-1;
	var container = $('pass_container');
	if(setPassMatchs==0){
		container.set('html', '<font color="red">请选择投注场次</font>');
		return false;
	}
	/*
	if(setPassMatchs>maxPassMatchs){
		alert('对不起，该玩法您至多只能选择'+maxPassMatchs+"场次,请重新选择后过滤");
		return false;
	}
	*/
	initForm = $(initForm);
	var formActionUrl = initForm.get('action');
	initForm.set('action', formActionUrl.replace(/![a-zA-Z]+./ig, '!filter.'));
	initForm.set('target', '_blank');
	return true;
}

function prizeForecast(initForm) {
	var betUnits = $('scheme_betUnits').get('text');
	if(betUnits==0){ 
		if($('betUnits_and_betCost_msg').getStyle('display')=='none'){
			alert(MAX_BETUNITS_ERROR_MSG);
			return false;
		}
		alert("请选择过关方式！");
		return false;
	}
	initForm = $(initForm);
	var formActionUrl = initForm.get('action');
	var formTarget = initForm.get('target');
	initForm.set('action', formActionUrl.replace(/![a-zA-Z]+./ig, '!prizeForecast.'));
	initForm.set('target', '_blank');
	initForm.submit();
	initForm.set('action', formActionUrl);
	initForm.set('target', formTarget);
}

function $updateBetUnits(betUnits) {
	var bobj = $(document.body);
	if (betUnits == MAX_BETUNITS_ERROR_MSG) {
		
		bobj.getElements('span[id$=error_msg]').each(function(item){
			item.setStyle('display', '');
			item.set('html', MAX_BETUNITS_ERROR_MSG);
		});
		updateBetUnits(0);
		bobj.getElements('span[id$=betUnits_and_betCost_msg]').each(function(item){
			item.setStyle('display', 'none');
		});
		
	} else {
		
		bobj.getElements('span[id$=error_msg]').each(function(item){
			item.setStyle('display', 'none');
		});
		bobj.getElements('span[id$=betUnits_and_betCost_msg]').each(function(item){
			item.setStyle('display', '');
		});
		updateBetUnits(betUnits);
		
	}
	
	var passtypeobj = $('passTypeId');
	if(passtypeobj!=null){
		setPassTypeText(passtypeobj);
	}
}
function setPassTypeText(passtypeobj){
	var passtypetext = '';
	var passobj = $('pass_container');
	passobj.getElements('input').each(function(item){
         if(item.checked){
        	 var inputid = item.getProperty('id');
        	 var labelobj = passobj.getElement('label[for='+inputid+']');
        	 passtypetext = passtypetext + labelobj.getProperty('text') + ' '; 
         }
	});
	
	passtypeobj.setProperty('text',passtypetext);

}

/**
 * 全清选中投注项(新增)
 **/
function deleteAllLine(){
	var lineIdGroups=$('selectedTable').getElements('tr[_group=selectedTr]');
	var lineId;
	for(i=0;i<lineIdGroups.length;i++){
		lineId = lineIdGroups[i].get('_lineid');
		if(lineId>=0){
			clearLine(lineId);
		}
	}
	
	return false;
}

/**
 * 图标按钮触发购买方式变化
 **/
function chgeSaleTypes(control){
	var typeValue = $(control).get('_value');
	var buyType;
	if(typeValue==0){
		buyType =$('initForm__saleType_0');
	}else{
		buyType =$('initForm__saleType_1');
	}
	buyType.fireEvent('click');
	return false;
} 

/**
 * 选中场次整列变色
 * @return
 */
function checkIsSelectChg(obj,className){
	var obj = $(obj)
	if('trchosed'!=obj.className){
		obj.className = className;
	}
	
}

/**
 * 是否超过15场
 * @param lineId
 * @returns {Boolean}
 */
function checkIsMore15Match(lineId){
	var betLineIds = $('selectedTbody').getElements('tr[_group=selectedTr][id^=selectedTr_]');
	var betlength = betLineIds.length;
	var isItSef = $('selectedTr_'+lineId);
	if(isItSef==null){
		if( betlength >14){
			alert('方案选择的赛事不能超过15场!');
			return false;
		}
	}
	return true;
}
