var XEPByBannerRunRotator = 'RunByBannerRotator';

function byBannerRotator_Run (bannerId/*fCallback*/)
{
    setStatus("Запрос Добавления в ротатор", true);
	
    var btnSelector = '#button_' + bannerId;
    
    if (isDisabled(btnSelector)) {
    	alert('Система думает!');
    	return false;
    }
    disableButton(btnSelector);
    
    var request = objGetXEPRequest();
    
    request.AddPart(XEPByBannerRunRotator, {
    								"bid" : bannerId,
                                    "price_base" : $('#price_base_' + bannerId).val(),
                                    "proc" : $('#proc_' + bannerId).val(),
                                    "is_proc" : $('input[name="is_proc_' + bannerId + '"][@checked]').val(),
                                    "proc_base" : $('#proc_base_' + bannerId).val(),
                                    "price_max" : $('#price_max_' + bannerId).val(),
                                    "enable" : $('#enable_' + bannerId).is(':checked') ? 1 : 0
                                    });
    
    request.Perform(function(response)
                        {
                            setStatus("Разбираем ответ сервера", true);
                            
                            if (response.Status == soapStatusError)
                            {
                                var errorMessage = response.StatusMessage;
                                alert(errorMessage);
                                setStatus("Ошибка! " + errorMessage + "!");
                            }
                            else
                            {
                                var theOnlyPart = response.Parts[0];
                                if (theOnlyPart !=null)
                                {
                                    if (theOnlyPart.Status == soapStatusOK)
                                    {
                                        var retArr = new Object(); // STUB эта хуита для dialogSelect
                                        for (resultIndex in theOnlyPart.Results)
                                        {
                                            var resultValue = theOnlyPart.Results[resultIndex];
                                            //retArr[resultValue["id"]] = resultValue["id"];
                                            //setStatus(resultValue["Success"]);
                                            /**
                                             * @todo Если что в resultValue["Success"] приходят тексты
                                             * success результата от SOAP-а
                                             */
                                             //alert(resultValue["Success"]);
                                        }
                                        alert('Данные по удержанию позиций изменились');
                                        setStatus('Данные по удержанию позиций изменились');
                                        /**
                                         * @todo Можно передать fCallback и вызвать как функию при success
                                         */
                                        //fCallback(retArr);
                                    }
                                    else
                                    {
                                        if (ProcessTypicalXEPErrors(theOnlyPart) == false)
                                        {
                                            setStatus("Ошибка Добавления в ротатор: " + theOnlyPart.StatusMessage);
                                            alert("Ошибка Добавления в ротатор: " + theOnlyPart.StatusMessage);
                                        }
                                    }
                                }
                                else
                                {
                                    setStatus("Ошибка получения нужного парта");
                                    alert("Ошибка получения нужного парта");
                                }
                            }
                            unDisableButton(btnSelector);
                        },
                        function(obj, msg, exc)
                        {
                            setStatus("Ошибка запроса Добавления в ротатор");
                            alert("Не удалось включить автоудержание позиций. Пожалуйста, сообщите нам об этой ошибке и мы решим ее так быстро, как это возможно.");
                            unDisableButton(btnSelector);
                        }
                    );
}

