using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Media.Imaging;
using C1.Silverlight;

namespace C1Extended_Demo
{
	public partial class CoverFlowDemo : UserControl
	{
		public double EyeDistance
		{
			get { return coverFlow.EyeDistance; }
			set { coverFlow.EyeDistance = value; }
		}

		public double EyeHeight
		{
			get { return coverFlow.EyeHeight; }
			set { coverFlow.EyeHeight = value; }
		}
		
		public int ItemsVisible
		{
			get { return coverFlow.ItemsVisible; }
			set { coverFlow.ItemsVisible = value; }
		}

		public double ItemDistance
		{
			get { return coverFlow.ItemDistance; }
			set { coverFlow.ItemDistance = value; }
		}

		public double SelectedItemDistance
		{
			get { return coverFlow.SelectedItemDistance; }
			set { coverFlow.SelectedItemDistance = value; }
		}

		public double ItemAngle
		{
			get { return coverFlow.ItemAngle; }
			set { coverFlow.ItemAngle = value; }
		}

		public double ItemAngleSpeed
		{
			get { return coverFlow.ItemAngleSpeed; }
			set { coverFlow.ItemAngleSpeed = value; }
		}

		public double ItemSpeed
		{
			get { return coverFlow.ItemSpeed; }
			set { coverFlow.ItemSpeed = value; }
		}

		public double EyeSpeed
		{
			get { return coverFlow.EyeSpeed; }
			set { coverFlow.EyeSpeed = value; }
		}

		public double SelectedItemOffset
		{
			get { return coverFlow.SelectedItemOffset; }
			set { coverFlow.SelectedItemOffset = value; }
		}

		#region ** ClearStyle properties

		public Brush DEMO_Background
		{
			get
			{
				return coverFlow.Background;
			}
			set
			{
				coverFlow.Background = value;
			}
		}

		public Brush DEMO_Foreground
		{
			get
			{
				return coverFlow.Foreground;
			}
			set
			{
				coverFlow.Foreground = value;
			}
		}

		public Brush DEMO_BorderBrush
		{
			get
			{
				return coverFlow.BorderBrush;
			}
			set
			{
				coverFlow.BorderBrush = value;
			}
		}

		public Brush MouseOverBrush
		{
			get
			{
				return coverFlow.MouseOverBrush;
			}
			set
			{
				coverFlow.MouseOverBrush = value;
			}
		}

		public Brush PressedBrush
		{
			get
			{
				return coverFlow.PressedBrush;
			}
			set
			{
				coverFlow.PressedBrush = value;
			}
		}

		public Brush ButtonBackground
		{
			get
			{
				return coverFlow.ButtonBackground;
			}
			set
			{
				coverFlow.ButtonBackground = value;
			}
		}

		public Brush ButtonForeground
		{
			get
			{
				return coverFlow.ButtonForeground;
			}
			set
			{
				coverFlow.ButtonForeground = value;
			}
		}

		#endregion
		
		public CoverFlowDemo()
		{
			InitializeComponent();

			for (int i = 1; i <= 15; ++i)
			{
				coverFlow.Items.Add(new Grid
				{
					Children = 
					{
						new Image 
						{
							Source = new BitmapImage(Extensions.GetAbsoluteUri("Resources/pics/pic" + i + ".jpg")),
						} 
					}
				});
			}
		}

	}
}
