'Script Copyright  2012 Ryan Marshall (Skarn)
'All Rights Reserved

Dim vizStatus
Dim embedded

Dim drag_oldX, drag_newX
Dim drag_oldY, drag_newY
Dim dragging

Function dxAddSize(strObjName,addWidth,addHeight)
	Set obj = DesktopX.Object(strObjName)
	currentWidth = obj.Width
	currentHeight = obj.Height
	newWidth = currentWidth + addWidth
	newHeight = currentHeight + addHeight
	obj.Resize newWidth,newHeight
End Function

Function Object_OnLButtonDownEx(obj,x,y)
	Select Case obj.Name
		Case "dxPlayer_vizResize"
			If dragging = False Then
				drag_oldX = obj.Left
				drag_oldY = obj.Top
			End If
	
	End Select
End Function

Sub Object_OnDragEx(obj,x,y,newX,newY)
	If dragging = True Then Exit Sub
	Select Case obj.Name
		Case "dxPlayer_vizResize"
			dragging = True
			adjustX = newX - drag_oldX
			adjustY = newY - drag_oldY
			
			DesktopX.Object("dxPlayer_vizWindow").Visible = False
			Call dxAddSize("dxPlayer_vizWindow",adjustX,adjustY)
			Call dxAddSize("dxPlayer_vizBack",adjustX,adjustY)
			Call dxAddSize("dxPlayer_vizMask",adjustX,adjustY)
			Call dxAddSize("dxPlayer_deco1",adjustX,adjustY)
			
			drag_oldX = newX
			drag_oldY = newY
			dragging = False
			
	End Select
End Sub

Sub Object_OnDragFinishEx(obj)
	Select Case obj.Name
		Case "dxPlayer_vizResize"
			strExePath = Object.Directory & "dxPlayer_vizEmbed.exe"
			DesktopX.Object("dxPlayer").Command = strExePath
			DesktopX.Object("dxPlayer").CommandParams = """1"""
			DesktopX.Object("dxPlayer").ExecuteCommand
			DesktopX.Object("dxPlayer_vizWindow").Visible = True
			
	End Select
End Sub

Sub Object_OnStateChangeEx(obj,state)
	Select Case obj.Name
		Case "dxPlayer_showViz"
			If state = "Command executed" Then
				vizStatus = True
			End If
		
		Case "dxPlayer_hideViz"
			If state = "Command executed" Then
				vizStatus = False
			End If
			
		Case "dxPlayer_toggleViz"
			If state = "Mouse up" Then
				On Error Goto 0
				If vizStatus = True Then
					DesktopX.Object("dxPlayer_vizWindow").Visible = False
					DesktopX.Object("dxPlayer_hideViz").ExecuteCommand
				Else
					DesktopX.Object("dxPlayer_vizWindow").Visible = True
					If embedded <> True Then
						strExePath = Object.Directory & "dxPlayer_vizEmbed.exe"
						DesktopX.Object("dxPlayer").Command = strExePath
						DesktopX.Object("dxPlayer").CommandParams = """0"""
						DesktopX.Object("dxPlayer_showViz").ExecuteCommand
						DesktopX.Object("dxPlayer").ExecuteCommand
						embedded = True
					Else
						DesktopX.Object("dxPlayer_showViz").ExecuteCommand
					End If
				End If
			End If
			
	End Select
End Sub