// Является ли браузер ИЕ
var isIE			= navigator.userAgent.indexOf("MSIE") != -1;

// Функции для работы с яхо контейнером для отображения изображений

// Массив изображений на странице
images_list		= Array();

// Инициализация яхо компонентов и добавления лисенера на клик по картинкам
function init()
{
	YAHOO.example.container.panel = new YAHOO.widget.Panel('panel', { width:'600px', visible:false, constraintoviewport:true, modal: true } );
	YAHOO.example.container.panel.render();
	YAHOO.util.Event.addListener('hide', 'click', YAHOO.example.container.panel.hide, YAHOO.example.container.panel, true);
	for (i = 0; i < images_list.length; i++)
		YAHOO.util.Event.addListener(images_list[i], 'click', YAHOO.example.container.panel.show, YAHOO.example.container.panel, true);
}

// Установить яхо окно по центру экрана
function setWindowSize(element, name)
{
	var w_top	= 120;
	var w_left	= screen.width / 2 - document.getElementById(name).offsetWidth / 2;
	element.moveTo(w_left, w_top);
}

// Добавление нового изображения в список
function addImageIds(image_name)
{
	images_list[images_list.length]	= image_name;
}

// Процедура отображения яхо компонента с изображением
function loadingImage(headerText, imageURL, imageWidht)
{
	YAHOO.example.container.panel.setHeader(headerText);
	YAHOO.example.container.panel.setBody('Загрузка изображения...');
	YAHOO.example.container.panel.setBody('<img src="' + imageURL + '" onload="setWindowSize(YAHOO.example.container.panel, \'panel\');">');
	document.getElementById('panel').style.width = imageWidht + 'px';
}


// Другие функции

var captions_info	= new Array();

captions_info['name']		= 'Ф.И.О. *';
captions_info['phone']		= 'Номер телефона';
captions_info['mail']		= 'Е-mail *';
captions_info['message']	= 'Текст сообщения *';
captions_info['code']		= 'Введите код справа *';

// Убираем надпись из input'а
function input_focus(element)
{
	if (element.value == captions_info[element.id])
		element.value	= '';
}

// Возвращаем надпись в input
function input_blur(element)
{
	if (element.value == '')
		element.value	= captions_info[element.id];
}

// Массив желаемого времени занятий
var times_info	= new Array();

// Желаемое время занятий
function set_times()
{
	var branch_id	= document.getElementById('branch_id').value;
	
	var times_str	= '<select name="time" id="time" class="letter">'
			+ '<option value="">Желаемое время</option>';
	
	for (var i = 0; i < times_info.length; i++)
	{
		if (times_info[i][0] == branch_id)
			times_str += '<option value="' + times_info[i][1] + '">' + times_info[i][1] + '</option>';
	}
	
	times_str += '</select>';
	
	document.getElementById('time_info').innerHTML	= times_str;
}

// Номер билета
var ticket_number	= 0;
//Максимальное количество ошибок
var max_errors		= 2;
//Допущенное количество ошибок
var current_errors	= 0;

// Статус тестирования (включено/отключено)
test_status	= 'off';
// Время на тестирование
time_our = 20;
// Сколько уже длится тестирование
timer = 0;

// Начало тестирования
function startText(id)
{
	ticket_number	= id;
	test_status		= 'on';
	timer			= 0;
	set_timer_value();
	
	var url			= './docs/get-next-question.php';
	var post_data	=  '?id=' + ticket_number;
	
	var request		= YAHOO.util.Connect.asyncRequest('GET', url + post_data, {success:function(o){ if (o.responseText == 'ok') nextQuestion(); else closeText(); }, failure: null });

	return false;
}

// Прерывание теста, в случае если не введены вопросы теста
function closeText()
{
	test_status	= 'off';
	document.getElementById('question_info').innerHTML = '<span class="red">Данный билет находится в процессе заполнения.<br />Выберите другой билет.</span>';
	return false;
}

// Окончание тестирования
function stopText()
{
	test_status	= 'off';
	document.getElementById('question_info').innerHTML = '<span class="red">Вы НЕ сдали тест.<br />Вы допустили более ' + max_errors + ' ошибок.</span>';
	return false;
}

// Сообщение в случае если пользователь ошибся с ответом
function showAnswerError()
{
	current_errors++
	
	if (current_errors <= max_errors)
		document.getElementById('question_info').innerHTML = '<span class="red">Ошибка.<br />Вы выбрали не верный вариант.</span><br /><br /><a href="#" onclick="return nextQuestion();">Далее >></a>';
	else
		stopText();
	
	return false;
}

