//определяет горячие клавиши на странице
function defineHotKey(key,code)
{
  if(typeof(key) == 'string')
  {
    var plus = key.indexOf('+');
    var key0 = plus > 0 ? key.substr(0,plus).toLowerCase() : undefined;
    if(!/^(ctrl|alt|shift)$/.test(key0)) return false;
    var key1 = key.substr(plus+1)*1;
  }
  else key1 = key;
  function react(e)
  {
    var e = e || window.event;
    var keyCode = e.which || e.keyCode;
    if((eval('e.'+key0+'Key')?key0:!key0) && keyCode == key1)
    {
      if(e.preventDefault) e.preventDefault(); e.returnValue = false; 
      eval(code);
    }
  }
  if(document.addEventListener) document.addEventListener('keydown',react,false);
  else if(document.attachEvent) document.attachEvent('onkeydown',react);    
}
function show_all(league)
{
	document.getElementById(league+"tbl_all").style.display = 'block';
	document.getElementById(league+"tbl_div").style.display = 'none';
	document.getElementById(league+"tbl_conf").style.display = 'none';		
	document.getElementById(league+"spn_all").innerHTML = 'лига';
	document.getElementById(league+"spn_div").innerHTML = '<a href="Javascript: show_div(\''+league+'\')">по див.</a>';
	document.getElementById(league+"spn_conf").innerHTML = '<a href="Javascript: show_conf(\''+league+'\')">по конф.</a>';		
}
function show_div(league)
{
	document.getElementById(league+"tbl_div").style.display = 'block';
	document.getElementById(league+"tbl_all").style.display = 'none';
	document.getElementById(league+"tbl_conf").style.display = 'none';		
	document.getElementById(league+"spn_all").innerHTML = '<a href="Javascript: show_all(\''+league+'\')">лига</a>';
	document.getElementById(league+"spn_conf").innerHTML = '<a href="Javascript: show_conf(\''+league+'\')">по конф.</a>';		
	document.getElementById(league+"spn_div").innerHTML = 'по див.';
}
function show_conf(league)
{
	document.getElementById(league+"tbl_conf").style.display = 'block';
	document.getElementById(league+"tbl_all").style.display = 'none';
	document.getElementById(league+"tbl_div").style.display = 'none';		
	document.getElementById(league+"spn_all").innerHTML = '<a href="Javascript: show_all(\''+league+'\')">лига</a>';
	document.getElementById(league+"spn_div").innerHTML = '<a href="Javascript: show_div(\''+league+'\')">по див.</a>';		
	document.getElementById(league+"spn_conf").innerHTML = 'по конф.';
}
function team_show_grp()
{
	document.getElementById("team_tbl_all").style.display = 'none';
	document.getElementById("team_tbl_grp").style.display = 'block';		
	document.getElementById("team_spn_grp").innerHTML = 'по группам';
	document.getElementById("team_spn_all").innerHTML = '<a href="Javascript: team_show_all()">общая таблица</a>';		
}
function team_show_all()
{
	document.getElementById("team_tbl_all").style.display = 'block';
	document.getElementById("team_tbl_grp").style.display = 'none';		
	document.getElementById("team_spn_all").innerHTML = 'общая таблица';
	document.getElementById("team_spn_grp").innerHTML = '<a href="Javascript: team_show_grp()">по группам</a>';		
}
function qty_verify(inp)
{
	if(inp.value != '') {
		inp.value = parseInt(inp.value);
		if(inp.value == "") inp.value = 0;
		if(inp.value.search("NaN") != -1) inp.value = 0;
	}
}
function delPost(url) {
	if(confirm("Удалить?")) {
		window.location.replace(url);
	}
}
function enblGrpLogic(val) {
	if(val > 2) {
		document.getElementById('id_page').style.color = '#ccc';
		document.getElementById('logic').style.color = '#ccc';
		document.getElementById('iid_page').style.color = '#ccc';
		document.getElementById('iid_page').disabled = true;
		document.getElementById('iid_page').value = 0;
		document.getElementById('ilogic').checked = false;
		document.getElementById('ilogic').disabled = true;
	}
	else {
		document.getElementById('id_page').style.color = '#000';
		document.getElementById('logic').style.color = '#000';
		document.getElementById('iid_page').style.color = '#000';
		document.getElementById('iid_page').disabled = false;
		document.getElementById('ilogic').disabled = false;
	}
}

function select_all(nm, chk) {
	var i = 1;
	var o = document.getElementById(nm+i);
	while(o) {
		o.checked = chk;
		i++;
		o = document.getElementById(nm+i);
	}
}

function inverse_sel(nm) {
	var i = 1;
	var o = document.getElementById(nm+i);
	while(o) {
		o.click();
		i++;
		o = document.getElementById(nm+i);
	}
}

function highlight(oId, bLight, sColor) {
	var o = document.getElementById(oId);
	if(bLight) {
		o.style.background = sColor;
	}
	else {
		o.style.background = '';
	}
}

function show_hint(sDiv, sImg) {
	var oDiv = document.getElementById(sDiv);
	var oImg = document.getElementById(sImg);
	var bShow = (oDiv.style.display == 'none');
	
	if(bShow) {
		oDiv.style.display = 'block';
		oImg.src = '/images/hideminus.gif';
		oImg.alt = 'Скрыть';
		oImg.title = 'Скрыть';
	}
	else {
		oDiv.style.display = 'none';
		oImg.src = '/images/showplus.gif';
		oImg.alt = 'Отобразить';
		oImg.title = 'Отобразить';		
	}
}

function countdown(cdownfunc, occasion, message_on_occasion, yr, mo, da,	hr, min, sec, date_z){
	var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	var today = new Date();
	var todayy = today.getUTCFullYear();
	if (todayy < 1000) todayy+=1900;
	var todaym = today.getMonth();
	var todayd = today.getDate();
	var todayh = today.getHours();
	var todaymin = today.getMinutes();
	var todaysec = today.getSeconds();
	var todaystring = montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec;
	futurestring = montharray[mo-1]+" "+da+", "+yr+" "+hr+":"+min+":"+sec;
	dd   = (Date.parse(futurestring)-date_z*1000)-(Date.parse(todaystring)+today.getTimezoneOffset()*60*1000); 
	dday = Math.floor(dd/(60*60*1000*24)*1);
  dhour= Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1);
	dmin = Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1);
	dsec = Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1);
	//if on day of occasion
	if(dday <= 0 && dhour <=0 && dmin <=0 && dsec <=1 && todayd == da){
		return message_on_occasion;
	}
	//else, if not yet
	else {
		setTimeout(cdownfunc+"('"+message_on_occasion+"', "+yr+", "+mo+", "+da+", "+hr+", "+min+", "+sec+", "+date_z+")",1000);
		return occasion+dday+ " дн., "+dhour+":"+dmin+":"+dsec;
	}
}