<Composition Name="GridTest">
  <Composition.Resources>
    <Script key="commonScript">

        function inToUnits(inches) {
          return unitsPerInch * inches;
        }

        var gridType = Cpq.Get('.GridType');
		
		var dim_h = Cpq.Get('Dims.Dim_H');
		var dim_h_txt = Cpq.Get('Dims.Dim_H_Txt');		
		var dim_w = Cpq.Get('Dims.Dim_W');
		var dim_w_txt = Cpq.Get('Dims.Dim_W_Txt');		
		var bar_w = Cpq.Get('GridDims.GridBarWidth');

        var unitsPerInch = 400/dim_h;
		
		var dim_h_su = inToUnits(dim_h);
		var dim_w_su = inToUnits(dim_w);
		var bar_w_su = inToUnits(bar_w);
		
		var h_bar_qty = Cpq.Get('GridDims.Grill_H_Qty');
		var dim_h1 = Cpq.Get('GridDimsCalcs.Dim_H1');
		var dim_h2 = Cpq.Get('GridDimsCalcs.Dim_H2');
		var dim_h3 = Cpq.Get('GridDimsCalcs.Dim_H3');
		var dim_h4 = Cpq.Get('GridDimsCalcs.Dim_H4');
		var dim_h5 = Cpq.Get('GridDimsCalcs.Dim_H5');
		
		var dim_h1_txt = Cpq.Get('GridDimsCalcs.Dim_H1_Txt');
		var dim_h2_txt = Cpq.Get('GridDimsCalcs.Dim_H2_Txt');
		var dim_h3_txt = Cpq.Get('GridDimsCalcs.Dim_H3_Txt');
		var dim_h4_txt = Cpq.Get('GridDimsCalcs.Dim_H4_Txt');
		var dim_h5_txt = Cpq.Get('GridDimsCalcs.Dim_H5_Txt');

		var dim_h1_su = inToUnits(dim_h1);
		var dim_h2_su = inToUnits(dim_h2);
		var dim_h3_su = inToUnits(dim_h3);
		var dim_h4_su = inToUnits(dim_h4);		
		var dim_h5_su = inToUnits(dim_h5);
		
		var v_bar_qty = Cpq.Get('GridDims.Grill_V_Qty');
		var dim_v1 = Cpq.Get('GridDimsCalcs.Dim_V1');
		var dim_v2 = Cpq.Get('GridDimsCalcs.Dim_V2');
		var dim_v3 = Cpq.Get('GridDimsCalcs.Dim_V3');
		var dim_v4 = Cpq.Get('GridDimsCalcs.Dim_V4');
		var dim_v5 = Cpq.Get('GridDimsCalcs.Dim_V5');
		
		var dim_v1_txt = Cpq.Get('GridDimsCalcs.Dim_V1_Txt');
		var dim_v2_txt = Cpq.Get('GridDimsCalcs.Dim_V2_Txt');
		var dim_v3_txt = Cpq.Get('GridDimsCalcs.Dim_V3_Txt');
		var dim_v4_txt = Cpq.Get('GridDimsCalcs.Dim_V4_Txt');
		var dim_v5_txt = Cpq.Get('GridDimsCalcs.Dim_V5_Txt');
		
		var dim_v1_su = inToUnits(dim_v1);
		var dim_v2_su = inToUnits(dim_v2);
		var dim_v3_su = inToUnits(dim_v3);
		var dim_v4_su = inToUnits(dim_v4);
		var dim_v5_su = inToUnits(dim_v5);
		
		var glassBrush = SolidBrush();
        glassBrush.Color = '#A4C8F3';
		
		var barColor = Cpq.Get('GridDims.GridBarColor');
		
		var barBrush = SolidBrush();
		if ( barColor == 'White' )
		{
			barBrush.Color = '#FFFFFF';
		}
		else if ( barColor == 'Black' )
		{
			barBrush.Color = '#000000';
		}
		else if ( barColor == 'Tan' )
		{
			barBrush.Color = '#D2B48C';
		}
		else if ( barColor == 'Dark Bronze' )
		{
			barBrush.Color = '#804a00';
		}

		Math.NewRandom();

    </Script>
	<Case key="v_bar_y1">
		<CaseItem Value="0" Case.Condition="{gridType == 'Full'}" />
		<CaseItem Value="{dim_h1_su}" Case.Condition="{gridType == 'Top'}" />
		<CaseItem Value="0" Case.Condition="{gridType == 'Btm'}" />
	</Case>
	<Case key="v_bar_y2">
		<CaseItem Value="{dim_h_su}" Case.Condition="{gridType == 'Full'}" />
		<CaseItem Value="{dim_h_su}" Case.Condition="{gridType == 'Top'}" />
		<CaseItem Value="{dim_h1_su}" Case.Condition="{gridType == 'Btm'}" />
	</Case>	
  </Composition.Resources>
  <!-- Notes: Dimensions stored as-is in dim_h*, dim_v* vars. Same dims are converted to standardized units and stored as dim_h*_su, dim_v*_su. -->
  <!-- Visibility="{gridNumber == 'Grid1'}" -->
  <Canvas>
	<StackPanel Orientation="Horizontal">
		<Canvas Name="Grid1">
			<Rectangle Width="{dim_w_su}" Height="{dim_h_su}" Background="{glassBrush}" />
			
			<!-- Lines created across grid by horizontal grilles -->
			<Line Name="h1" Visibility="{h_bar_qty > 0}" X1="0" X2="{dim_w_su}" Y1="{dim_h1_su}" Y2="{dim_h1_su}" Stroke="{barBrush}" StrokeThickness="{bar_w_su}" />
			<Line Name="h2" Visibility="{h_bar_qty > 1}" X1="0" X2="{dim_w_su}" Y1="{dim_h1_su + dim_h2_su}" Y2="{dim_h1_su + dim_h2_su}" Stroke="{barBrush}" StrokeThickness="{bar_w_su}" />
			<Line Name="h3" Visibility="{h_bar_qty > 2}" X1="0" X2="{dim_w_su}" Y1="{dim_h1_su + dim_h2_su + dim_h3_su}" Y2="{dim_h1_su + dim_h2_su + dim_h3_su}" Stroke="{barBrush}" StrokeThickness="{bar_w_su}" />
			<Line Name="h4" Visibility="{h_bar_qty > 3}" X1="0" X2="{dim_w_su}" Y1="{dim_h1_su + dim_h2_su + dim_h3_su + dim_h4_su}" Y2="{dim_h1_su + dim_h2_su + dim_h3_su + dim_h4_su}" Stroke="{barBrush}" StrokeThickness="{bar_w_su}" />
			
			<!-- Lines created across grid by vertical grilles -->
			<Line Name="v1" Visibility="{v_bar_qty > 0}" X1="{dim_v1_su}" X2="{dim_v1_su}" Y1="{v_bar_y1}" Y2="{v_bar_y2}" Stroke="{barBrush}" StrokeThickness="{bar_w_su}" />
			<Line Name="v2" Visibility="{v_bar_qty > 1}" X1="{dim_v1_su + dim_v2_su}" X2="{dim_v1_su + dim_v2_su}" Y1="{v_bar_y1}" Y2="{v_bar_y2}" Stroke="{barBrush}" StrokeThickness="{bar_w_su}" />
			<Line Name="v3" Visibility="{v_bar_qty > 2}" X1="{dim_v1_su + dim_v2_su + dim_v3_su}" X2="{dim_v1_su + dim_v2_su + dim_v3_su}" Y1="{v_bar_y1}" Y2="{v_bar_y2}" Stroke="{barBrush}" StrokeThickness="{bar_w_su}" />
			<Line Name="v4" Visibility="{v_bar_qty > 3}" X1="{dim_v1_su + dim_v2_su + dim_v3_su + dim_v4_su}" X2="{dim_v1_su + dim_v2_su + dim_v3_su + dim_v4_su}" Y1="{v_bar_y1}" Y2="{v_bar_y2}" Stroke="{barBrush}" StrokeThickness="{bar_w_su}" />

			<Line Name="1" X1="0" X2="{dim_w_su}" Y1="{dim_h_su}" Y2="{dim_h_su}" Stroke="Black" StrokeThickness="1" />
			<Line Name="2" X1="0" X2="0" Y1="0" Y2="{dim_h_su}" Stroke="Black" StrokeThickness="1" />				
			<Line Name="3" X1="0" X2="{dim_w_su}" Y1="0" Y2="0" Stroke="Black" StrokeThickness="1" />			
			<Line Name="4" X1="{dim_w_su}" X2="{dim_w_su}" Y1="0" Y2="{dim_h_su}" Stroke="Black" StrokeThickness="1" />
			
			<!-- Canvas to show dimensions -->
			<Canvas Visibility="{Cpq.Get('Dims.ShowDims')}"	>
				<Line Name="2ECT" X1="-2" X2="-10" Y1="0" Y2="0" Stroke="Blue" StrokeThickness="1" />
				<TextLine Name="2T" X1="-10" X2="-10" Y1="0" Y2="{dim_h_su}" Stroke="Blue" StrokeThickness="1" Text="{'H [' + dim_h_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="-10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="2ECB" X1="-2" X2="-10" Y1="{dim_h_su}" Y2="{dim_h_su}" Stroke="Blue" StrokeThickness="1" />			
				<Line Name="3ECL" X1="0" X2="0" Y1="-2" Y2="-10" Stroke="Blue" StrokeThickness="1" />
				<TextLine Name="3T" X1="0" X2="{dim_w_su}" Y1="-10" Y2="-10" Stroke="Blue" StrokeThickness="1" Text="{'W [' + dim_w_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="3ECR" X1="{dim_w_su}" X2="{dim_w_su}" Y1="-2" Y2="-10" Stroke="Blue" StrokeThickness="1" />
				
				<!-- Section for vertical lines (shown on bottom side) -->
					<!-- End cap line on left -->
				<Line Name="VECL" Visibility="{v_bar_qty > 0}" X1="0" X2="0" Y1="{dim_h_su + 2}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" />
				
				<TextLine Name="V1T" Visibility="{v_bar_qty > 0}" X1="0" X2="{dim_v1_su}" Y1="{dim_h_su + 10}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" Text="{'V1 [' + dim_v1_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="-10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="V1ECR" Visibility="{v_bar_qty > 0}" X1="{dim_v1_su}" X2="{dim_v1_su}" Y1="{dim_h_su + 2}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" />
				
				<TextLine Name="V2T" Visibility="{v_bar_qty > 0}" X1="{dim_v1_su}" X2="{dim_v1_su + dim_v2_su}" Y1="{dim_h_su + 10}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" Text="{'V2 [' + dim_v2_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="-10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="V2ECR" Visibility="{v_bar_qty > 0}" X1="{dim_v1_su + dim_v2_su}" X2="{dim_v1_su + dim_v2_su}" Y1="{dim_h_su + 2}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" />				
				
				<TextLine Name="V3T" Visibility="{v_bar_qty > 1}" X1="{dim_v1_su + dim_v2_su}" X2="{dim_v1_su + dim_v2_su + dim_v3_su}" Y1="{dim_h_su + 10}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" Text="{'V3 [' + dim_v3_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="-10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="V3ECR" Visibility="{v_bar_qty > 1}" X1="{dim_v1_su + dim_v2_su + dim_v3_su}" X2="{dim_v1_su + dim_v2_su + dim_v3_su}" Y1="{dim_h_su + 2}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" />	
				
				<TextLine Name="V4T" Visibility="{v_bar_qty > 2}" X1="{dim_v1_su + dim_v2_su + dim_v3_su}" X2="{dim_v1_su + dim_v2_su + dim_v3_su + dim_v4_su}" Y1="{dim_h_su + 10}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" Text="{'V4 [' + dim_v4_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="-10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="V4ECR" Visibility="{v_bar_qty > 2}" X1="{dim_v1_su + dim_v2_su + dim_v3_su + dim_v4_su}" X2="{dim_v1_su + dim_v2_su + dim_v3_su + dim_v4_su}" Y1="{dim_h_su + 2}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" />
				
				<TextLine Name="V5T" Visibility="{v_bar_qty > 3}" X1="{dim_v1_su + dim_v2_su + dim_v3_su + dim_v4_su}" X2="{dim_v1_su + dim_v2_su + dim_v3_su + dim_v4_su + dim_v5_su}" Y1="{dim_h_su + 10}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" Text="{'V5 [' + dim_v5_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="-10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="V5ECR" Visibility="{v_bar_qty > 3}" X1="{dim_v1_su + dim_v2_su + dim_v3_su + dim_v4_su + dim_v5_su}" X2="{dim_v1_su + dim_v2_su + dim_v3_su + dim_v4_su + dim_v5_su}" Y1="{dim_h_su + 2}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" />
				
					<!-- End cap line on right -->
				<Line Name="VECR" Visibility="{v_bar_qty > 0}" X1="{dim_w_su}" X2="{dim_w_su}" Y1="{dim_h_su + 2}" Y2="{dim_h_su + 10}" Stroke="Blue" StrokeThickness="1" />
				
				<!-- Section for horizontal lines (shown on right side) -->
					<!-- End cap line on top -->
				<Line Name="HECT" Visibility="{h_bar_qty > 0}" X1="{dim_w_su + 2}" X2="{dim_w_su + 10}" Y1="0" Y2="0" Stroke="Blue" StrokeThickness="1" />
				
				<TextLine Name="H1T" Visibility="{h_bar_qty > 0}" X1="{dim_w_su + 10}" X2="{dim_w_su + 10}" Y1="0" Y2="{dim_h1_su}" Stroke="Blue" StrokeThickness="1" Text="{'H1 [' + dim_h1_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="H1ECB" Visibility="{h_bar_qty > 0}" X1="{dim_w_su + 2}" X2="{dim_w_su + 10}" Y1="{dim_h1_su}" Y2="{dim_h1_su}" Stroke="Blue" StrokeThickness="1" />					
				
				<TextLine Name="H2T" Visibility="{h_bar_qty > 0}" X1="{dim_w_su + 10}" X2="{dim_w_su + 10}" Y1="{dim_h1_su}" Y2="{dim_h1_su + dim_h2_su}" Stroke="Blue" StrokeThickness="1" Text="{'H2 [' + dim_h2_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="H2ECB" Visibility="{h_bar_qty > 0}" X1="{dim_w_su + 2}" X2="{dim_w_su + 10}" Y1="{dim_h1_su + dim_h2_su}" Y2="{dim_h1_su + dim_h2_su}" Stroke="Blue" StrokeThickness="1" />					
				
				<TextLine Name="H3T" Visibility="{h_bar_qty > 1}" X1="{dim_w_su + 10}" X2="{dim_w_su + 10}" Y1="{dim_h1_su + dim_h2_su}" Y2="{dim_h1_su + dim_h2_su + dim_h3_su}" Stroke="Blue" StrokeThickness="1" Text="{'H3 [' + dim_h3_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="H3ECB" Visibility="{h_bar_qty > 1}" X1="{dim_w_su + 2}" X2="{dim_w_su + 10}" Y1="{dim_h1_su + dim_h2_su + dim_h3_su}" Y2="{dim_h1_su + dim_h2_su + dim_h3_su}" Stroke="Blue" StrokeThickness="1" />						
				
				<TextLine Name="H4T" Visibility="{h_bar_qty > 2}" X1="{dim_w_su + 10}" X2="{dim_w_su + 10}" Y1="{dim_h1_su + dim_h2_su + dim_h3_su}" Y2="{dim_h1_su + dim_h2_su + dim_h3_su + dim_h4_su}" Stroke="Blue" StrokeThickness="1" Text="{'H4 [' + dim_h4_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="H4ECB" Visibility="{h_bar_qty > 2}" X1="{dim_w_su + 2}" X2="{dim_w_su + 10}" Y1="{dim_h1_su + dim_h2_su + dim_h3_su + dim_h4_su}" Y2="{dim_h1_su + dim_h2_su + dim_h3_su + dim_h4_su}" Stroke="Blue" StrokeThickness="1" />						
				
				<TextLine Name="H5T" Visibility="{h_bar_qty > 3}" X1="{dim_w_su + 10}" X2="{dim_w_su + 10}" Y1="{dim_h1_su + dim_h2_su + dim_h3_su + dim_h4_su}" Y2="{dim_h1_su + dim_h2_su + dim_h3_su + dim_h4_su + dim_h5_su}" Stroke="Blue" StrokeThickness="1" Text="{'H5 [' + dim_h5_txt + '&quot;]'}" FontSize="12" HorizontalTextAlignment="Center" AlignToLine="True" VerticalTextPadding="10" StartCap="Arrow" EndCap="Arrow" CapScale="2" />
				<Line Name="H5ECB" Visibility="{h_bar_qty > 3}" X1="{dim_w_su + 2}" X2="{dim_w_su + 10}" Y1="{dim_h1_su + dim_h2_su + dim_h3_su + dim_h4_su + dim_h5_su}" Y2="{dim_h1_su + dim_h2_su + dim_h3_su + dim_h4_su + dim_h5_su}" Stroke="Blue" StrokeThickness="1" />				

					<!-- End cap line on bottom -->				
				<Line Name="HECB" Visibility="{h_bar_qty > 0}" X1="{dim_w_su + 2}" X2="{dim_w_su + 10}" Y1="{dim_h_su}" Y2="{dim_h_su}" Stroke="Blue" StrokeThickness="1" />						
			</Canvas>
		</Canvas>
	</StackPanel>
  </Canvas>

</Composition>		