// Управляет видимостью полей при выборе разных типов доставки документов
function changeDocDeliveryControlsVisible( e )
{
	//если мы на вкладке с информацией о поездке
	if( $('#delivery-type').length != 0)
		//Если функция вызвалась в результате нажатия, 
		//то определяем по какой опции произошело нажатия
		if( e.type != 'load')
			var optionId =  getEventSrcElement( e ).value;
		else
			var optionId = $('#delivery-type').val();

	//Скрываем все контролы о доставке
	$( ".formControlsTable tr:has(input[@class*='delivery-type-'])").hide();
	//Показываем контролы о доставке с данным типом
	$( ".formControlsTable tr:has(.delivery-type-" + optionId + ")").show();
}

function imagePrepareImageToPrint() {
/*@cc_on @*/
/*@if (@_win32)
	var images = document.getElementsByTagName( "img" );
	for( var i = 0; i < images.length; i++ ) {
		if ( images[i].width > 600 )
			images[i].width = 600;
	}
/*@end @*/
}

//Скрывает ArrayPropertyEditor для добавления вариантов выбора в странице создания нового поля анкеты
function toggleAdditionalOptionsVisible( e )
{
	//Если функция вызвалась в результате нажатия, 
	//то определяем по какой опции произошело нажатия
	if( e.type == 'load')
		var optionId = $('#data-type').val();
	else
		var optionId =  getEventSrcElement( e ).value;
	
	if( optionId == 'choose' )
		$("table[@class='arrayPropertyEditor']").show();
	else
		$("table[@class='arrayPropertyEditor']").hide();
		
	if( optionId == 'text' )
		$("#row-count-text-area").parent().parent().show();
	else
		$("#row-count-text-area").parent().parent().hide();
}

//Подгружает варианты оформления визы при выборе страны при регистрации новой заявки
function loadVisaVariants( e )
{
	//Если функция вызвалась в результате нажатия, 
	//то определяем по какой опции произошело нажатия
	if( e.type == 'load')
		var optionId = $('#country').val();
	else
		var optionId =  getEventSrcElement( e ).value;
	
	//Запрос на получение новых id картинок
	$.get( "visa-ajax-variant-table.aspx", { country: optionId },
		function( data ){
			if( data == 'need-authorization' )
				window.location.href = "default.aspx"
			else
			{
				$("#visa-variant-wrapper").empty().append( data );
				
				/* кнопка выбрать показывается только если таблица с вариантами выбора не пуста */
				if( data == "" )
					$("#register").parent().parent().hide();
				else
					$("#register").parent().parent().show();
			}
		}
	);
}

//Подгружает этапы миграционных услуг при выборе места легализации при регистрации новой заявки
function loadMigrationRegistrationStage( e, stage )
{
	//Если функция вызвалась в результате нажатия, 
	//то определяем по какой опции произошело нажатия
	if( e.type == 'load')
		var optionId = $('#migration-place').val();
	else
	{
		var optionId = getEventSrcElement( e ).value;
	}
		
	//Запрос на получение места легализации
	$.get( "migration-service-ajax-stage-table.aspx", { migrationplace: optionId },
		function( data ){
			if( data == 'need-authorization' )
				window.location.href = "default.aspx"
			else
			{
				$("#migration-place-table").empty().append( data );
				if( stage )
					$(".radioControl input[value='" + stage + "']").attr('checked', 'checked')
				
				/* кнопка выбрать показывается только если таблица с вариантами выбора не пуста */
				if( data == "" )
					$("#register").parent().parent().hide();
				else
					$("#register").parent().parent().show();			
			}
		}
	);
	
}

//Скрывает контролы в фильтрах списка заявок
function toggleRequestFilterControls( e )
{
	//Если функция вызвалась в результате нажатия, 
	//то определяем по какой опции произошело нажатия
	if( e.type == 'load')
		var optionId = $("input[@name='service-type-filter'][@checked]").val();
	else
		var optionId =  getEventSrcElement( e ).value;
	//скрываем все фильтры
	$("#additionalFilters tr").hide();
	//Показываем фильтры, относящиеся к текущему выбранному типу услуг
	$("tr[@class='" + optionId + "Filter']").show();
}
function loadMessageTexts( e, trip )
{
	var optionId =  getEventSrcElement( e ).value;
	$("#subject").val ( '' );
	$("#text").val ( '' );
	$.get( "message-ajax-sustem-message.aspx?trip=" + trip + "&status=" + optionId, {}, 
		function( data )
		{
			var texts = data.split( '~' );
			$("#subject").val ( texts[0] );
			var oEditor = FCKeditorAPI.GetInstance( "text" ) ;
			if ( oEditor != null && oEditor.EditingArea != null )
				oEditor.SetHTML( texts[1] );
		}
	 );
}

function fillLoginForm()
{
	$frameDoc = $( "iframe" )[0].contentWindow.document;
	$( '#login' ).val( $( '#login', $frameDoc ).val() );
	$( '#password' ).val( $( '#password', $frameDoc ).val() );
	$( '#login-form .txtInfo' ).show();
	$( '#login-form .txtHighlighted' ).hide();
}  

// возвращает id строк в list'е  с отмеченными checkbox'ами
// listName - имя BaseList'а
function getCheckedId( listName )
{
	var str = '';
	var checkboxs = $( '#' + listName + 'Table input[type="checkbox"]:checked' );
	for( var i = 0; i<checkboxs.length; i++ )
	{
		var id = checkboxs[i].name.replace( listName + '_', '' );
		if( id != 'selall' )
			str += id + ',';
	}
	
	return str.replace( /,$/ , '' ) ;
}

// устанавливает в каждой таблице с заданным классом каждому div'у максимальную высоту среди всех div'ов таблицы
// и делает  вложенный div по нижнему краю родительского div'а
function setMaxHeight( tableClass, parentDivClass, childDivClass )
{
	$( '.' + tableClass ).each( function()
		{
			var maxHeight = 0;
			$( '#' + this.id + ' .' + parentDivClass ).each( function()
				{
					if( $( this ).height() > maxHeight )
						maxHeight = $( this ).height();
				}
			);
			$( '#' + this.id + ' .' + parentDivClass ).height( maxHeight );
			$( '#' + this.id + ' .' + parentDivClass ).css( 'position', 'relative' );
			$( '#' + this.id + ' .' + childDivClass ).css( 'position', 'absolute' );
			$( '#' + this.id + ' .' + childDivClass ).css( 'bottom', '0' );
		}
	);
}

// listName - имя BaseList'а
function isListHasCheckedIds( listName, warningString )
{
	var checkboxs = $( '#' + listName + 'Table input[type="checkbox"]:checked' );
	if ( checkboxs.length == 0 )
	{
		alert( warningString );
		return false;
	}
	else
	{
		return true;
	}
}

