


function doDiv(id) {
	var obj, oimg;

	if (!(obj = document.getElementById('his_div_'+id))) return;
	if (!(oimg = document.getElementById('i_'+id))) return;

	if (!obj) {
		oimg.src = gc_path+"/pic/minus.gif";
		return;
	}

	if (obj.style.display == 'block') {
		obj.style.display = 'none';
		oimg.src = gc_path+"/pic/plus.gif";
	} else {
		obj.style.display = 'block';
		oimg.src = gc_path+"/pic/minus.gif";
	}
}


function checkSearchField(obj) {
	var elem;
	if (obj.value == 'num') {
		if ((elem = document.getElementById('num_search'))) elem.style.display='block';
		if ((elem = document.getElementById('reg_search'))) elem.style.display='none';
		if ((elem = document.getElementById('search_query'))) elem.value='';
	} else {
		if ((elem = document.getElementById('num_search'))) elem.style.display='none';
		if ((elem = document.getElementById('reg_search'))) elem.style.display='block';
		if ((elem = document.getElementById('search_from'))) elem.value='';
		if ((elem = document.getElementById('search_to'))) elem.value='';
	}
}


function openNew(obj, width, height, titul) {
	var newwin = window.open('/images/spacer.gif', 'Information', 'toolbar=0,status=0,menubar=0,scrollbars=0,resizable=1,width=' + width + ',height=' + height);
	newwin.document.open();
	newwin.document.write('<html><head><title>'+ titul + '</title></head>');
 	newwin.document.write('<body style="margin-left:0; margin-right:0; margin-top:0; margin-bottom:0;padding-top:0; padding-left:0; padding-right:0; padding-bottom:0;"><a href="javascript:void(0)" onClick="window.close()"><img src="' + obj + '" border="0" alt="Скрыть"/></a></body></html>');
 	newwin.document.close();
	newwin.focus();
}

// подсчитать возможное число играков проходящих квалификацию
function setQualificationCount(user_in_group,obj_select){

	for(var i=0 ; i<obj_select.options.length; i++){
		obj_select.options[i].style.display='none';
	}
	obj_select.options[1].selected=true;
	for(var i=0; i<user_in_group-1;i++){
		obj_select.options[i].style.display='block';
	}

}

// переместить игрока вверх по списку
function toUp(select_obj){
	if(!select_obj.selectedIndex)
		if(select_obj.selectedIndex==0) return;
	try {
	var tmp_text =select_obj.options[select_obj.selectedIndex-1].text;
	var tmp_value = select_obj.options[select_obj.selectedIndex-1].value;
	var tmp_descr =select_obj.options[select_obj.selectedIndex-1].descr;

	select_obj.options[select_obj.selectedIndex-1].text=(select_obj.selectedIndex)+". "+select_obj.options[select_obj.selectedIndex].text.replace(/^\d+\. /,"");
	select_obj.options[select_obj.selectedIndex-1].value=select_obj.options[select_obj.selectedIndex].value;
	select_obj.options[select_obj.selectedIndex-1].descr=select_obj.options[select_obj.selectedIndex].descr;



	select_obj.options[select_obj.selectedIndex].text=(select_obj.selectedIndex+1)+". "+tmp_text.replace(/^\d+\. /,"");
	select_obj.options[select_obj.selectedIndex].value=tmp_value;
	select_obj.options[select_obj.selectedIndex].descr=tmp_descr;

	select_obj.options[select_obj.selectedIndex-1].selected=true;
	} catch(e){}
}

