	<?macrodef about_button 
		<window name="$(name)" 
			type="button" 
			offset="about.psd|$(name)-1-nrm" 
			transparent="true"
			hitstyle="active"
		>
			<property hover="true" hoverhint= "$(hints)" />
	
			<imagestyle name="state0">
				<raster source="about.psd|$(name)-1-nrm" 
					alignment="entire"
					blendmode="PS_NORMAL" 
					state="normal"
				/>
				<raster source="about.psd|$(name)-1-hov" 
					alignment="entire" 
					blendmode="PS_NORMAL" 
					state="hover"
       				/>
				<raster source="about.psd|$(name)-1-hit" 
					alignment="entire"
					blendmode="PS_NORMAL" 
					state="hit"
				/>
			</imagestyle>
			<?macroins $(extra) ?$>
		</window>
	?>

	<?macrodef general_script
		<script name=OnMouseOver> 
		:sonique.Status("general information"); 
		</script> 
		<script name="OnClick"> 
			gframe.Show();
			gframe_open();

			rframe_close();
			rframe.Hide(2000);

			tframe_close();
			tframe.Hide(2000);

			sframe_close();
			sframe.Hide(2000);
		</script>
	?>

	<?macrodef readme_script
		<script name=OnMouseOver> 
		:sonique.Status("read me"); 
		</script> 
		<script name="OnClick"> 
			gframe_close();
			gframe.Hide(2000);

			rframe.Show();
			rframe_open();

			tframe_close();
			tframe.Hide(2000);

			sframe_close();
			sframe.Hide(2000);
		</script>
	?>

	<?macrodef tips_script
		<script name=OnMouseOver> 
		:sonique.Status("instructions on using the remote"); 
		</script> 
		<script name="OnClick"> 
			gframe_close();
			gframe.Hide(2000);

			rframe_close();
			rframe.Hide(2000);

			tframe.Show();
			tframe_open();

			sframe_close();
			sframe.Hide(2000);
		</script>
	?>

	<?macrodef team_script
		<script name=OnMouseOver> 
		:sonique.Status("about team 2skin"); 
		</script> 
		<script name="OnClick"> 
			gframe_close();
			gframe.Hide(2000);

			rframe_close();
			rframe.Hide(2000);

			tframe_close();
			tframe.Hide(2000);

			sframe.Show();
			sframe_open();
		</script>
	?>

	<?macrodef close_script
		<script name=OnMouseOver> 
		:sonique.Status("exit the about screen"); 
		</script> 
		<script name="OnClick"> 
			parent.DestroyWindow()
		</script>
	?>

	<?macrodef aot_script
<!-- ***** Used universal settings -->
		<script name="OnInit">
			$topstate = :sonique.prefs.GetString("Universal","AlwaysOnTop");
			if($topstate)
			{
				SetButtonState(1);
				parent.SetAlwaysOnTop(1);
			}
		</script>
		<script name=OnMouseOver> 
		:sonique.Status("always on top"); 
		</script> 
		<script name="OnClick" >
			$topstate = :sonique.prefs.GetString("Universal","AlwaysOnTop");
			if($topstate)
			{
				parent.SetAlwaysOnTop(0);
				SetButtonState(0);
				:sonique.prefs.SetString("Universal","AlwaysOnTop","false");
			}
			else
			{
				parent.SetAlwaysOnTop(1);
				SetButtonState(1);
				:sonique.prefs.SetString("Universal","AlwaysOnTop","true");
			}
		</script>
	?>   

	<?macrodef aot_extra
		<imagestyle name="state1">
			<raster source="about.psd|aot-2-nrm" 
				alignment="entire"
				blendmode="PS_NORMAL"
				state="normal"
			/>
			<raster source="about.psd|aot-2-hov" 
				alignment="entire" 
				blendmode="PS_NORMAL" 
				state="hover"
			/>
			<raster source="about.psd|aot-2-hit" 
				alignment="entire" 
				blendmode="PS_NORMAL" 
				state="hit"
			/>
		</imagestyle>
		<?macroins aot_script ?$>
	?>  

<!-- Begin Mantis Interface -->

	<FontStyle name="pfont1" face="hooge 05_53" size="8" style="bold" />
	<FontStyle name="pfont2" face="hooge 05_53" size="9" style="bold" />
	<FontStyle name="pfont3" face="Silkscreen" size="8" style="normal" />
        
<!-- Begin Remote Window --> 

<window name="about" default_size="about.psd" hitstyle="drag" transparent="true">
	<imagestyle name="background">

		<raster source		= "about.psd|chassis"
			source_offset	= "about.psd|chassis"
			alignment	= "entire"
			blendmode	= "PS_NORMAL"
		/>	

		<raster source		= "about.psd|LCD"
			source_offset	= "about.psd|LCD"
			alignment	= "entire"
			blendmode	= "PS_NORMAL"
			opacity		= "0.01"
		/>

	</imagestyle>

	<shape name="chassis">
		<shape_raster source="about.psd|chassis" alignment="entire"/>
	</shape>

<!-- Begin Button Scripts -->

	<script name="OnInit">

<!-- **** check if the settings section exists if it doesnt create it and fill it with our settings -->
		if( :sonique.prefs.DoesSectionExist("about") == false )
		{
			:sonique.prefs.CreateSection("about");
			$LastPos=GetLocation();
			:sonique.prefs.SetStringArray("about","Pos",$LastPos);
		}

<!-- **** check if the universal settings already exist if they dont create them and fill with default settings -->
		if( :sonique.prefs.DoesSectionExist("Universal") == false )
		{
			:sonique.prefs.CreateSection("Universal");
		}
		:sonique.prefs.PrepString("Universal","Shuffle","false");
		:sonique.prefs.PrepString("Universal","Repeat","off");
		:sonique.prefs.PrepString("Universal","AlwaysOnTop","false");

