function ClickPollMenuItem( element ) {

	var childInputs = element.parentNode.getElementsByTagName( 'input' );
	for ( var i = 1; i < childInputs.length; i++ ) {
		if ( 'checkbox' == childInputs[ i ].type ) {
			childInputs[ i ].checked = element.checked;
		}
	}

}

function ChangeAnswerSelect( select ) {

	var value = select.options[ select.selectedIndex ].value;

	// позиция выбрана и не может быть ипользована в других вариантах ответа
	g_Selected[ value - 1 ] = 1;
	if ( g_Options[ parseInt( select.name.substr( 1 ) ) - 1 ] > 0 )	{
		
		// если до этого была выбрана позиция, то она освобождается
		g_Selected[ g_Options[ parseInt( select.name.substr( 1 ) ) - 1 ] - 1 ] = 0;
	}

	// устанавливается новая выбранная позиция в данном варианте ответа
	g_Options[ parseInt( select.name.substr( 1 ) ) - 1 ] = value;
	var selects = select.form.getElementsByTagName( 'select' );
	if ( !selects ) {
		return;
	}
	for ( var i = 0; i < selects.length; i++ ) {
		var selectedValue = selects[ i ].options[ selects[ i ].selectedIndex ].value;

		// очищаем выпадающий список для варианта ответа
		while ( selects[ i ].options.length > 1 ) {
			selects[ i ].options[ selects[ i ].options.length - 1 ] = null;
		}

		// выпадающий список заполняется необходимыми опциями
		for ( var index = 1; index <= g_Selected.length; index++ ) {

			// если позиция не используется, либо она была использована текущим вариантом ответа,
			// то она добавляется в список
			if ( 0 == g_Selected[ index - 1 ] || index == g_Options[ parseInt( selects[ i ].name.substr( 1 ) ) - 1 ] ) {
				if ( index != selectedValue ) {
					selects[ i ].options[ selects[ i ].options.length ] = new Option( index, index, false, false );
				}
				else {
					selects[ i ].options[ selects[ i ].options.length ] = new Option( index, index, false, true );
				}
			}
		}
	}

}