// переместить игрока вниз по списку
function toDown(select_obj){

	if(!select_obj.selectedIndex)
		if(select_obj.selectedIndex!=0) return;
	if(select_obj.selectedIndex==(select_obj.options.length-1)) return;

	var tmp_text =select_obj.options[select_obj.selectedIndex+1].text;
	var tmp_value=select_obj.options[select_obj.selectedIndex+1].value;
	var tmp_descr=select_obj.options[select_obj.selectedIndex+1].descr;


	select_obj.options[select_obj.selectedIndex+1].text=(select_obj.selectedIndex+2)+". "+select_obj.options[select_obj.selectedIndex].text.replace(/^\d+\. /,"");
	select_obj.options[select_obj.selectedIndex+1].value=select_obj.options[select_obj.selectedIndex].value;
	select_obj.options[select_obj.selectedIndex+1].descr=select_obj.options[select_obj.selectedIndex].descr;


	select_obj.options[select_obj.selectedIndex].text=(select_obj.selectedIndex+1)+". "+tmp_text.replace(/^\d+\. /,"");
	select_obj.options[select_obj.selectedIndex].value=tmp_value;
	select_obj.options[select_obj.selectedIndex].descr=tmp_descr;


	select_obj.options[select_obj.selectedIndex+1].selected=true;
}




// добавляем игрока в список играков
function addUser(){



	if((document.getElementById('users_list').options.length>=128)&&(document.getElementById('tour_type').value!=1)){
		if(document.getElementById('users_list').options[127].value!=1){
		alert('Достигнуто максимальное допустимое число играков ');
		document.getElementById('add_user').style.display='none';
		return;
		}
	}
	if((document.getElementById('users_list').options.length>=128)&&(document.getElementById('tour_type').value==1)){
		if(document.getElementById('users_list').options[259].value!=1){
		alert('Достигнуто максимальное допустимое число играков ');
		document.getElementById('add_user').style.display='none';
		return;
		}
	}

	if(!document.getElementById('user_name').value.replace(/^ +$/,""))
		return;


	for(i=0;i<document.getElementById('users_list').options.length;i++){
		if(document.getElementById('users_list').options[i].text.replace(/^\d+\. /,"").replace(/^ +/,"").replace(/ +$/,"")==document.getElementById('user_name').value.replace(/^ +/,"").replace(/ +$/,"")){
			alert('Игрок с таким именем уже существует');
			return;
		}
	}

	var last_user=document.getElementById('users_list').options.length-1;



	if(!document.getElementById('user_name').value) {
		document.getElementById('add_user').style.display='none';
		return;
	}

	for(i=(document.getElementById('users_list').options.length-1);i>=0;i--){
		last_user=i;
		if(document.getElementById('users_list').options[i].value!=1) break;
		last_user=-1;
	}
	//alert(last_user);

	document.getElementById('users_list').options[last_user+1]=new Option();
	document.getElementById('users_list').options[last_user+1].text=(last_user+2)+'. '+document.getElementById('user_name').value.replace(/^ +/,"").replace(/ +$/,"");
	document.getElementById('users_list').options[last_user+1].descr=document.getElementById('user_descr').value;
	document.getElementById('user_name').value='';
	document.getElementById('user_descr').value='';


	if(document.getElementById('tour_type').value==1 )// группа
		addEmptyElementsForGroup(document.getElementById('users_list'));
	else
		addEmptyElementsForOther(document.getElementById('users_list'));

	document.getElementById('add_user').style.display='none';


}

// показать окно добавления игрока
function showAdd(){
	if((document.getElementById('users_list').options.length>=128)&&(document.getElementById('tour_type').value!=1)){
		if(document.getElementById('users_list').options[127].value!=1){
		alert('Достигнуто максимальное допустимое число играков ');
		document.getElementById('add_user').style.display='none';
		return;
		}
	}
	if((document.getElementById('users_list').options.length>=260)&&(document.getElementById('tour_type').value==1)){
		if(document.getElementById('users_list').options[259].value!=1){
		alert('Достигнуто максимальное допустимое число играков ');
		document.getElementById('add_user').style.display='none';
		return;
		}
	}

	document.getElementById('add_user').style.display='block';
}