<!-- **** load the last position it was in -->
		$Pos=:sonique.prefs.GetStringArray("about","Pos");
		SetLocation({$Pos[0],$Pos[1]});

<!-- **** stop visuals taking 100% cpu -->
		SetDesiredFPS(45);

		gframe_pos = gframe.GetOffset();
		rframe_pos = rframe.GetOffset();
		tframe_pos = tframe.GetOffset();
		sframe_pos = sframe.GetOffset();

		rframe.Hide();
		rframe_close();
		tframe.Hide();
		tframe_close();
		sframe.Hide();
		sframe_close();

	</script>
	
<!-- End Button Scripts -->: 

				<script name="gframe_close">
					gframe.SetOffset({200,0,200,0}+gframe_pos,0,2000,"linear_accel",true); 
				</script>
				<script name="gframe_open">
					gframe.SetOffset(gframe_pos,0,2000,"linear_accel", true); 
				</script>

				<script name="rframe_close">
					rframe.SetOffset({200,0,200,0}+rframe_pos,0,2000,"linear_accel",true); 
				</script>
				<script name="rframe_open">
					rframe.SetOffset(rframe_pos,0,2000,"linear_accel", true); 
				</script>

				<script name="tframe_close">
					tframe.SetOffset({200,0,200,0}+tframe_pos,0,2000,"linear_accel",true); 
				</script>
				<script name="tframe_open">
					tframe.SetOffset(tframe_pos,0,2000,"linear_accel", true); 
				</script>

				<script name="sframe_close">
					sframe.SetOffset({200,0,200,0}+sframe_pos,0,2000,"linear_accel",true); 
				</script>
				<script name="sframe_open">
					sframe.SetOffset(sframe_pos,0,2000,"linear_accel", true); 
				</script>

	<script name="OnRightButtonDown">
		DestroyWindow()
	</script>

<!-- **** when we close the remote we'll save its last position to the settings -->

	<script name="OnDestroy">
		$LastPos=GetLocation();
		:sonique.prefs.SetStringArray("about","Pos",$LastPos);
	</script>

		<window name="LCD" offset="about.psd|LCD" transparent="true" hitstyle="active" belowparent="true">
			<imagestyle name="background">
				<raster source		= "about.psd|LCD"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "0.85"
				/>
			</imagestyle>
		</window>

		<window name="gframe" offset="about.psd|frame" transparent="true" hitstyle="active" belowparent="true">
			<imagestyle name="background">
				<raster source		= "about.psd|frame"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "0.75"
				/>

				<raster source		= "about.psd|arrow"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "0.75"
					offset		= "about.psd|arrow@about.psd|frame"
				/>

				<raster source		= "about.psd|general"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "1.0"
					offset		= "about.psd|general@about.psd|frame"
				/>
	
			</imagestyle>
		</window>

		<window name="rframe" offset="about.psd|frame" transparent="true" hitstyle="active" belowparent="true">
			<imagestyle name="background">
				<raster source		= "about.psd|frame"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "0.75"
				/>

				<raster source		= "about.psd|arrow"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "0.75"
					offset		= "about.psd|arrow@about.psd|frame"
				/>

				<raster source		= "about.psd|readme"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "1.0"
					offset		= "about.psd|readme@about.psd|frame"
				/>
	
			</imagestyle>
		</window>

		<window name="tframe" offset="about.psd|frame" transparent="true" hitstyle="active" belowparent="true">
			<imagestyle name="background">
				<raster source		= "about.psd|frame"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "0.75"
				/>

				<raster source		= "about.psd|arrow"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "0.75"
					offset		= "about.psd|arrow@about.psd|frame"
				/>

				<raster source		= "about.psd|tips"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "1.0"
					offset		= "about.psd|tips@about.psd|frame"
				/>
	
			</imagestyle>
		</window>

		<window name="sframe" offset="about.psd|frame" transparent="true" hitstyle="active" belowparent="true">
			<imagestyle name="background">
				<raster source		= "about.psd|frame"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "0.75"
				/>

				<raster source		= "about.psd|arrow"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "0.75"
					offset		= "about.psd|arrow@about.psd|frame"
				/>

				<raster source		= "about.psd|team"
					alignment	= "entire"
					blendmode	= "PS_NORMAL"
					opacity		= "1.0"
					offset		= "about.psd|team@about.psd|frame"
				/>
	
			</imagestyle>
		</window>

	<window name="status" type="Sonique2_StatusBar" transparent="true" offset="about.psd|status" shape="status" >
			<shape name="status" >
				<shape_raster source="about.psd|status" />
			</shape>
			<property 
					font_style="pfont2" 
					font_color="0xFF005088" 
					font_justification="trim_pixels"
					scroll_mode="horizontal,pingpong"
					scroll_speed="50"
					pause_delay="500"
					whitespace="0"
					rect_status_offset="5,0,-5,0"
                       			rect_progress_offset="0,0,0,0"
			/>
	</window>

<!-- Begin Button Windows -->

       <?macroins about_button name="general" hints= "general information" extra="general_script"?>
       <?macroins about_button name="readme" hints= "read me" extra="readme_script"?>
       <?macroins about_button name="tips" hints= "instructions on using the remote" extra="tips_script" ?>
       <?macroins about_button name="team" hints= "about team 2skin" extra="team_script" ?>
       <?macroins about_button name="close" hints= "exit the about screen" extra="close_script" ?>
       <?macroins about_button name="aot" hints= "always on top" extra="aot_extra" ?>

<!-- End Button Windows --> 

</window>	

<!-- End Remote Window -->

<!-- End Mantis Interface -->