// Проверить правильный ли ответ дал пользователь
function checkAnswer(right_id)
{
	rights_ids	= document.getElementsByName('right_id');
	
	for(i = 0; i < rights_ids.length; i++)
	{
		if (rights_ids[i].checked == true)
		{
			if (rights_ids[i].value == right_id)
			{
				nextQuestion();
				document.getElementById('counter_info').innerHTML	+= '<img src="./images/admin_img/edit.gif">';
			}
			else
			{
				showAnswerError();
				document.getElementById('counter_info').innerHTML	+= '<img src="./images/admin_img/delete.gif">';
			}
			return false;
		}
	}
	
	alert('Необходимо выбрать вариант ответа.');
	return false;
}

// Переход на следующий вопрос
function nextQuestion()
{
	document.getElementById('question_info').innerHTML	= '<img src="./images/admin_img/loading.gif">';
	var url			= './docs/get-next-question.php';
	var request		= YAHOO.util.Connect.asyncRequest('GET', url, {success:function(o){
			if (o.responseText == 'congratulate')
			{
				test_status	= 'off';
				document.getElementById('question_info').innerHTML = '<span class="red">Поздравляем!!!<br />Вы сдали тест!!!</span>'; 
			}
			else
			{
				document.getElementById('question_info').innerHTML = o.responseText; 
			}
		}, failure: null });
	
	return false;
}

function set_timer_value()
{
	if (timer > time_our)
	{
		test_status	= 'off';
		document.getElementById('question_info').innerHTML = '<span class="red">Вы НЕ сдали тест.<br />Время, отведенное на тестирование (' + time_our + ' мин.) истекло.</span>';
	}
	else if (test_status == 'on')
	{
		if (timer > 0)
		{
			document.getElementById('timer_info').innerHTML		+= '<img src="./images/line.png" align="absmiddle">';
			document.getElementById('timer2_info').innerHTML	= timer +' мин.';
		}
		setTimeout(set_timer_value, 1000 * 60);
	}
	timer++;
}

// Текущее выпадающее меню
var current_menu_id	= '';

// Отобразить выпадающее меню
function showSubMenu(element)
{
	if (current_menu_id != '' && document.getElementById('sub_' + current_menu_id) != null)
	{
		document.getElementById('sub_' + current_menu_id).style.display	= 'none';
		current_menu_id	= '';
	}
	
	if (isIE)
	{
		document.getElementById('sub_menu_school').style.margin	= '0px 0px 0px -477px';
		document.getElementById('sub_menu_study').style.margin	= '0px 0px 0px -391px';
		document.getElementById('sub_menu_info').style.margin	= '0px 0px 0px -310px';
	}
	
	if (document.getElementById('sub_' + element.id) != null)
	{
		current_menu_id	= element.id;
		
		document.getElementById('sub_' + current_menu_id).style.display	= 'block';
	}
}

// Закрыть выпадающее меню
function closeSubMenu(event_obj)
{
	if (isIE && (event_obj == null || event_obj == undefined))
		event_obj = event;
	
	if (current_menu_id != '' && document.getElementById('sub_' + current_menu_id) != null)
	{
		var menu_left		= document.getElementById('sub_' + current_menu_id).offsetLeft;
		var menu_top		= document.getElementById('sub_' + current_menu_id).offsetTop;
		var menu_right		= menu_left + document.getElementById('sub_' + current_menu_id).offsetWidth;
		var menu_bottom		= menu_top + document.getElementById('sub_' + current_menu_id).offsetHeight;
		
		var event_x			= event_obj.clientX;
		var event_y			= event_obj.clientY;
		
		if (menu_left < event_x && event_x < menu_right && menu_top < event_y && event_y < menu_bottom)
			return;

		document.getElementById('sub_' + current_menu_id).style.display	= 'none';
		current_menu_id	= '';
	}
}

document.onmousedown = closeSubMenu;

// Номер верхнего билета в списке
var current_ticket = 1;
// Количество билетов в списке
var count_tickets = 10;

// Листать список билетов
function showTickets(operation)
{
	if (operation != undefined && operation != null)
		current_ticket += parseInt(operation, 10);
	if (current_ticket < 0)
		current_ticket = 91;
	if (current_ticket > 100)
		current_ticket = 1;
	
	var tickets_links_str	= '<a href="#" onclick="return showTickets(-' + count_tickets + ')"><img src="./images/tickets_up.png" border="0" vspace="2"></a><br />';
	
	for (i = current_ticket; i < current_ticket + count_tickets; i++)
		tickets_links_str += '<a href="./ticket/' + i + '.html">Билет №' + i + '</a><br />';
	
	tickets_links_str	+= '<a href="#" onclick="return showTickets(' + count_tickets + ')"><img src="./images/tickets_down.png" border="0" vspace="5"></a>';
	
	document.getElementById('tickets_links').innerHTML	= tickets_links_str;
	
	return false;
}

// Отправка формы
function sendForm()
{
	document.getElementById('send_mail').submit();
	
	return false;
}

// Очистка формы
function sendReset()
{
	document.getElementById('send_mail').reset();
	
	return false;
}