// удаляем игрока из списка играков
function delUser(select_obj){

	var users= new Array();
	var selected_index=select_obj.selectedIndex;
	for(var i=0; i<select_obj.options.length;i++)
		if(i!=selected_index)
			users.push(select_obj.options[i]);
	select_obj.options.length=0;

	for(var i=0; i<users.length;i++){
		users[i].text=(i+1)+". "+users[i].text.replace(/^\d+\. /,"");
		select_obj.options[i]=users[i];
	}

	if(document.getElementById('tour_type').value==1 )// группа
		addEmptyElementsForGroup(document.getElementById('users_list'));
	else
		addEmptyElementsForOther(document.getElementById('users_list'));


}

// показываем окно для редактироваения игрока
function showEdit(list_obj){
	if(list_obj.options.length==0) return;
	document.getElementById('user_name_for_edit').value=list_obj.options[list_obj.selectedIndex].text.replace(/^\d+\. /,"");
	document.getElementById('user_descr_for_edit').value=list_obj.options[list_obj.selectedIndex].descr;
	document.getElementById('edit_user').style.display='block';
}



// редактирование игрока
function editUser(){

	for(i=0;i<document.getElementById('users_list').options.length;i++){

		if(i==document.getElementById('users_list').selectedIndex)
				continue;
		if(document.getElementById('users_list').options[i].text.replace(/^\d+\. /,"").replace(/^ +/,"").replace(/ +$/,"")==document.getElementById('user_name_for_edit').value.replace(/^ +/,"").replace(/ +$/,"")){
			alert('Игрок с таким именем уже существует');
			return;
		}
	}

	document.getElementById('users_list').options[document.getElementById('users_list').selectedIndex].text=(document.getElementById('users_list').selectedIndex+1)+'. '+document.getElementById('user_name_for_edit').value.replace(/^ +/,"").replace(/ +$/,"");
	document.getElementById('users_list').options[document.getElementById('users_list').selectedIndex].value=0;
	document.getElementById('users_list').options[document.getElementById('users_list').selectedIndex].descr=document.getElementById('user_descr_for_edit').value;
	document.getElementById('edit_user').style.display='none';
}


// случаная сортировка списка играков
function random(list_obj){

	var tmp_text=null;
	var tmp_value=null;
	var tmp_descr=null;

	var r_index=0;

	var empty_items=new Array();
	var not_empty_items= new Array();

	var tmp_options =new Array();



	for( i=0; i<document.getElementById('users_list').options.length;i++){
		r_index=Math.round(Math.random()*document.getElementById('users_list').options.length);
		if(r_index>(document.getElementById('users_list').options.length-1))
				r_index=document.getElementById('users_list').options.length-1;




		tmp_text=document.getElementById('users_list').options[r_index].text;
		tmp_value=document.getElementById('users_list').options[r_index].value;
		tmp_descr=document.getElementById('users_list').options[r_index].descr;



		document.getElementById('users_list').options[r_index].text=(r_index+1)+". "+document.getElementById('users_list').options[i].text.replace(/^\d+\. /,"");
		document.getElementById('users_list').options[r_index].value=document.getElementById('users_list').options[i].value;
		document.getElementById('users_list').options[r_index].descr=document.getElementById('users_list').options[i].descr;


		document.getElementById('users_list').options[i].text=(i+1)+". "+tmp_text.replace(/^\d+\. /,"");
		document.getElementById('users_list').options[i].value=tmp_value;
		document.getElementById('users_list').options[i].descr=tmp_descr;

	}





	for(var i=0; i<document.getElementById('users_list').options.length;i++){
		if(document.getElementById('users_list').options[i].value==1)
			empty_items.push(i);
			else
			not_empty_items.push(i);
	}


   if(empty_items.length<=(document.getElementById('users_list').options.length/2)){



		for(i=0; i<not_empty_items.length; i++){

			if(i<empty_items.length)
				tmp_options.push(document.getElementById('users_list').options[empty_items[i]]);
			tmp_options.push(document.getElementById('users_list').options[not_empty_items[i]]);


		}
     	tmp_options.reverse();

     	var buf;

     	if(empty_items.length>0){
     		     for(i=0;i<(tmp_options.length-empty_items.length*2)/2; i++){

		          		r_index=Math.round(Math.random()*empty_items.length);
			     		if(r_index==0) continue;
		          		buf=tmp_options[tmp_options.length-((r_index-1)*2)-1];
			     		tmp_options[tmp_options.length-((r_index-1)*2)-1]=tmp_options[(i+1)*2-1];
			     		tmp_options[(i+1)*2-1]=buf;


		     	}
     	}


		document.getElementById('users_list').options.length=0;
		for(i=0; i<tmp_options.length; i++){
			document.getElementById('users_list').options[i]=tmp_options[i];
			document.getElementById('users_list').options[i].text=(i+1)+". "+document.getElementById('users_list').options[i].text.replace(/^\d+\. /,"");

		}



		}


}




