/** _co让球* */
var __FlagArr = [ '_gh', '_dh', '_rh', '_co' ];

function flagIndexOf(flag) {
	for ( var i = 0; i < __FlagArr.length; i++) {
		if (__FlagArr[i] == flag)
			return i;
	}
	return null;
}

function defaultFilterFn(row) {
	for ( var i = 0; i < __FlagArr.length; i++) {
		if (row.getAttribute(__FlagArr[i]) != null)
			return false;
	}
	row.style.display = '';
	return true;
}

function rowShowOrHide(row, show) {
	var mid = row.getAttribute('_mid');
	var row2El = document.getElementById('tr_' + mid + '_rowspan');
	var detailEl = document.getElementById('tr_' + mid + '_detail');
	var linkEl = document.getElementById('link_' + mid + '_detail');
	if (show == true) {
		row.style.display = '';
		if (row2El != null)
			row2El.style.display = '';
		if (detailEl != null && linkEl != null) {
			if (detailEl.style.display != '' && linkEl.className == 'zkclose')
				detailEl.style.display = '';
		}
	} else {
		row.style.display = 'none';
		if (row2El != null)
			row2El.style.display = 'none';
		if (detailEl != null && linkEl != null)
			detailEl.style.display = 'none';
	}
}

function showOrHideDetail(mid) {
	var detailEl = document.getElementById('tr_' + mid + '_detail');
	var linkEl = document.getElementById('link_' + mid + '_detail');
	if (linkEl.className == 'zkclose') {
		detailEl.style.display = 'none';
		linkEl.innerHTML = '+显示选项';
		linkEl.className = 'zkopen';
	} else {
		detailEl.style.display = '';
		linkEl.innerHTML = '-隐藏选项';
		linkEl.className = 'zkclose';
	}
}
/**
 * 让球过滤
 * @param obj
 * @return
 */
function concedeFilter(obj) {
	obj = $(obj);
	var value = obj.value;
	var flagindex = flagIndexOf("_co");
	var fn;
	if (value == 0) {
		fn = function(row) {
			_filterHandleFn(row, flagindex, true);
		}
	} else if (value == 1) {
		fn = function(row) {
			row=$(row);
			if (null != row.get('_r') && parseInt(row.get('_r')) != 0) {
				return _filterHandleFn(row, flagindex, true);
			} else {
				return _filterHandleFn(row, flagindex, false);
			}
		}
	} else if (value == 2) {
		fn = function(row) {
			row=$(row);
			if (null != row.get('_r') && parseInt(row.get('_r')) == 0) {
				return _filterHandleFn(row, flagindex, true);
			} else {
				return _filterHandleFn(row, flagindex, false);
			}
		}
	}
	matchFilter(fn);
}

function matchFilter(filterFn) {
	var matchTbody = document.getElementById('matchTbody');
	var rows = matchTbody.rows;
	var countHide = 0;// 统计隐藏赛事数目

	if (filterFn == null)
		filterFn = defaultFilterFn;

	for ( var i = 1, len = rows.length; i < len; i++) {
		var row = rows[i];
		if (row.getAttribute('_m') != null) {
			var show = filterFn(row);
			if (show == false)
				countHide++;
		}
	}
	document.getElementById('hidenRows').innerHTML = countHide;
}

function matchFilterReset() {
	var filterFn = function(row) {
		for ( var i = 0; i < __FlagArr.length; i++) {
			row.removeAttribute(__FlagArr[i]);
		}
		if (row.style.display == 'none')
			rowShowOrHide(row, true);
		return true;
	};
	matchFilter(filterFn);
	resetGameScreen();
	resetConcede();
	var matchTbody = $('matchTbody');
	matchTbody.getElements('img[_group=d_img]').each( function(item) {
		if (item.src.indexOf('btxs') > 0)
			item.src = item.src.replace('btxs', 'btyc');
	});
}

function _filterHandleFn(row, flagIndex, show) {
	var currentFlag = __FlagArr[flagIndex];
	if (show) {
		row.removeAttribute(currentFlag);
		if (row.style.display == 'none') {
			for ( var i = 0; i < __FlagArr.length; i++) {
				if (i != flagIndex) {
					if (row.getAttribute(__FlagArr[i]) != null)
						return false;
				}
			}
			rowShowOrHide(row, true);
		}
		return true;
	} else {
		row.setAttribute(currentFlag, '1');
		if (row.style.display == '')
			rowShowOrHide(row, false);
		return false;
	}
}

function resetConcede(){
	var v=$('concedeSelect');
	v.getElement('option[value=0]').set("selected","true");
}

function gameFilter(show, gi) {
	var flagIndex = flagIndexOf('_gh');
	var filterFn = function(row) {
		if (gi != null) {
			var gameIndex = parseInt(row.getAttribute('_g'), 10);
			if ((gi.length != null && gi.contains(gameIndex))
					|| gi == gameIndex) {
				return _filterHandleFn(row, flagIndex, show);
			} else {
				return row.style.display != 'none';
			}
		} else {
			return _filterHandleFn(row, flagIndex, show);
		}
	};
	matchFilter(filterFn);
}
function dayFilter(obj) {
	var flagIndex = flagIndexOf('_dh');
	var index = obj.getAttribute('_di');
	var show = obj.src.indexOf('btxs') > 0;
	var filterFn = function(row) {
		var dayIndex = row.getAttribute('_d');
		if (index != dayIndex)
			return row.style.display == '';
		return _filterHandleFn(row, flagIndex, show);
	};
	matchFilter(filterFn);
	obj.src = show ? obj.src.replace('btxs', 'btyc') : obj.src.replace('btyc',
			'btxs');
}

function hideRow(mid) {
	var row = document.getElementById('tr_' + mid);
	row.setAttribute('_rh', '1');
	rowShowOrHide(row, false);
	var countHide = parseInt(document.getElementById('hidenRows').innerHTML, 10);
	document.getElementById('hidenRows').innerHTML = countHide + 1;
}