document.observe('dom:loaded',function(){if($('main_content'))$('main_content').select('span[class=help]').each(function(el){if(el.title!=''){new Tip(el,el.title,{style:'formHelp',stem:'bottomMiddle',hook:{tip:'bottomMiddle',mouse:true}});el.title='';}})});function setCookie(name,value){var expires=new Date();expires.setTime(expires.getTime()+(60*60*1000));var curCookie=name+"="+escape(value)+";expires="+expires.toGMTString()+"; path=/;";document.cookie=curCookie;}function getCookie(name){var prefix=name+"=";var cookieStartIndex=document.cookie.indexOf(prefix);if(cookieStartIndex==-1){return'';}var cookieEndIndex=document.cookie.indexOf(";",cookieStartIndex+prefix.length);if(cookieEndIndex==-1){cookieEndIndex=document.cookie.length;}return unescape(document.cookie.substring(cookieStartIndex+prefix.length,cookieEndIndex));}function selectTrafficFlowFlow(flow){var elSel=$('statistic_traffic_flow');var i;for(i=elSel.length-1;i>=0;i--)if(elSel.options[i].value==flow)elSel.options[i].selected=true;}
function sSE(e){Event.stop(e);cid=this.cid;cn=this.cn;new Effect.toggle(this.sid,'slide',{duration:0.5,afterFinish:tCN(cid,cn)});}
function tCN(cid,cn){$(cid).toggleClassName(cn);}
function getTrafficFlowStatistic(url) {
	var params = new Hash;
	params.set('group_by', $('group_by').getValue());
	params.set('date_start', $('date_start').getValue());
	params.set('date_finish', $('date_end').getValue());
	params.set('traffic_flow_id', $('statistic_traffic_flow').getValue());
	params.set('test_id', $('statistic_test').getValue());
	params.set('user_id', $('sf_guard_user').getValue());
	new Ajax.Updater('statistic_block', url, {
		evalScripts : true,
		parameters : params,
		onLoading : function() {
			$('show_statistic_loader').show();
		},
		onComplete : function() {
			$('show_statistic_loader').hide();
		}
	});
}
function getTrafficFlowStatisticGraph(url) {
	var params = new Hash;
	params.set('date_start', $('date_start').getValue());
	params.set('date_finish', $('date_end').getValue());
	params.set('traffic_flow_id', $('statistic_traffic_flow').getValue());
	params.set('test_id', $('statistic_test').getValue());
	params.set('user_id', $('sf_guard_user').getValue());
	new Ajax.Updater('statistic_block', url, {
		evalScripts : true,
		parameters : params,
		onLoading : function() {
			$('show_statistic_loader').show();
		},
		onComplete : function() {
			$('show_statistic_loader').hide();
		}
	});
}
function selectFlow(id) {
	$A($('statistic_traffic_flow').options).each(function(e, i) {
		if (e.value == id)
			e.selected = true;
	});
}
function selectTemplateName(td_el,t_name){
	$('template_name').value=t_name;
	$('color_sheme').select('td').each(function(el){
		el.removeClassName('selected');
	});
	$(td_el).addClassName('selected');
}
var answer_number=0, question_number=1, test_answer_number=0;
function deleteAnswer(el,st_id){
	el = $(el);
	if ($(st_id).value=='deleted'){
		el.up().up().select('input').each(function(el1){el1.enable();el1.removeClassName('disable');});
		el.down().src='/images/icons/delete-trans.png';
		$(st_id).value = 'normal';
	}else{
		el.up().up().select('input').each(function(el1){el1.disable();el1.addClassName('disable');});
		$(st_id).value = 'deleted';
		el.down().src='/images/icons/arrow_undo-trans.png';
	}
}
function addQuestion(){
	var q_n = question_number;
	$('questions_conteiner').insert(
		new Element('table',{className:'question-list disabled_question',id:'question_list_'+q_n,style:'display:none;'}).insert(new Element('tbody').insert(new Element('tr').
			insert(new Element('td',{width:120,align:'center'}).insert(new Element('h3').update('Вопрос №'+q_n))).
			insert(new Element('td',{width:528}).update('&nbsp;')).
			insert(new Element('td').insert(new Element('a',{href:'#'}).observe('click',function(e){restoreQuestion(q_n);e.stop();}).insert(new Element('img',{src:'/images/icons/arrow_undo-trans.png',alt:'Восстановить',title:'Восстановить'}))))
		))
	).insert(new Element('input',{name:'question_status['+q_n+']',value:'normal',id:'question_status_'+q_n,type:'hidden'})).
	insert(new Element('div',{className:'question-normal',id:'question_edit_'+q_n}).insert(
		new Element('table').insert(new Element('tbody').insert(new Element('tr').
			insert(new Element('td',{valign:'top'}).insert(
				new Element('table',{className:'from'}).insert(new Element('tbody').
					insert(new Element('tr').insert(new Element('td').
						insert(new Element('h3').update('Вопрос №'+question_number)).
						insert(new Element('textarea',{cols:1,rows:1,style:'width:460px;height:50px;',name:'question_text['+question_number+']'}))
					)).
					insert(new Element('tr').insert(new Element('td').
						insert(new Element('h3').update('Ответы')).
						insert(new Element('div',{id:'text_answers_'+question_number}).insert(
							new Element('table',{className:'table_list',style:'width:466px;margin-bottom:10px;'}).insert(new Element('tbody',{id:'text_answers_conteiner_'+question_number}).
								insert(new Element('tr').
									insert(new Element('th').update('Ответ')).
									insert(new Element('th').update('Баллы')).
									insert(new Element('th'))
								).insert(createTextAnswer(question_number)).insert(createTextAnswer(question_number)).insert(createTextAnswer(question_number)).insert(createTextAnswer(question_number))
							)
						).insert(new Element('input',{type:'button',value:'добавить еще ответ'}).observe('click',function(e){e.stop();addTextAnswer(q_n);})).
							insert(new Element('span').update('&nbsp;&nbsp;&nbsp;')).
							insert(new Element('input',{type:'button',value:'удалить вопрос',className:'red_btn'}).observe('click',function(e){e.stop();deleteNewQuestion(q_n);}))
						).
						insert(new Element('div',{id:'file_answers_'+question_number,style:'display:none;'}).insert(
							new Element('table',{className:'table_list select_img_conteiner',style:'width:466px;margin-bottom:10px;'}).insert(new Element('tbody',{id:'file_answers_conteiner_'+question_number}).
								insert(new Element('tr').
									insert(new Element('th').update('Ответ')).
									insert(new Element('th').update('Баллы')).
									insert(new Element('th'))
								).insert(createFileAnswer(question_number)).insert(createFileAnswer(question_number)).insert(createFileAnswer(question_number)).insert(createFileAnswer(question_number))
							)
						).insert(new Element('input',{type:'button',value:'добавить еще ответ'}).observe('click',function(e){e.stop();addFileAnswer(q_n);})).
							insert(new Element('span').update('&nbsp;&nbsp;&nbsp;')).
							insert(new Element('input',{type:'button',value:'удалить вопрос',className:'red_btn'}).observe('click',function(e){e.stop();deleteNewQuestion(q_n);}))
						)
					))
			))).insert(new Element('td',{width:'15'})).insert(new Element('td',{valign:'top'}).
				insert(new Element('a',{className:'dashed_16'}).update('Дополнительные параметры вопроса').observe('click',function(e){e.stop();el=Event.element(e);el.hide();$('additional_params_'+q_n).show();})).
				insert(
					new Element('div',{id:'additional_params_'+q_n,style:'display:none;'}).insert(new Element('table',{className:'form'}).insert(new Element('tbody').
						insert(new Element('tr').insert(new Element('td').
							insert(new Element('h3').update('Картинка ').insert(createHelpText('Картинка отбражается под вопросом'))).
							insert(new Element('p').update('Выберите файл')).
							insert(new Element('input',{type:'file',name:'question_image['+question_number+']'})).
							insert(new Element('p').update('или укажите URL')).
							insert(new Element('input',{type:'text',name:'question_image_url['+question_number+']'}))
						)).
						insert(new Element('tr').insert(new Element('td').
							insert(new Element('h3').update('Минимальное количество ответов ').insert(createHelpText('Минимальное количество ответов которые должен указать пользователь. Минимальное значение 1, максимальное - количество ответов к вопросу'))).
							insert(new Element('input',{type:'text',name:'required_number_of_answer['+question_number+']'}))
						)).
						insert(new Element('tr').insert(new Element('td').
							insert(new Element('h3').update('Режим выбора ответов')).
							insert(new Element('select',{name:'type['+question_number+']'}).observe('change',function(e){el=Event.element(e);if(el.getValue()=='image_radio_group'||el.getValue()=='image_check_box'){$('text_answers_'+q_n).hide();$('file_answers_'+q_n).show();}else{ $('text_answers_'+q_n).show();$('file_answers_'+q_n).hide();}}).
								insert(new Element('option',{value:'radio_group'}).update('Пользователь может выбрать один ответ')).
								insert(new Element('option',{value:'check_box'}).update('Пользователь может выбирать несколько ответов')).
								insert(new Element('option',{value:'select'}).update('Выпадающий список для выбора одного варианта ответа')).
								insert(new Element('option',{value:'image_radio_group'}).update('Пользователь может выбрать одну картинку')).
								insert(new Element('option',{value:'image_check_box'}).update('Пользователь может выбирать несколько картинок'))
							)
						)).
						insert(new Element('tr').insert(new Element('td').
							insert(new Element('h3').update('Отображение ответов')).
							insert(new Element('select',{name:'direction['+question_number+']'}).
								insert(new Element('option',{value:'vertical'}).update('Вертикально')).
								insert(new Element('option',{value:'horisontal'}).update('Горизонтально')).
								insert(new Element('option',{value:'table'}).update('Таблица'))
							)
						))
					))
				)
			)))
	));
	question_number++;
}
function createHelpText(text){
	var el = new Element('span',{className:'help'});
	new Tip(el,text,{style:'formHelp',stem:'bottomMiddle',hook:{tip:'bottomMiddle',mouse:true}});
	return el;
}
function createFileAnswer(q_n){
	answer_number++;
	var qn=q_n;
	return new Element('tr').
		insert(new Element('td').
				insert(new Element('p').update('Выберите файл&nbsp;&nbsp;&nbsp;').insert(new Element('input',{type:'file',name:'file_answers['+q_n+']['+answer_number+']'})).insert(new Element('input',{type:'hidden',name:'answer_status['+q_n+']['+answer_number+']',value:'normal',id:'answer_status_'+answer_number})).insert(new Element('input',{type:'hidden',name:'answers_type['+q_n+']['+answer_number+']',value:'file'}))).
				insert(new Element('p').update('или укажите URL&nbsp;').insert(new Element('input',{type:'text',name:'file_answers_url['+q_n+']['+answer_number+']'})))
		).
		insert(new Element('td').insert(new Element('input',{type:'text',name:'scores['+q_n+']['+answer_number+']',style:'width:40px;'}))).
		insert(new Element('td').insert(new Element('a',{href:'#'}).observe('click',function(e){el=Event.element(e);if(el.tagName.toUpperCase()=='IMG'){el=el.up();}deleteAnswer(el,'answer_status_'+qn);e.stop();}).insert(new Element('img',{src:'/images/icons/delete-trans.png',alt:'Удалить',title:'Удалить'}))))
}
function addFileAnswer(q_n){
	$('file_answers_conteiner_'+q_n).insert(createFileAnswer(q_n));
}
function createTextAnswer(q_n){
	answer_number++;
	var qn=q_n;
	return new Element('tr').
		insert(new Element('td').
			insert(new Element('input',{type:'text',name:'answers['+q_n+']['+answer_number+']',style:'width:360px;'})).
			insert(new Element('input',{type:'hidden',name:'answer_status['+q_n+']['+answer_number+']',value:'normal',id:'answer_status_'+answer_number})).insert(new Element('input',{type:'hidden',name:'answers_type['+q_n+']['+answer_number+']',value:'text'}))).
		insert(new Element('td').
			insert(new Element('input',{type:'text',name:'scores['+q_n+']['+answer_number+']',style:'width:40px;'}))).
		insert(new Element('td').insert(
			new Element('a',{href:'#'}).observe('click',function(e){el=Event.element(e);if(el.tagName.toUpperCase()=='IMG'){el=el.up();}deleteAnswer(el,'answer_status_'+qn);e.stop();}).insert(new Element('img',{src:'/images/icons/delete-trans.png',alt:'Удалить',title:'Удалить'})))
		);
}
function addTextAnswer(q_n){
	$('text_answers_conteiner_'+q_n).insert(createTextAnswer(q_n));
}
function deleteQuestion(q_id){
	if ($('question_status_'+q_id).value== 'deleted'){
		$('question_list_'+q_id).removeClassName('disabled_question');
		$('question_list_e_'+q_id).src = '/images/icons/page_white_edit-trans.png'
		$('question_list_d_'+q_id).src = '/images/icons/delete-trans.png'
		$('question_list_d_'+q_id).alt = $('question_list_d_'+q_id).title = 'Удалить';
		$('question_status_'+q_id).value= 'normal';
	}else{
		$('question_list_'+q_id).addClassName('disabled_question');
		$('question_list_e_'+q_id).src = '/images/icons/page_white_edit_disable-trans.png'
		$('question_list_d_'+q_id).src = '/images/icons/arrow_undo-trans.png'
		$('question_list_d_'+q_id).alt = $('question_list_d_'+q_id).title = 'Отменить удаление';
		$('question_status_'+q_id).value= 'deleted';
	}
}
function deleteEditableQuestion(q_id){
	$('question_list_'+q_id).addClassName('disabled_question');
	$('question_list_e_'+q_id).src = '/images/icons/page_white_edit_disable-trans.png'
	$('question_list_d_'+q_id).src = '/images/icons/arrow_undo-trans.png'
	$('question_list_d_'+q_id).alt = $('question_list_d_'+q_id).title = 'Отменить удаление';
	$('question_status_'+q_id).value= 'deleted';
	$('question_list_'+q_id).show();
	$('question_edit_'+q_id).hide();
}
function editQuestion(q_id){
	if ($('question_status_'+q_id).value!= 'deleted'){
		$('question_list_'+q_id).hide();
		$('question_edit_'+q_id).show();
	}
}
function restoreQuestion(q_id){
	$('question_status_'+q_id).value= 'normal';
	$('question_list_'+q_id).hide();
	$('question_edit_'+q_id).show();
}
function deleteNewQuestion(q_id){
	$('question_status_'+q_id).value= 'deleted';
	$('question_list_'+q_id).show();
	$('question_edit_'+q_id).hide();
}
function addTestAnswer(){
	test_answer_number++;
	var tan = test_answer_number;
	$('test_answers_conteiner').insert(new Element('tr',{id:'test_answer_'+tan}).insert(new Element('td').
		insert(new Element('h3').update('Ответ №'+tan)).
		insert(new Element('textarea',{cols:1,rows:1,name:'answer['+tan+']'})).
		insert(new Element('input',{type:'hidden',name:'status['+tan+']',value:'normal',id:'answer_status_'+tan}))
	).insert(new Element('td',{width:15})).insert(new Element('td',{style:'vertical-align:top;'}).
		insert(new Element('h3').update('Количество баллов')).
		insert(new Element('p').update('от&nbsp;&nbsp;').insert(new Element('input',{type:'text',name:'score_from['+tan+']'}))).
		insert(new Element('p').update('до&nbsp;&nbsp;').insert(new Element('input',{type:'text',name:'score_to['+tan+']'}))).
		insert(new Element('p').update('&nbsp;')).
		insert(new Element('input',{type:'button',className:'red_btn',value:'удалить ответ'}).observe('click',function(e){el=Event.element(e);e.stop();deleteTestAnswer(tan,el);})).
		insert(new Element('p').update('&nbsp;'))
	));
}
function deleteTestAnswer(tan,el1){
	el1 = $(el1);
	if ($('answer_status_'+tan).getValue()=='deleted'){
		$('test_answer_'+tan).select('input').each(function(el){el.enable();el.removeClassName('disable');})
		$('test_answer_'+tan).select('textarea').each(function(el){el.enable();el.removeClassName('disable');})
		$('answer_status_'+tan).value= 'normal';
		el1.remove();
	}else{
		$('test_answer_'+tan).select('input').each(function(el){el.disable();el.addClassName('disable');})
		$('test_answer_'+tan).select('textarea').each(function(el){el.disable();el.addClassName('disable');})
		$('answer_status_'+tan).value= 'deleted';
		(el1).up().insert(new Element('input',{type:'button',className:'green_btn',value:'восстановить ответ'}).observe('click',function(e){el=Event.element(e);e.stop();deleteTestAnswer(tan,el);}))
	}
}