﻿Order = {
	ProlongSearch: function(vars) {	// Продлить поиск
		if ((vars.executevendor != 0)&&(vars.executevendor != vars.fromvendor)) {	//заказ уже принят другой службой
			Ext.MessageBox.error('Продление заказа', 'Заказ принят к исполнению - Вы можете его отменить кнопкой "Не устраивает"');
			return false;
		}

		if (typeof(win4) == 'object') win4.close();
		win4 = new Ext.Window({
			title: 'Продлить заказ №' + _messageid,
			id: 'win4',
			closable: true,
			width: popin_win_width,
			//height: popin_win_height,
			plain: true,
			items: [	//нарисуем объекты окна
				//форма
				new Ext.form.FormPanel({
				labelAlign: 'left',
				labelWidth: 115,
				baseCls: 'x-plain',
				items: [
					new Ext.form.Label({
						text: 'Продлить поиск машины еще на Х минут'
					}),
					new Ext.form.NumberField({
						name: 'textminutes',
						id: 'id_textminutes',
						type: 'textfield',
						fieldLabel: 'Количество минут',
						width: 50,
						invalidText: 'Введите целое число (время в минутах)',
						allowDecimals: false,
						allowNegative: false
					})]
				})
			],
			buttons: [{
				text: 'Продлить',
				handler: function() {
					var min = Ext.get('id_textminutes').getValue();
					Ext.Ajax.request({
						method: 'GET',
						url: common_url + 'action.php',
						params: {
							action: 'addminutes',
							messageid: _messageid,
							minutes: min
						},
						waitMsg: 'Сохранение данных...',
						success: function(response, options) {
							Ext.MessageBox.alert('Продление заказа', 'Поиск машины по заказу номер ' + _messageid
								+ ' будет продлен на ' + min + ' минут.');
							autoRefresh();
							return false;
						},
						failure: function(response, options) {
							Ext.MessageBox.error('', "Невозможно продлить заказ: " + response.responseText);
							return;
						}
					});
				}
			},
			Ext.Msg.CancelButton]

		}).show();
	},	// Продлить поиск
	
	
	Claim: function() {	// Претензия
		if (typeof(win1) == 'object') win1.close();

		win1 = new Ext.Msg.Window({
			title: 'Ваша претензия к заказу №' + _messageid,
			id: 'win1',
			items: [ new Ext.Msg.TextArea({title: 'Ваша претензия'}) ],
			buttons: [{
				text: 'Сохранить',
				handler: function() {
					Ext.Msg.SaveData({	//добавим сообщение
						owner: this.ownerCt,
						action: 'add_claim',
						title: 'Добавление претензии',
						success: 'Ваша претензия добавлена!',
						failure: 'Сохранение не возможно: '
					});
				}
			},
			Ext.Msg.CancelButton]
		}).show();
		store_notes.load();
	},	// Претензия
	
	
	CancelOrder: function(vars) {
		if (typeof(win1) == 'object') win1.close();
		
		if ((vars.executevendor != 0)&&(vars.executevendor != vars.fromvendor)) {	//заказ уже принят другой службой
			win3 = new Ext.Msg.Window({
				title: 'Заказ принят другой службой - Вы можете только послать сообщение, о том, что хотите отменить заказ. ' +
					'Ваш комментарий к закрытию заказа №' + _messageid + ' :',
				id: 'win3',
				buttons: [{
					text: 'Послать сообщение',
					handler: function() {
						Ext.Msg.SaveData({	//добавим сообщение
							owner: this.ownerCt,
							action: 'add_note',
							title: 'Отказ от заказа',
							success: 'Ваше сообщение добавлено!',
							failure: 'Сохранение не возможно: '
						});
					}
				},
				Ext.Msg.CancelButton]
			}).show();
			return false;
		}

		win1 = new Ext.Msg.Window({
			title: 'Ваш комментарий к закрытию заказа №' + _messageid,
			id: 'win1',
			buttons: [{
				text: 'Отменить заказ',
				handler: function() {
					Ext.Msg.SaveData({	//отменить заказ
						owner: this.ownerCt,
						action: 'cancelorder',
						title: 'Отмена заказа',
						success: 'Заказ № ' + _messageid + ' отменен!',
						failure: 'Невозможно отменить заказ: '
					});
					Ext.Msg.SaveData({	//добавим сообщение
						owner: this.ownerCt,
						action: 'add_note',
						title: 'Отказ от заказа',
						success: 'Ваше сообщение добавлено!',
						failure: 'Сохранение не возможно: '
					});
				}
			},
			Ext.Msg.CancelButton]
		}).show();
	},
	
	
	CancelOrder1: function() {
		if (typeof(win2) == 'object') win1.close();
		win2 = new Ext.Msg.Window({
			id: 'win2',
			title: 'Причина отказа от заказа №' + _messageid,
			buttons: [{
				text: 'Отказаться',
				handler: function() {
					Ext.Msg.SaveData({	//отказаться
						owner: this.ownerCt,
						action: 'cancelorder1',
						title: 'Отказ от заказа',
						success: 'Отказ от заказа №' + _messageid + ' принят!',
						failure: 'Невозможно отменить заказ: '
					});
					Ext.Msg.SaveData({	//добавим сообщение
						owner: this.ownerCt,
						action: 'add_note',
						title: 'Отказ от заказа',
						success: 'Ваше сообщение добавлено!',
						failure: 'Сохранение не возможно: '
					});
				}
			},
			Ext.Msg.CancelButton]
		}).show();
	},
	
	
	AddMessage: function() {
		if (typeof(win) == 'object') win.close();
		win = new Ext.Msg.Window({
			id: 'win',
			title: 'Ваши сообщения по заказу №' + _messageid,
			buttons: [{
				text: 'Добавить',
				handler: function() {
					Ext.Msg.SaveData({	//добавим сообщение
						owner: this.ownerCt,
						action: 'add_note',
						title: 'Добавление сообщения',
						success: 'Ваше сообщение добавлено!',
						failure: 'Сохранение не возможно: '
					});
				}
			},
			Ext.Msg.CancelButton]
		}).show();
	}
}