private void SetSizeOptions(PrintProductControl printProductControl)
		{
			var sizeOptions = printProductControl.PrintProduct.SizeOptions;
			switch (printProductControl.PrintProduct.AdPricingStrategy)
			{
				case AdPricingStrategies.StandartPCI:
				case AdPricingStrategies.FlatModular:
					sizeOptions.ResetToDefaults(AdPricingStrategies.StandartPCI);
					_allowToSave = false;
					Controller.Instance.PrintProductRateCard.EditValue = null;
					Controller.Instance.PrintProductPercentOfPage.EditValue = null;
					Controller.Instance.PrintProductSharePageSquare.Items.Clear();
					_allowToSave = true;

					sizeOptions.EnableSquare = Controller.Instance.PrintProductAdSizeStandartSquare.Checked;
					sizeOptions.Width = sizeOptions.EnableSquare ? (double)Controller.Instance.PrintProductStandartWidth.Value : 0;
					sizeOptions.Height = sizeOptions.EnableSquare ? (double)Controller.Instance.PrintProductStandartHeight.Value : 0;
					break;
				case AdPricingStrategies.SharePage:
					sizeOptions.ResetToDefaults(AdPricingStrategies.SharePage);
					_allowToSave = false;
					Controller.Instance.PrintProductAdSizeStandartSquare.Checked = false;
					Controller.Instance.PrintProductStandartHeight.Value = 0;
					Controller.Instance.PrintProductStandartWidth.Value = 0;
					_allowToSave = true;
					sizeOptions.RateCard = !string.IsNullOrEmpty((string)Controller.Instance.PrintProductRateCard.EditValue) ? Controller.Instance.PrintProductRateCard.EditValue.ToString() : null;
					sizeOptions.PercentOfPage = !string.IsNullOrEmpty((string)Controller.Instance.PrintProductPercentOfPage.EditValue) ? Controller.Instance.PrintProductPercentOfPage.EditValue.ToString() : null;
					var shareUnit = (from CheckedListBoxItem item in Controller.Instance.PrintProductSharePageSquare.Items where item.CheckState == CheckState.Checked select item.Value as ShareUnit).FirstOrDefault();
					sizeOptions.Height = shareUnit != null ? shareUnit.HeightValue : 0;
					sizeOptions.HeightMeasure = shareUnit != null ? shareUnit.HeightMeasureUnit : sizeOptions.HeightMeasure;
					sizeOptions.Width = shareUnit != null ? shareUnit.WidthValue : 0;
					sizeOptions.WidthMeasure = shareUnit != null ? shareUnit.WidthMeasureUnit : sizeOptions.WidthMeasure;
					sizeOptions.EnableSquare = false;
					break;
			}
			sizeOptions.EnablePageSize = Controller.Instance.PrintProductPageSizeCheck.Checked;
			sizeOptions.PageSizeGroup = sizeOptions.EnablePageSize ? Controller.Instance.PrintProductPageSizeGroup.EditValue as String : null;
			sizeOptions.PageSize = sizeOptions.EnablePageSize ? Controller.Instance.PrintProductPageSizeName.EditValue as String : null;
			sizeOptions.EnableMechanicals = Controller.Instance.PrintProductMechanicalsCheck.Checked;
			sizeOptions.Mechanicals = sizeOptions.EnableMechanicals ? Controller.Instance.PrintProductMechanicalsName.EditValue as String : null;
			FormatAccordingSizeOptions(printProductControl);
			printProductControl.LoadInserts();
			printProductControl.UpdateTotals();
			printProductControl.UpdateProductButtonsState();
		}
		private void xtraTabControlPublications_MouseDown(object sender, MouseEventArgs e)
		{
			var c = sender as XtraTabControl;

			var hi = c.CalcHitInfo(new Point(e.X, e.Y));
			if (hi.HitTest != XtraTabHitTest.PageHeader || e.Button != MouseButtons.Right) return;
			var publicationControl = hi.Page as PrintProductControl;
			using (var form = new FormCloneProduct())
			{
				if (form.ShowDialog() != DialogResult.Yes || publicationControl == null) return;
				var selectedPage = xtraTabControlPublications.SelectedTabPage as PrintProductControl;
				var newPrintProduct = publicationControl.PrintProduct.Clone();
				xtraTabControlPublications.SelectedPageChanged -= xtraTabControlPublications_SelectedPageChanged;
				xtraTabControlPublications.TabPages.Clear();
				var newPublicationTab = new PrintProductControl();
				newPublicationTab.PrintProduct = newPrintProduct;
				newPublicationTab.Text = newPrintProduct.Name.Replace("&", "&&");
				newPrintProduct.RefreshAvailableDays();
				newPublicationTab.LoadInserts();
				_tabPages.Add(newPublicationTab);
				_tabPages.Sort((x, y) => x.PrintProduct.Index.CompareTo(y.PrintProduct.Index));
				xtraTabControlPublications.TabPages.AddRange(_tabPages.ToArray());
				xtraTabControlPublications.SelectedPageChanged += xtraTabControlPublications_SelectedPageChanged;
				;
				xtraTabControlPublications.SelectedTabPage = selectedPage;
				SettingsNotSaved = true;
			}
		}