//Добиваем пустыми слотами список играков для турнира типа Группа
function addEmptyElementsForGroup(list_obj){


	var user_count=0;
	var last_user=list_obj.options.length-1;
	var users=new Array();


	// ищем последнего игрока
	for(i=(list_obj.options.length-1);i>=0;i--){
		last_user=i;
		if(list_obj.options[i].value!=1) break;

	}


	// удаляем пустые слоты в конце
	for(var i=0; i<=last_user;i++)
		users[i]=list_obj.options[i];

	list_obj.options.length=0;

	for(var i=0; i<users.length;i++)
		list_obj.options[i]=users[i];


	user_count=	(Math.floor(list_obj.options.length/document.getElementById('users_in_group').value)+(list_obj.options.length%document.getElementById('users_in_group').value?1:0))*document.getElementById('users_in_group').value;


	for( var i=(last_user+1); i<user_count;i++){
		list_obj.options[i]=new Option();
		list_obj.options[i].text=(i+1)+". "+"Пустой слот";
		list_obj.options[i].value=1;// так определяем пустой слот
		list_obj.options[i].descr='';
	}



}

// Добиваем пустыми слотами список играков для турнира НЕ Группа
function addEmptyElementsForOther(list_obj){

	var user_count=0;
	var last_user=list_obj.options.length-1;
	var users=new Array();


	// ищем последнего игрока
	for(i=(list_obj.options.length-1);i>=0;i--){
		last_user=i;
		if(list_obj.options[i].value!=1) break;

	}


	// удаляем пустые слоты в конце
	for(var i=0; i<=last_user;i++)
		users[i]=list_obj.options[i];

	list_obj.options.length=0;

	for(var i=0; i<users.length;i++)
		list_obj.options[i]=users[i];


	// дополняем пустыми слотами до нужного кол-ва
	if((last_user+1)<=4)  user_count=4;
	if(((last_user+1)<=8)&&((last_user+1)>4))  user_count=8;
	if(((last_user+1)<=16)&&((last_user+1)>8))  user_count=16;
	if(((last_user+1)<=32)&&((last_user+1)>16))  user_count=32;
	if(((last_user+1)<=64)&&((last_user+1)>32))  user_count=64;
	if(((last_user+1)<=128)&&((last_user+1)>64))  user_count=128;

	//alert(last_user);

	for( var i=(last_user+1); i<user_count;i++){
		list_obj.options[i]=new Option();
		list_obj.options[i].text=(i+1)+". "+"Пустой слот";
		list_obj.options[i].value=1;// так определяем пустой слот
		list_obj.options[i].descr='';
	}

}


function toStep2(){
 if(!(document.getElementById('tname').value.replace(/^ +$/,''))){
 	alert('Необходимо указать название турнира');
 	return;
 }


 if (document.getElementById('game_selector_default').checked)
 	document.getElementById('game').value=document.getElementById('game_type').options[document.getElementById('game_type').selectedIndex].text;

 if(!(document.getElementById('game').value.replace(/^ +$/,''))){
 	alert('Необходимо указать название игры');
 	return;
 }


 document.getElementById('create_tournament_step_1').style.display='none';
 document.getElementById('create_tournament_step_2').style.display='block';
}




function tournamentFormSubmit(form,draft){

	var users = new Array();
	var maps = new Array();

	for(var i=0; i<document.getElementById('users_list').options.length;i++){
		if(document.getElementById('users_list').options[i].value==1) continue;
		users[i]=document.getElementById('users_list').options[i].text.replace(/^\d+\. /,"").replace(/^ +$/,"")+"|@|"+document.getElementById('users_list').options[i].descr.replace(/^ +$/,"");
	}

	if(draft==0){
		if((document.getElementById('tour_type').value==1)&&(users.length<3)){
			alert("Количество играков должно быть не менее 3 ");
			return;
		}
	}
	if((document.getElementById('tour_type').value==1)&&(users.length>260)){
		alert("Количество играков должно быть не более 260 ");
		return;
	}
	if(draft==0){
		if((document.getElementById('tour_type').value!=1)&&(users.length<2)){
			alert("Количество играков должно быть не менее 2 ");
			return;
		}
	}

	if((document.getElementById('tour_type').value!=1)&&(users.length>128)){
		alert("Количество играков должно быть не более 128 ");
		return;
	}


	document.getElementById('tournament_form_submit').users.value=users.join("[@]");

	if (document.getElementById('game_selector_default').checked)
		document.getElementById('game').value=document.getElementById('game_type').options[document.getElementById('game_type').selectedIndex].text;

	if(document.getElementById('maps_list').options.length>0){

		for( var i=0; i<document.getElementById('maps_list').options.length;i++)
			maps[i]=document.getElementById('maps_list').options[i].text;


		document.getElementById('tournament_form_submit').maps.value=maps.join("[@]");

	}

	form.submit();
}



function sendSearchQuery(event){

	var kCode = window.event ? window.event.keyCode : (event.keyCode ? event.keyCode : (event.which ? event.which : null));
	if( kCode==13) document.getElementById('send_search_query').onclick();

}


function mapNamePress(event){
	return;
	var kCode = window.event ? window.event.keyCode : (event.keyCode ? event.keyCode : (event.which ? event.which : null));
	if( kCode==13) addMap();

}


// Добавляем карту
function addMap(){

	if(!document.getElementById('map_name').value) {
		document.getElementById('add_map').style.display='none';
		return;
	}

	document.getElementById('maps_list').options[document.getElementById('maps_list').options.length]=new Option();
	document.getElementById('maps_list').options[document.getElementById('maps_list').options.length-1].text=document.getElementById('map_name').value;
	document.getElementById('map_name').value='';
	document.getElementById('add_map').style.display='none';

}

function delMap(){

	var maps= new Array();
	var selected_index=document.getElementById('maps_list').selectedIndex;
	for(var i=0; i<document.getElementById('maps_list').options.length;i++)
	if(i!=selected_index)
			maps.push(document.getElementById('maps_list').options[i]);
	document.getElementById('maps_list').options.length=0;

	for(var i=0; i<maps.length;i++){
			document.getElementById('maps_list').options[i]=maps[i];
	}




}

// Заполняем список карт по имолчанию

function fillMapList(){
	var cs_16 =['de_dust2','de_nuke','de_train','de_inferno','de_cpl_mill'];
	if((document.getElementById('maps_list'))&&(document.getElementById('game_type'))){
		document.getElementById('maps_list').options.length=0;
		if(((document.getElementById('game_type').selectedIndex==0) || (document.getElementById('game_type').selectedIndex==1))&&(document.getElementById('game_type').style.display=='block')){
			for(var i=0; i<cs_16.length; i++){
				document.getElementById('maps_list').options[i]= new Option();
				document.getElementById('maps_list').options[i].text=cs_16[i];
			}

		}
	}


}
