'PLAYBOOK-READ-OnAirCoding W/ FUNCTIONS TO POPULATE HEADSHOTS & LOGOS + MSG LOG v2.2 (10.04.24) -- KEY: {READ}

a_vtwCheck = TrioCmd("vtwtemplate:get_template")
Call m_vtwVersion(v_vtwNumber,v_WPrefresh)

'' Gets the page number of current page
page = TrioCmd("gui:get_callup_code")
sRecall = "NO"
'' Checks to see if that page already exists
if TrioCmd("show:page_exists " & page) = "true" then
	'' Reads the page, then runs the matching VTW function 
	TrioCmd("page:read " & page)
	Name = TrioCmd("page:getpagetemplate")
	Select Case Name
		Case "NU_WinProb"
			if v_WPrefresh = "YES" then
				TrioCmd("vtwtemplate:invoke_function get_wp_data Nubb")
				TrioCmd("trio:sleep 300")
				TrioCmd("vtwtemplate:invoke_function get_wp_data Nubb")
			elseif v_WPrefresh = "YESx" then
				TrioCmd("vtwtemplate:run_vtw_script ClickWinProb_NubbRadialButton")
				TrioCmd("trio:sleep 300")
				TrioCmd("vtwtemplate:run_vtw_script get_wp_data")
				TrioCmd("trio:sleep 300")
				TrioCmd("vtwtemplate:run_vtw_script get_wp_data")
			else
				data_Note = "VTW Version does not have Nubb Win Prob"
			end if
		Case "FS_LineChart"
			a_wpTitleCheck = TrioCmd("page:get_property F0100")
			a_wpTitleCheck = UCase(a_wpTitleCheck)
			if InStr(a_wpTitleCheck, "WIN PROBABILITY") > 0 then
				if v_WPrefresh = "YES" then
					TrioCmd("vtwtemplate:invoke_function get_wp_data FS")
					TrioCmd("trio:sleep 300")
					TrioCmd("vtwtemplate:invoke_function get_wp_data FS")
				elseif v_WPrefresh = "YESx" then
					TrioCmd("vtwtemplate:run_vtw_script ClickFSTimeline_RadialButton")
					TrioCmd("trio:sleep 300")
					TrioCmd("vtwtemplate:run_vtw_script get_wp_data")
					TrioCmd("trio:sleep 300")
					TrioCmd("vtwtemplate:run_vtw_script get_wp_data")
				else
					data_Note = "VTW Version does not have FS Win Prob"
				end if
			else
				Austin = "Loves Tacos"
			end if
		Case Else
			Tacos = "GOOD"
	End Select
else 
	'' Page doesn't exist, so this script will build it
	'' First a matching page builder text file needs to be found
	'' This file system object allows the script to access file level functions
	Set fso = CreateObject("Scripting.FileSystemObject")
	'' Check and see if the correct text file exists
	Set folder = fso.GetFolder("C:\PlaybookPageBuilder\")
	Set files = folder.Files
	pathstring = folder.Path
	
	' Initialize variables to track the most recent file
	Set recentFile = Nothing
	recentDate = #1/1/1900#
	
	For Each file In files
		' Assuming only looking for .txt files
		If fso.GetExtensionName(file) = "txt" Then
			If file.DateLastModified > recentDate Then
				Set recentFile = file
				recentDate = file.DateLastModified
			End If
		End If
	Next
	
	' If a recent file was found, open and read its contents
	If Not recentFile Is Nothing Then
		Set txtFile = fso.OpenTextFile(recentFile.Path, 1, False, 0)
		content = txtFile.ReadAll
		txtFile.Close
	Else
		MsgBox "No .txt files found in folder." & vbCrLf & vbCrLf & "Save Playbook txt files from OnAirV3 in:"& vbCrLf & vbCrLf & pathstring & "\"
	End If
	
	pgNumber = "w\" & page & "\"
	pgLine = "" ' Initialize pgLine variable
	
	' Split the content by line and search for the matching line
	lines = Split(content, vbCrLf)
	
	For Each line In lines
		If Left(line, Len(pgNumber)) = pgNumber Then
			pgLine = line
			Exit For ' Exit the loop once the line is found
		End If
	Next
	
	' Output the found line (for debugging)
	If pgLine <> "" Then
		'WScript.Echo "Found line: " & pgLine
		'' Split the contents into their separate parts
		pageArray = Split(pgLine, "\")
		'' Read original page determined from file
		TrioCmd("page:read " & pageArray(2))
		'' Get list of field names as an array
		sFields = TrioCmd("page:get_tabfield_names")
		arrFields = Split(sFields, " ")
		'' Build a count of the number of fields
		iFields = UBound(arrFields) + 1
		'' Loop through all Fields in template
		For iFieldCounter = 1 To iFields
			'' Get Field Name
			sFieldName = arrFields(iFieldCounter - 1)
			'' Set our variable to empty
			sFieldCustomName = ""
			'' Get Field's Custom Property name
			sFieldCustomName = TrioCmd("tabfield:get_custom_property " & sFieldName)
			'' Check if the Field's custom property is empty
			If sFieldCustomName <> "" Then
				'' Check to see if this Custom Property is long enough to be SGL
				If Len(sFieldCustomName) >= 5 Then				
					'' Check if this is an SGL Custom Property by
					'' looking at the first 3 letters of the custom property
					'' Example: SGL.99999
					If Left(UCase(sFieldCustomName), 2) = "SR" Then
						'' Get the rest of the SGL Custom Property to determine the field number
						iFieldNumber = Mid(sFieldCustomName, 4)
						'' Check if the field number is actually a number
						If IsNumeric(iFieldNumber) Then
							'' Add 3 to the value because the first 3 values are reserved
							'' Check if there is a value from the text file matching this Field number
							If UBound(pageArray) >= iFieldNumber + 3 Then
								'' Get the value at this number from the text file
								sFieldValue = pageArray(iFieldNumber + 3)
								If InStr(sFieldValue, "{@{") > 0 then
									'' Update Trio custom property field with new value from text file
									sRecall = "YES"
									sFieldValue = Replace(sFieldValue, "@", "")
									TrioCmdUTF8("tabfield:set_custom_property " & sFieldName & " " & Chr(34) & sFieldValue & Chr(34))
								Else
									'' Update Trio page field with new value from text file
									'' This command uses UTF8 because the values were being mangled
									TrioCmdUTF8("text:update_formatted_text " & sFieldName & " insert 1.0 1.0 " & sFieldValue)
								End If
							Else
								'' Set this to a blank value
								TrioCmdUTF8("text:update_formatted_text " & sFieldName & " insert 1.0 1.0 ")
							End If
						End If
					End If
				End If
			End If
		Next
		'' Save Trio page
		TrioCmd("page:saveas " & pageArray(1))
		TrioCmd("trio:sleep 50")
		'' Change description on the Trio page
		TrioCmd("page:change_description " & pageArray(1) & " PLAYBOOK GENERATED PAGE [TEMP: " & pageArray(2) & "]")
		
		pName = TrioCmd("page:getpagename")
		Name = TrioCmd("page:getpagetemplate")
		a_tfNames = TrioCmd("page:get_tabfield_names")
		v_PBsvNumber = pageArray(1)
		
		if len(v_PBsvNumber) = 7 then
		
			Select Case Name
				Case "FS_5HdStat"
					TrioCmd("trio:sleep 50")
					a_globalLeagueSet = TrioCmd("page:get_property A0100")
					Call m_Scene(a_LogoTabs,a_FNameTabs,a_LNameTabs,a_HSTabs,a_JerTabs,a_PosTabs,a_PlyrLogoTabs,v_Rows,a_RowsX,a_RowVer,a_TeamNaming,a_LeagueLogo,a_Single,a_runSameTeam,a_slabThinWide,a_ScriptLogNumber)
					Call m_Rows(a_Rows,a_RowVer)
					
					For i = 1 to a_Rows
						a_LoopPosition = i
						v_LTab = a_LogoTabs(i)
						v_FNTab = a_FNameTabs(i)
						v_LNTab = a_LNameTabs(i)
						v_HSTab = a_HSTabs(i)
						v_JTab = a_JerTabs(i)
						v_PTab = a_PosTabs(i)
						v_PLTab = a_PlyrLogoTabs(i)
						
						cv_LTab = TrioCmd("page:get_property " & v_LTab)
						cv_LTab = trim(cv_LTab)
						cv_FNTab = TrioCmd("page:get_property " & v_FNTab)
						cv_FNTab = UCase(cv_FNTab)
						cv_LNTab = TrioCmd("page:get_property " & v_LNTab)
						cv_LNTab = UCase(cv_LNTab)
						cv_HSTab = TrioCmd("page:get_property " & v_HSTab)
						cv_JTab = TrioCmd("page:get_property " & v_JTab)
						cv_PTab = TrioCmd("page:get_property " & v_PTab)
						cv_PLTab = TrioCmd("page:get_property " & v_PLTab)

						if cv_LTab = "" then
							Call m_TeamTri()
							a_hsYesNo = "NO"
						else
							a_hsYesNo = "YES"
						end if
						
						if a_hsYesNo = "NO" then
							Tacos = "GOOD"
						else
							if a_TeamNaming = "4" then
								s_plyrName = split(cv_FNTab, " ")
								a_hsName = cv_LTab & "_" & s_plyrName(1) & "_" & s_plyrName(0)
								a_hsName = Replace(a_hsName,"Á","A")
								a_hsName = Replace(a_hsName,"É","E")
								a_hsName = Replace(a_hsName,"Í","I")
								a_hsName = Replace(a_hsName,"Ó","O")
								a_hsName = Replace(a_hsName,"Ú","U")
								a_hsName = Replace(a_hsName,"Ñ","N")
								a_hsName = Replace(a_hsName,ChrW(268),"C") ' Replace Č
								a_hsName = Replace(a_hsName,ChrW(262),"C") ' Replace Ć
								a_hsName = Replace(a_hsName,ChrW(350),"S") ' Replace Åž
								a_hsName = Replace(a_hsName,ChrW(220),"U") ' Replace Ü
								a_hsName = Replace(a_hsName,ChrW(192),"A") ' Replace À
								a_hsName = Replace(a_hsName,ChrW(193),"A") ' Replace Á
								a_hsName = Replace(a_hsName,ChrW(194),"A") ' Replace Â
								a_hsName = Replace(a_hsName,ChrW(195),"A") ' Replace Ã
								a_hsName = Replace(a_hsName,ChrW(196),"A") ' Replace Ä
								a_hsName = Replace(a_hsName,ChrW(197),"A") ' Replace Ã…
								a_hsName = Replace(a_hsName,ChrW(198),"AE") ' Replace Æ
								a_hsName = Replace(a_hsName,ChrW(199),"C") ' Replace Ç
								a_hsName = Replace(a_hsName,ChrW(200),"E") ' Replace È
								a_hsName = Replace(a_hsName,ChrW(201),"E") ' Replace É
								a_hsName = Replace(a_hsName,ChrW(202),"E") ' Replace Ê
								a_hsName = Replace(a_hsName,ChrW(203),"E") ' Replace Ë
								a_hsName = Replace(a_hsName,ChrW(204),"I") ' Replace Ì
								a_hsName = Replace(a_hsName,ChrW(205),"I") ' Replace Í
								a_hsName = Replace(a_hsName,ChrW(206),"I") ' Replace ÃŽ
								a_hsName = Replace(a_hsName,ChrW(207),"I") ' Replace Ï
								a_hsName = Replace(a_hsName,ChrW(208),"D") ' Replace Ð
								a_hsName = Replace(a_hsName,ChrW(209),"N") ' Replace Ñ
								a_hsName = Replace(a_hsName,ChrW(210),"O") ' Replace Ã’
								a_hsName = Replace(a_hsName,ChrW(211),"O") ' Replace Ó
								a_hsName = Replace(a_hsName,ChrW(212),"O") ' Replace Ô
								a_hsName = Replace(a_hsName,ChrW(213),"O") ' Replace Õ
								a_hsName = Replace(a_hsName,ChrW(214),"O") ' Replace Ö
								a_hsName = Replace(a_hsName,ChrW(216),"O") ' Replace Ø
								a_hsName = Replace(a_hsName,ChrW(217),"U") ' Replace Ù
								a_hsName = Replace(a_hsName,ChrW(218),"U") ' Replace Ú
								a_hsName = Replace(a_hsName,ChrW(219),"U") ' Replace Û
								a_hsName = Replace(a_hsName,ChrW(220),"U") ' Replace Ü
								a_hsName = Replace(a_hsName,ChrW(221),"Y") ' Replace Ý
								a_hsName = Replace(a_hsName,ChrW(352),"S") ' Replace Å 
								a_hsName = Replace(a_hsName,ChrW(381),"Z") ' Replace Ž
								a_hsName = Replace(a_hsName,ChrW(321),"L") ' Replace Ł
								a_hsName = Replace(a_hsName,ChrW(272),"D") ' Replace Ð
								a_hsName = Replace(a_hsName,".","")
								a_hsName = a_hsName & "_960.png"
							elseif a_TeamNaming = "3" then
								a_hsName = cv_LTab & "_" & cv_LNTab & "_" & cv_FNTab
								a_hsName = Replace(a_hsName,"Á","A")
								a_hsName = Replace(a_hsName,"É","E")
								a_hsName = Replace(a_hsName,"Í","I")
								a_hsName = Replace(a_hsName,"Ó","O")
								a_hsName = Replace(a_hsName,"Ú","U")
								a_hsName = Replace(a_hsName,"Ñ","N")
								a_hsName = Replace(a_hsName,ChrW(268),"C") ' Replace Č
								a_hsName = Replace(a_hsName,ChrW(262),"C") ' Replace Ć
								a_hsName = Replace(a_hsName,ChrW(350),"S") ' Replace Åž
								a_hsName = Replace(a_hsName,ChrW(220),"U") ' Replace Ü
								a_hsName = Replace(a_hsName,ChrW(192),"A") ' Replace À
								a_hsName = Replace(a_hsName,ChrW(193),"A") ' Replace Á
								a_hsName = Replace(a_hsName,ChrW(194),"A") ' Replace Â
								a_hsName = Replace(a_hsName,ChrW(195),"A") ' Replace Ã
								a_hsName = Replace(a_hsName,ChrW(196),"A") ' Replace Ä
								a_hsName = Replace(a_hsName,ChrW(197),"A") ' Replace Ã…
								a_hsName = Replace(a_hsName,ChrW(198),"AE") ' Replace Æ
								a_hsName = Replace(a_hsName,ChrW(199),"C") ' Replace Ç
								a_hsName = Replace(a_hsName,ChrW(200),"E") ' Replace È
								a_hsName = Replace(a_hsName,ChrW(201),"E") ' Replace É
								a_hsName = Replace(a_hsName,ChrW(202),"E") ' Replace Ê
								a_hsName = Replace(a_hsName,ChrW(203),"E") ' Replace Ë
								a_hsName = Replace(a_hsName,ChrW(204),"I") ' Replace Ì
								a_hsName = Replace(a_hsName,ChrW(205),"I") ' Replace Í
								a_hsName = Replace(a_hsName,ChrW(206),"I") ' Replace ÃŽ
								a_hsName = Replace(a_hsName,ChrW(207),"I") ' Replace Ï
								a_hsName = Replace(a_hsName,ChrW(208),"D") ' Replace Ð
								a_hsName = Replace(a_hsName,ChrW(209),"N") ' Replace Ñ
								a_hsName = Replace(a_hsName,ChrW(210),"O") ' Replace Ã’
								a_hsName = Replace(a_hsName,ChrW(211),"O") ' Replace Ó
								a_hsName = Replace(a_hsName,ChrW(212),"O") ' Replace Ô
								a_hsName = Replace(a_hsName,ChrW(213),"O") ' Replace Õ
								a_hsName = Replace(a_hsName,ChrW(214),"O") ' Replace Ö
								a_hsName = Replace(a_hsName,ChrW(216),"O") ' Replace Ø
								a_hsName = Replace(a_hsName,ChrW(217),"U") ' Replace Ù
								a_hsName = Replace(a_hsName,ChrW(218),"U") ' Replace Ú
								a_hsName = Replace(a_hsName,ChrW(219),"U") ' Replace Û
								a_hsName = Replace(a_hsName,ChrW(220),"U") ' Replace Ü
								a_hsName = Replace(a_hsName,ChrW(221),"Y") ' Replace Ý
								a_hsName = Replace(a_hsName,ChrW(352),"S") ' Replace Å 
								a_hsName = Replace(a_hsName,ChrW(381),"Z") ' Replace Ž
								a_hsName = Replace(a_hsName,ChrW(321),"L") ' Replace Ł
								a_hsName = Replace(a_hsName,ChrW(272),"D") ' Replace Ð
								a_hsName = Replace(a_hsName,".","")
								a_hsName = a_hsName & "_960.png"
							else
								xx = "xx"
							end if
							
							if cv_LTab = "NBA" then
								Call m_leagueHeadshot(a_fnTeam,a_fnSearch,nv_path,nv_fnList,a_fnLeague,a_LoopPosition,a_hsName)
								TrioCmdUTF8("page:set_property " & v_HSTab & " " & nv_path)
							else
								TrioCmdUTF8("page:set_property " & v_HSTab & " E:\EDRIVE\" & a_globalLeagueSet & "\HEADSHOTS\" & cv_LTab & "\" & a_hsName)
							end if
						end if
						
						TrioCmd("page:set_property " & v_FNTab & " " & s_plyrName(0))
						TrioCmd("page:set_property " & v_LNTab & " " & s_plyrName(1))
						
						if v_PBsvNumber >= 1019800 And v_PBsvNumber <= 1019896 then
							Call m_lgdHeadshot(a_fnTeam,a_fnSearch,nv_path,nv_fnList,a_fnLeague,a_LoopPosition)
						elseif v_PBsvNumber >= 2019800 And v_PBsvNumber <= 2019896 then
							Call m_lgdHeadshot(a_fnTeam,a_fnSearch,nv_path,nv_fnList,a_fnLeague,a_LoopPosition)
						elseif v_PBsvNumber >= 3000300 And v_PBsvNumber <= 3000344 then
							Call m_lgdHeadshot(a_fnTeam,a_fnSearch,nv_path,nv_fnList,a_fnLeague,a_LoopPosition)
						elseif v_PBsvNumber >= 3000400 And v_PBsvNumber <= 3000499 then
							TrioCmd("page:set_property " & v_PLTab & " " & "2")
						elseif v_PBsvNumber >= 1000060 And v_PBsvNumber <= 1009967 then
							Call m_ColumnSpread()
						elseif v_PBsvNumber >= 2000060 And v_PBsvNumber <= 2009967 then
							Call m_ColumnSpread()
						else
							xx = "xx"
						end if
					Next
					'msgbox a_hsName
					Call m_SameTeam(a_Rows,a_LogoTabs,a_PlyrLogoTabs,a_LeagueLogo,a_runSameTeam)
					TrioCmd("trio:sleep 50")
					TrioCmd("page:save")
				Case "FS_CalendarFull","FS_Calendar3Week","FS_Calendar","L3_Calendar"
					TrioCmd("trio:sleep 50")
					a_globalLeagueSet = TrioCmd("page:get_property A0100")
					Call m_Scene(a_LogoTabs,a_FNameTabs,a_LNameTabs,a_HSTabs,a_JerTabs,a_PosTabs,a_PlyrLogoTabs,v_Rows,a_RowsX,a_RowVer,a_TeamNaming,a_LeagueLogo,a_Single,a_runSameTeam,a_slabThinWide,a_ScriptLogNumber)
					Call m_Rows(a_Rows,a_RowVer)
					
					For i = 1 to a_Rows
						a_LoopPosition = i
						v_LTab = a_LogoTabs(i)
						v_FNTab = a_FNameTabs(i)
						v_HSTab = a_HSTabs(i)
						
						cv_FNTab = TrioCmd("page:get_property " & v_FNTab)
						if cv_FNTab = "" then
							TrioCmd("page:set_property " & v_HSTab & " " & "0")
						elseif cv_FNTab = " " then
							TrioCmd("page:set_property " & v_HSTab & " " & "0")
						elseif InStr(cv_FNTab, "@") > 0 then
							TrioCmd("page:set_property " & v_HSTab & " " & "2")
							nv_Logo = Replace(cv_FNTab, "@", "")
							TrioCmd("page:set_property " & v_LTab & " " & "IMAGE*_TeamElements/Logos/" & a_globalLeagueSet & "/2D/" & nv_Logo)
						else
							TrioCmd("page:set_property " & v_HSTab & " " & "1")
							TrioCmd("page:set_property " & v_LTab & " " & "IMAGE*_TeamElements/Logos/" & a_globalLeagueSet & "/2D/" & cv_FNTab)
						end if
					Next
					
					Call m_SameTeam(a_Rows,a_LogoTabs,a_PlyrLogoTabs,a_LeagueLogo,a_runSameTeam)
					
					if Name = "FS_Calendar" then
						v_TeamLogo = TrioCmd("page:get_property B0000")
						TrioCmd("page:set_property A1000 " & v_TeamLogo)
						v_SubTitle = TrioCmd("page:get_property B0210")
						'nv_SubTitle = Replace(v_SubTitle, " ", "")
						nv_SubTitle = UCase(v_SubTitle)
						TrioCmd("page:set_property B0210 " & nv_SubTitle)
						a_nameText = array("X","H0117","H0127","H0137","H0147","H0157","H0167","H0177","H0217","H0227","H0237","H0247","H0257","H0267","H0277")
						For z = 1 to UBound(a_nameText)
							TrioCmd("page:set_property " & a_nameText(z) & " " & "")
						Next
					else
						v_SubTitle = TrioCmd("page:get_property B0210")
						'nv_SubTitle = Replace(v_SubTitle, " ", "")
						nv_SubTitle = UCase(v_SubTitle)
						TrioCmd("page:set_property B0210 " & nv_SubTitle)
					end if
					
					TrioCmd("trio:sleep 50")
					TrioCmd("page:save")
					TrioCmd("trio:sleep 100")
					TrioCmd("page:read " & pName)
					TrioCmd("trio:sleep 50")
					TrioCmd("page:save")
				Case "SL_LeagueStat"
					v_FootnoteChk = TrioCmd("page:get_property Z0900")
					if v_FootnoteChk = "" then
						TrioCmd("page:set_property Z0900 " & "")
					elseif v_FootnoteChk = " " then
						TrioCmd("page:set_property Z0900 " & "")
					end if
				Case Else
					Tacos = "GOOD"
			End Select
		end if
	Else
		'' Text file doesn't exist, so send an error message to Trio
		TrioCmd("gui:error_message Playbook Data Does Not Exist for Page " & page )
	End If	
end if 

'' Wait for 1/2 a second to allow Trio time to complete it's work
TrioCmd("trio:sleep 500")

'' Set Trio cursor on the next page
ppage = TrioCmd("page:getpagename")
ppage = page
a_pagePlusone = ppage
TrioCmd("show:set_variable page_plusone " & a_pagePlusone)
If sRecall = "YES" then
	TrioCmd("page:read " & pageArray(1))
Else
	tacos = "good"
End If
'TrioCmd("gui:select_nextpage")

'--------------------FUNCTIONS---------------------

'--------SCENE TABFIELD ARRAYS & SETUP INFO--------
Function m_Scene(a_LogoTabs,a_FNameTabs,a_LNameTabs,a_HSTabs,a_JerTabs,a_PosTabs,a_PlyrLogoTabs,v_Rows,a_RowsX,a_RowVer,a_TeamNaming,a_LeagueLogo,a_Single,a_runSameTeam,a_slabThinWide,a_ScriptLogNumber)
	a_ScriptLogNumber = "0"
	Select Case Name
		Case "FS_5HdStat"
			a_LogoTabs = array("X","B0000","B0001","B0002","B0003","B0004")
			a_FNameTabs = array("X","H0010","I0010","J0010","K0010","L0010")
			a_LNameTabs = array("X","H0011","I0011","J0011","K0011","L0011")
			a_HSTabs = array("X","H0021","I0021","J0021","K0021","L0021")
			a_JerTabs = array("X","H00XX","H00XX","H00XX","H00XX","H00XX")
			a_PosTabs = array("X","H00XX","H00XX","H00XX","H00XX","H00XX")
			a_PlyrLogoTabs = array("X","H0098","I0098","J0098","K0098","L0098")
			v_Rows = "CXXXX "
			a_TeamNaming = "4"  '-> 1 = Market  2 = Nickname  3 = Market & Nickname  4 = Market+Nickname  5 = Initial Name
			a_LeagueLogo = "NO"
			a_Single = "NO"
			a_runSameTeam = "YES"
			a_slabThinWide = "A051X "
		Case "FS_CalendarFull","FS_Calendar3Week"
			a_LogoTabs = array("X","H0113","H0123","H0133","H0143","H0153","H0163","H0173","I0113","I0123","I0133","I0143","I0153","I0163","I0173","J0113","J0123","J0133","J0143","J0153","J0163","J0173","K0113","K0123","K0133","K0143","K0153","K0163","K0173")
			a_FNameTabs = array("X","H0117","H0127","H0137","H0147","H0157","H0167","H0177","I0117","I0127","I0137","I0147","I0157","I0167","I0177","J0117","J0127","J0137","J0147","J0157","J0167","J0177","K0117","K0127","K0137","K0147","K0157","K0167","K0177")
			a_HSTabs = array("X","H0111","H0121","H0131","H0141","H0151","H0161","H0171","I0111","I0121","I0131","I0141","I0151","I0161","I0171","J0111","J0121","J0131","J0141","J0151","J0161","J0171","K0111","K0121","K0131","K0141","K0151","K0161","K0171")
			a_runSameTeam = "NO"
		Case "FS_Calendar"
			a_LogoTabs = array("X","H0113","H0123","H0133","H0143","H0153","H0163","H0173","H0213","H0223","H0233","H0243","H0253","H0263","H0273")
			a_FNameTabs = array("X","H0117","H0127","H0137","H0147","H0157","H0167","H0177","H0217","H0227","H0237","H0247","H0257","H0267","H0277")
			a_HSTabs = array("X","H0111","H0121","H0131","H0141","H0151","H0161","H0171","H0211","H0221","H0231","H0241","H0251","H0261","H0271")
			a_runSameTeam = "NO"
		Case "L3_Calendar"
			a_LogoTabs = array("X","H0113","H0123","H0133","H0143","H0153","H0163","H0173","H0213","H0223","H0233","H0243","H0253","H0263","H0273")
			a_FNameTabs = array("X","H0116","H0126","H0136","H0146","H0156","H0166","H0176","H0216","H0226","H0236","H0246","H0256","H0266","H0276")
			a_HSTabs = array("X","H0111","H0121","H0131","H0141","H0151","H0161","H0171","H0211","H0221","H0231","H0241","H0251","H0261","H0271")
			a_runSameTeam = "NO"
		Case "FS"
			XX = "XX"
		Case Else
			a_Date = Date
			v_Date = Replace(a_Date, "/", "-")
			a_ScriptLogNumber = "1"
			'Call m_JordanScriptLog(v_Date,a_ScriptLogNumber,sVersion)
	End Select
End Function

'--------PARSE NUMBER OF PLAYER/TEAMS/ROWS TO EXECUTE--------
Function m_Rows(a_Rows,a_RowVer)
	Select Case Name
		Case "L3_Bio","L3_PlyrNote","L3_PlyrStat","L3_TeamPlyrNotes","L3_TeamPlyrStat","L3_TmPlyrStatLine","L3_GenTxt3Line","L3_GenTxt","L3_PitchCount","L3_Plyr0Fer","L3_Plyr0Fer_AVG","FS_PlyrNote","FS_PlyrNote_MLB","FS_PlyrStat_VerSpon","FS_PlyrNote_HorSpon","FS_SprayChart","FS_PlyrStat","SL_PlyrStats","SL_PlyrStats10","NU_PlayerName","NU_PlyrSnglStat","NU_MilestoneNum","SL_GenTxt","WG_GenTxt","WGM_GenTxt_Matrox","WG_PlyrStats","WGM_PlyrStats_Matrox","M1_Stat","MO_Stat","M1_PlyrTeamNotes","MO_PlyrTeamNotes","M1_PlyrTeamNotes2","MO_PlyrTeamNotes2","INT_PlayerUni","RO_Stat","RO_PlyrTeamNotes","RO_PlyrTeamNotes2","CG_Ticker_PlayerStats","CG_Ticker_TeamStats"
			a_Rows = CInt(1)
		Case "FS_PlyrComp","FS_CompScore","FS_PlyrCompScore","FS_PlyrComp_VerSpon","FS_PlyrComp_HorSpon","FS_2HeadComp","FS_2TeamNotes","FS_2HdNotes","FS_PlyrCompRank","FS_2HdCatLeft","FS_StrtGoalNHL","FS_StrtGoalComp","L3_ComingUp","L3_SplitScreen","L3_PlyrSplit","TB_Main","L3_Score","NU_ScoreNBA","NU_ScoreNHL","L3_TitleCard","L3_TitleCard_NCAA","L3_TitleRejoin","FS_ScoreNBA","FS_ScoreNHL","SL_PlyrComparison","SL_PlyrComparisonRank","SL_TeamCompNotes","M1_TeamCompare","MO_TeamCompare","RO_TeamCompare","WG_PlyrComparison","WGM_PlyrComparison_Matrox","F1_PromoSngl","FS_PromoSngl","MON_BAM_Team","FS_Double_Team_SubstitutionsMLS","CG_Ticker_TeamComp"
			a_Rows = CInt(2)
		Case "FS_3HdStat","FS_3HdCatLeft","FS_3HdNotes"
			a_Rows = CInt(3)
		Case "FS_4HdStat","FS_4HdCatLeft","FS_PlyrCompDouble","FS_4HdNotes","L3_GameSummMLB"
			a_Rows = CInt(4)
		Case "FS_5HdStat","FS_5HdCatLeft","FS_Strt5NBA","FS_5HdNotes"
			a_Rows = CInt(5)
		Case "FS_6HdStat","FS_PlyrCompTriple","FS_DefPairNHL","FS_GmSummMLB"
			a_Rows = CInt(6)
		Case "FS_FwdLnsNHL"
			a_Rows = CInt(12)
		Case "FS_CalendarFull"
			a_Rows = CInt(28)
		Case "FS_Calendar3Week"
			a_Rows = CInt(21)
		Case "FS_Calendar"
			a_Rows = CInt(14)
		Case "L3_Calendar"
			a_Rows = CInt(7)
		Case "FS_ScoreMultiNBA"
			a_Rows = CInt(a_RowVer)
		Case "FS_PlayoffSmall_NHL"
			a_Rows = CInt(a_RowVer)
		Case "SL_SplitStandings","FS_DepthChart_NHL"
			a_Rows = CInt(a_RowsX)
		Case "FS_10HdStat"
			v_RowCountA = TrioCmd("page:get_property A0000")
			v_RowCountB = TrioCmd("page:get_property A0001")
			if v_RowCountA = "1" AND v_RowCountB = "1" then
				a_Rows = CInt(6)
			elseif v_RowCountA = "1" AND v_RowCountB = "2" then
				a_Rows = CInt(7)
			elseif v_RowCountA = "2" AND v_RowCountB = "2" then
				a_Rows = CInt(8)
			elseif v_RowCountA = "2" AND v_RowCountB = "3" then
				a_Rows = CInt(9)
			elseif v_RowCountA = "3" AND v_RowCountB = "3" then
				a_Rows = CInt(10)
			end if
		Case Else
			Tacos = "GOOD"
	End Select
	'MsgBox "a_Rows = (" & a_Rows & ")   a_RowsX = (" & a_RowsX & ")   a_RowVer = (" & a_RowVer & ")"
End Function

'--------PARSE NAMES & HS PATHS--------
Function m_lgdHeadshot(a_fnTeam,a_fnSearch,nv_path,nv_fnList,a_fnLeague,a_LoopPosition)	
	'on error resume next

	' ***** Establishes League *******
	
	cv_league = TrioCmd("page:get_property A0100")

		if cv_league = "" then
			a_fnLeague = cv_league
			TrioCmd("page:set_property A0100 " & UCase(a_fnLeague))
		else
			a_fnLeague = cv_league
		end if

	' ***** Asks What Team & Player for Headshot Selection *****
	a_fnTeam = "LGD"	
	a_fnTeam = UCase(a_fnTeam)
	
	Select Case a_fnTeam
		Case ""
			Exit Function
		Case Else
			s_lgdName = split(cv_FNTab, " ")
			a_fnSearch = s_lgdName(1) & "_" & left(s_lgdName(0), 2)
				'***** Attempts to Find Closest Match & Path Headshot ******

				Set fso = CreateObject("Scripting.FileSystemObject")
				Set fldr = fso.GetFolder("E:\EDRIVE\" & UCase(a_fnLeague) & "\HEADSHOTS\" & UCase(a_fnTeam) & "\")
				Set flcoll = fldr.Files	
				nv_path = "E:\EDRIVE\" & UCase(a_fnLeague) & "\HEADSHOTS\" & UCase(a_fnTeam) & "\"

				For Each f in flcoll
					If InStr(UCase(f.Name), UCase(a_fnSearch)) > 0 Then
						nv_fnList = f.Name
					End If
				Next
				
				if InStr(UCase(nv_fnList), UCase(a_fnSearch)) > 0 then
					nv_path = nv_path
					nv_fnList = nv_fnList
				else
					nv_path = "IMAGE*_TeamElements/Headshots/"
					nv_fnList = "Placeholder_MLB_Headshot"
				end if

				TrioCmd("page:set_property " & v_HSTab & " " & nv_path & nv_fnList)
	End Select
End Function

'--------PARSE NAMES & HS PATHS--------
Function m_leagueHeadshot(a_fnTeam, a_fnSearch, nv_path, nv_fnList, a_fnLeague, a_LoopPosition, a_hsName)
    'on error resume next

    ' ***** Establishes League *******

    cv_league = TrioCmd("page:get_property A0100")

    If cv_league = "" Then
        a_fnLeague = cv_league
        TrioCmd("page:set_property A0100 " & UCase(a_fnLeague))
    Else
        a_fnLeague = cv_league
    End If

    ' ***** Asks What Team & Player for Headshot Selection *****
    a_fnTeam = a_fnLeague    
    a_fnTeam = UCase(a_fnTeam)
	a_hsName = Replace(a_hsName,"Á","A")
	a_hsName = Replace(a_hsName,"É","E")
	a_hsName = Replace(a_hsName,"Í","I")
	a_hsName = Replace(a_hsName,"Ó","O")
	a_hsName = Replace(a_hsName,"Ú","U")
	a_hsName = Replace(a_hsName,"Ñ","N")
	a_hsName = Replace(a_hsName,ChrW(268),"C") ' Replace Č
	a_hsName = Replace(a_hsName,ChrW(262),"C") ' Replace Ć
	a_hsName = Replace(a_hsName,ChrW(350),"S") ' Replace Åž
	a_hsName = Replace(a_hsName,ChrW(220),"U") ' Replace Ü
	a_hsName = Replace(a_hsName,ChrW(192),"A") ' Replace À
	a_hsName = Replace(a_hsName,ChrW(193),"A") ' Replace Á
	a_hsName = Replace(a_hsName,ChrW(194),"A") ' Replace Â
	a_hsName = Replace(a_hsName,ChrW(195),"A") ' Replace Ã
	a_hsName = Replace(a_hsName,ChrW(196),"A") ' Replace Ä
	a_hsName = Replace(a_hsName,ChrW(197),"A") ' Replace Ã…
	a_hsName = Replace(a_hsName,ChrW(198),"AE") ' Replace Æ
	a_hsName = Replace(a_hsName,ChrW(199),"C") ' Replace Ç
	a_hsName = Replace(a_hsName,ChrW(200),"E") ' Replace È
	a_hsName = Replace(a_hsName,ChrW(201),"E") ' Replace É
	a_hsName = Replace(a_hsName,ChrW(202),"E") ' Replace Ê
	a_hsName = Replace(a_hsName,ChrW(203),"E") ' Replace Ë
	a_hsName = Replace(a_hsName,ChrW(204),"I") ' Replace Ì
	a_hsName = Replace(a_hsName,ChrW(205),"I") ' Replace Í
	a_hsName = Replace(a_hsName,ChrW(206),"I") ' Replace ÃŽ
	a_hsName = Replace(a_hsName,ChrW(207),"I") ' Replace Ï
	a_hsName = Replace(a_hsName,ChrW(208),"D") ' Replace Ð
	a_hsName = Replace(a_hsName,ChrW(209),"N") ' Replace Ñ
	a_hsName = Replace(a_hsName,ChrW(210),"O") ' Replace Ã’
	a_hsName = Replace(a_hsName,ChrW(211),"O") ' Replace Ó
	a_hsName = Replace(a_hsName,ChrW(212),"O") ' Replace Ô
	a_hsName = Replace(a_hsName,ChrW(213),"O") ' Replace Õ
	a_hsName = Replace(a_hsName,ChrW(214),"O") ' Replace Ö
	a_hsName = Replace(a_hsName,ChrW(216),"O") ' Replace Ø
	a_hsName = Replace(a_hsName,ChrW(217),"U") ' Replace Ù
	a_hsName = Replace(a_hsName,ChrW(218),"U") ' Replace Ú
	a_hsName = Replace(a_hsName,ChrW(219),"U") ' Replace Û
	a_hsName = Replace(a_hsName,ChrW(220),"U") ' Replace Ü
	a_hsName = Replace(a_hsName,ChrW(221),"Y") ' Replace Ý
	a_hsName = Replace(a_hsName,ChrW(352),"S") ' Replace Å 
	a_hsName = Replace(a_hsName,ChrW(381),"Z") ' Replace Ž
	a_hsName = Replace(a_hsName,ChrW(321),"L") ' Replace Ł
	a_hsName = Replace(a_hsName,ChrW(272),"D") ' Replace Ð
	a_hsName = Replace(a_hsName,".","")
	a_hsName = Replace(a_hsName,"png","")
	a_hsName = Replace(a_hsName,"_960","")
	a_hsName = Replace(a_hsName,a_fnLeague & "_","")
	
    Select Case a_fnTeam
        Case ""
            Exit Function
        Case Else
            a_fnSearch = a_hsName
            'msgbox a_fnSearch
            '***** Attempts to Find Closest Match & Path Headshot ******
            Set fso = CreateObject("Scripting.FileSystemObject")
            nv_path = ""
            nv_fnList = ""

            ' Start searching from the top folder
            Set fldr = fso.GetFolder("E:\EDRIVE\NBA\HEADSHOTS\")
            Call RecursiveSearch(fldr)

            ' If no file was found, use default placeholder
            If nv_path = "" Then
                nv_path = "IMAGE*_TeamElements/Headshots/"
                nv_fnList = "Placeholder_MLB_Headshot"
            End If
    End Select
End Function

' Define a recursive function within the loop to handle files and subfolders
Function RecursiveSearch(fldr)
	Dim f, subfldr
	' Loop through each file in the current folder
	For Each f In fldr.Files
		If InStr(UCase(f.Name), UCase(a_fnSearch)) > 0 Then
			nv_path = f.Path ' Full path of the matching file
			nv_fnList = f.Name ' File name of the matching file
			Exit Function ' Exit once a match is found
		End If
	Next

	' Recursively search in subfolders
	For Each subfldr In fldr.SubFolders
		RecursiveSearch subfldr
		If nv_path <> "" Then Exit Function ' Exit if a match is already found
	Next
End Function

'--------ROW ARRAY FINDER SPECIALTY--------
Function m_RowArrayFinder(a_RowsX)
	Select Case Name
		Case "SL_SplitStandings"
			cv_RowCountA = TrioCmd("page:get_property C0000")
			cv_RowCountB = TrioCmd("page:get_property C0001")
			if cv_RowCountA = "2" AND cv_RowCountB = "1" then
				a_RowVer = "A"
				a_RowsX = CInt(3)
			elseif cv_RowCountA = "2" AND cv_RowCountB = "2" then
				a_RowVer = "A"
				a_RowsX = CInt(4)
			elseif cv_RowCountA = "2" AND cv_RowCountB = "3" then
				a_RowVer = "A"
				a_RowsX = CInt(5)
			elseif cv_RowCountA = "2" AND cv_RowCountB = "4" then
				a_RowVer = "A"
				a_RowsX = CInt(6)
			elseif cv_RowCountA = "2" AND cv_RowCountB = "5" then
				a_RowVer = "A"
				a_RowsX = CInt(7)
			elseif cv_RowCountA = "2" AND cv_RowCountB = "6" then
				a_RowVer = "A"
				a_RowsX = CInt(8)
			elseif cv_RowCountA = "2" AND cv_RowCountB = "7" then
				a_RowVer = "A"
				a_RowsX = CInt(9)
			elseif cv_RowCountA = "3" AND cv_RowCountB = "1" then
				a_RowVer = "B"
				a_RowsX = CInt(4)
			elseif cv_RowCountA = "3" AND cv_RowCountB = "2" then
				a_RowVer = "B"
				a_RowsX = CInt(5)
			elseif cv_RowCountA = "3" AND cv_RowCountB = "3" then
				a_RowVer = "B"
				a_RowsX = CInt(6)
			elseif cv_RowCountA = "3" AND cv_RowCountB = "4" then
				a_RowVer = "B"
				a_RowsX = CInt(7)
			elseif cv_RowCountA = "3" AND cv_RowCountB = "5" then
				a_RowVer = "B"
				a_RowsX = CInt(8)
			elseif cv_RowCountA = "3" AND cv_RowCountB = "6" then
				a_RowVer = "B"
				a_RowsX = CInt(9)
			elseif cv_RowCountA = "3" AND cv_RowCountB = "7" then
				a_RowVer = "B"
				a_RowsX = CInt(10)
			elseif cv_RowCountA = "4" AND cv_RowCountB = "1" then
				a_RowVer = "C"
				a_RowsX = CInt(5)
			elseif cv_RowCountA = "4" AND cv_RowCountB = "2" then
				a_RowVer = "C"
				a_RowsX = CInt(6)
			elseif cv_RowCountA = "4" AND cv_RowCountB = "3" then
				a_RowVer = "C"
				a_RowsX = CInt(7)
			elseif cv_RowCountA = "4" AND cv_RowCountB = "4" then
				a_RowVer = "C"
				a_RowsX = CInt(8)
			elseif cv_RowCountA = "4" AND cv_RowCountB = "5" then
				a_RowVer = "C"
				a_RowsX = CInt(9)
			elseif cv_RowCountA = "4" AND cv_RowCountB = "6" then
				a_RowVer = "C"
				a_RowsX = CInt(10)
			elseif cv_RowCountA = "4" AND cv_RowCountB = "7" then
				a_RowVer = "C"
				a_RowsX = CInt(11)
			elseif cv_RowCountA = "5" AND cv_RowCountB = "1" then
				a_RowVer = "D"
				a_RowsX = CInt(6)
			elseif cv_RowCountA = "5" AND cv_RowCountB = "2" then
				a_RowVer = "D"
				a_RowsX = CInt(7)
			elseif cv_RowCountA = "5" AND cv_RowCountB = "3" then
				a_RowVer = "D"
				a_RowsX = CInt(8)
			elseif cv_RowCountA = "5" AND cv_RowCountB = "4" then
				a_RowVer = "D"
				a_RowsX = CInt(9)
			elseif cv_RowCountA = "5" AND cv_RowCountB = "5" then
				a_RowVer = "D"
				a_RowsX = CInt(10)
			elseif cv_RowCountA = "5" AND cv_RowCountB = "6" then
				a_RowVer = "D"
				a_RowsX = CInt(11)
			elseif cv_RowCountA = "5" AND cv_RowCountB = "7" then
				a_RowVer = "D"
				a_RowsX = CInt(12)
			end if
		Case "FS_DepthChart_NHL"
			cv_RowCountA = TrioCmd("page:get_property H0090")
			cv_RowCountB = TrioCmd("page:get_property I0090")
			cv_RowCountC = TrioCmd("page:get_property J0090")
			cv_RowCountD = TrioCmd("page:get_property K0090")
			cv_RowCountE = TrioCmd("page:get_property L0090")
			if cv_RowCountA = "3" AND cv_RowCountB = "3" AND cv_RowCountC = "3"	AND cv_RowCountD = "2" AND cv_RowCountE = "2" then
				a_RowVer = "A"
				a_RowsX = CInt(13)
			elseif cv_RowCountA = "4" AND cv_RowCountB = "4" AND cv_RowCountC = "4"	AND cv_RowCountD = "3" AND cv_RowCountE = "3" then
				a_RowVer = "B"
				a_RowsX = CInt(18)
			end if
		Case Else
			Tacos = "GOOD"
	End Select
End Function

'--------TEAM TRICODE & UCASE NICKNAME--------
Function m_TeamTri()
	v_League = TrioCmd("page:get_property A0100")
	if v_League = "" then
		i_League = inputbox("Tabfield (A0100) League is empty" & vbCrlf & vbCrlf & "Enter League:" & vbCrlf & "Example:   NHL","F5 PLAYER/TEAM PLUGIN - LEAGUE",v_LeagueSelect)
		TrioCmd("page:set_property A0100 " & UCase(i_League))
	else
		v_League = TrioCmd("page:get_property A0100")
	end if
	
	cv_Tricode = UCase(cv_LNTab)
	
	if v_League = "MLB" then	
		Select Case cv_Tricode
			Case "DIAMONDBACKS"
				nv_Market = "ARI"
				nv_Nickname = "DIAMONDBACKS"
			Case "BRAVES"
				nv_Market = "ATL"
				nv_Nickname = "BRAVES"
			Case "ORIOLES"
				nv_Market = "BAL"
				nv_Nickname = "ORIOLES"
			Case "RED SOX"
				nv_Market = "BOS"
				nv_Nickname = "RED SOX"
			Case "CUBS"
				nv_Market = "CHC"
				nv_Nickname = "CUBS"
			Case "WHITE SOX"
				nv_Market = "CHW"
				nv_Nickname = "WHITE SOX"
			Case "REDS"
				nv_Market = "CIN"
				nv_Nickname = "REDS"	
			Case "GUARDIANS"
				nv_Market = "CLE"
				nv_Nickname = "GUARDIANS"	
			Case "ROCKIES"
				nv_Market = "COL"
				nv_Nickname = "ROCKIES"
			Case "TIGERS"
				nv_Market = "DET"
				nv_Nickname = "TIGERS"
			Case "ASTROS"
				nv_Market = "HOU"
				nv_Nickname = "ASTROS"
			Case "ROYALS"
				nv_Market = "KC"
				nv_Nickname = "ROYALS"
			Case "ANGELS"
				nv_Market = "LAA"
				nv_Nickname = "ANGELS"
			Case "DODGERS"
				nv_Market = "LAD"
				nv_Nickname = "DODGERS"
			Case "MARLINS"
				nv_Market = "MIA"
				nv_Nickname = "MARLINS"
			Case "BREWERS"
				nv_Market = "MIL"
				nv_Nickname = "BREWERS"
			Case "TWINS"
				nv_Market = "MIN"
				nv_Nickname = "TWINS"
			Case "METS"
				nv_Market = "NYM"
				nv_Nickname = "METS"	
			Case "YANKEES"
				nv_Market = "NYY"
				nv_Nickname = "YANKEES"
			Case "ATHLETICS"
				nv_Market = "OAK"
				nv_Nickname = "ATHLETICS"
			Case "PHILLIES"
				nv_Market = "PHI"
				nv_Nickname = "PHILLIES"
			Case "PIRATES"
				nv_Market = "PIT"
				nv_Nickname = "PIRATES"
			Case "PADRES"
				nv_Market = "SD"
				nv_Nickname = "PADRES"
			Case "MARINERS"
				nv_Market = "SEA"
				nv_Nickname = "MARINERS"
			Case "GIANTS"
				nv_Market = "SF"
				nv_Nickname = "GIANTS"
			Case "CARDINALS"
				nv_Market = "STL"
				nv_Nickname = "CARDINALS"
			Case "RAYS"
				nv_Market = "TB"
				nv_Nickname = "RAYS"
			Case "RANGERS"
				nv_Market = "TEX"
				nv_Nickname = "RANGERS"
			Case "BLUE JAYS"
				nv_Market = "TOR"
				nv_Nickname = "BLUE JAYS"
			Case "NATIONALS"
				nv_Market = "WSH"
				nv_Nickname = "NATIONALS"
			Case Else
				nv_Market = ""
				nv_Nickname = ""
		End Select
	elseif v_League = "NBA" then	
		Select Case cv_Tricode
			Case "ATL"
				nv_Market = "ATLANTA"
				nv_Nickname = "HAWKS"
			Case "BOS"
				nv_Market = "BOSTON"
				nv_Nickname = "CELTICS"
			Case "BKN"
				nv_Market = "BROOKLYN"
				nv_Nickname = "NETS"
			Case "CHA"
				nv_Market = "CHARLOTTE"
				nv_Nickname = "HORNETS"
			Case "CHI"
				nv_Market = "CHICAGO"
				nv_Nickname = "BULLS"
			Case "CLE"
				nv_Market = "CLEVELAND"
				nv_Nickname = "CAVALIERS"
			Case "DAL"
				nv_Market = "DALLAS"
				nv_Nickname = "MAVERICKS"	
			Case "DEN"
				nv_Market = "DENVER"
				nv_Nickname = "NUGGETS"	
			Case "DET"
				nv_Market = "DETROIT"
				nv_Nickname = "PISTONS"
			Case "GS"
				nv_Market = "GOLDEN STATE"
				nv_Nickname = "WARRIORS"
			Case "HOU"
				nv_Market = "HOUSTON"
				nv_Nickname = "ROCKETS"
			Case "IND"
				nv_Market = "INDIANA"
				nv_Nickname = "PACERS"
			Case "LAC"
				nv_Market = "LOS ANGELES"
				nv_Nickname = "CLIPPERS"
			Case "LAL"
				nv_Market = "LOS ANGELES"
				nv_Nickname = "LAKERS"
			Case "MEM"
				nv_Market = "MEMPHIS"
				nv_Nickname = "GRIZZLIES"
			Case "MIA"
				nv_Market = "MIAMI"
				nv_Nickname = "HEAT"
			Case "MIL"
				nv_Market = "MILWAUKEE"
				nv_Nickname = "BUCKS"
			Case "MIN"
				nv_Market = "MINNESOTA"
				nv_Nickname = "TIMBERWOLVES"	
			Case "NO"
				nv_Market = "NEW ORLEANS"
				nv_Nickname = "PELICANS"
			Case "NY"
				nv_Market = "NEW YORK"
				nv_Nickname = "KNICKS"
			Case "ORL"
				nv_Market = "ORLANDO"
				nv_Nickname = "MAGIC"
			Case "PHI"
				nv_Market = "PHILADELPHIA"
				nv_Nickname = "76ers"
			Case "PHX"
				nv_Market = "PHOENIX"
				nv_Nickname = "SUNS"
			Case "POR"
				nv_Market = "PORTLAND"
				nv_Nickname = "TRAIL BLAZERS"
			Case "SAC"
				nv_Market = "SACRAMENTO"
				nv_Nickname = "KINGS"
			Case "SA"
				nv_Market = "SAN ANTONIO"
				nv_Nickname = "SPURS"
			Case "OKC"
				nv_Market = "OKLAHOMA CITY"
				nv_Nickname = "THUNDER"
			Case "TOR"
				nv_Market = "TORONTO"
				nv_Nickname = "RAPTORS"
			Case "UTAH","UTA"
				nv_Market = "UTAH"
				nv_Nickname = "JAZZ"
			Case "WSH","WAS"
				nv_Market = "WASHINGTON"
				nv_Nickname = "WIZARDS"
			Case Else
				'nv_Market = ""
				'nv_Nickname = ""
		End Select
	elseif v_League = "NHL" then	
		Select Case cv_Tricode
			Case "ANA"
				nv_Market = "ANAHEIM"
				nv_Nickname = "DUCKS"
			Case "ARI"
				nv_Market = "ARIZONA"
				nv_Nickname = "COYOTES"
			Case "BOS"
				nv_Market = "BOSTON"
				nv_Nickname = "BRUINS"
			Case "BUF"
				nv_Market = "BUFFALO"
				nv_Nickname = "SABRES"
			Case "CGY"
				nv_Market = "CALGARY"
				nv_Nickname = "FLAMES"
			Case "CAR"
				nv_Market = "CAROLINA"
				nv_Nickname = "HURRICANES"
			Case "CHI"
				nv_Market = "CHICAGO"
				nv_Nickname = "BLACKHAWKS"	
			Case "COL"
				nv_Market = "COLORADO"
				nv_Nickname = "AVALANCHE"	
			Case "CBJ"
				nv_Market = "COLUMBUS"
				nv_Nickname = "BLUE JACKETS"
			Case "DAL"
				nv_Market = "DALLAS"
				nv_Nickname = "STARS"
			Case "DET"
				nv_Market = "DETROIT"
				nv_Nickname = "RED WINGS"
			Case "EDM"
				nv_Market = "EDMONTON"
				nv_Nickname = "OILERS"
			Case "FLA"
				nv_Market = "FLORIDA"
				nv_Nickname = "PANTHERS"
			Case "LA"
				nv_Market = "LOS ANGELES"
				nv_Nickname = "KINGS"
			Case "MIN"
				nv_Market = "MINNESOTA"
				nv_Nickname = "WILD"
			Case "MTL"
				nv_Market = "MONTREAL"
				nv_Nickname = "CANADIENS"
			Case "NSH"
				nv_Market = "NASHVILLE"
				nv_Nickname = "PREDATORS"
			Case "NJ"
				nv_Market = "NEW JERSEY"
				nv_Nickname = "DEVILS"	
			Case "NYI"
				nv_Market = "NEW YORK"
				nv_Nickname = "ISLANDERS"
			Case "NYR"
				nv_Market = "NEW YORK"
				nv_Nickname = "RANGERS"
			Case "OTT"
				nv_Market = "OTTAWA"
				nv_Nickname = "SENATORS"
			Case "PHI"
				nv_Market = "PHILADELPHIA"
				nv_Nickname = "FLYERS"
			Case "PIT"
				nv_Market = "PITTSBURGH"
				nv_Nickname = "PENGUINS"
			Case "SJ"
				nv_Market = "SAN JOSE"
				nv_Nickname = "SHARKS"
			Case "SEA"
				nv_Market = "SEATTLE"
				nv_Nickname = "KRAKEN"
			Case "STL"
				nv_Market = "ST. LOUIS"
				nv_Nickname = "BLUES"
			Case "TB"
				nv_Market = "TAMPA BAY"
				nv_Nickname = "LIGHTNING"
			Case "TOR"
				nv_Market = "TORONTO"
				nv_Nickname = "MAPLE LEAFS"
			Case "VGK"
				nv_Market = "VEGAS"
				nv_Nickname = "GOLDEN KNIGHTS"
			Case "VAN"
				nv_Market = "VANCOUVER"
				nv_Nickname = "CANUCKS"
			Case "WSH"
				nv_Market = "WASHINGTON"
				nv_Nickname = "CAPITALS"
			Case "WPG"
				nv_Market = "WINNIPEG"
				nv_Nickname = "JETS"	
			Case Else
				'nv_Market = ""
				'nv_Nickname = ""
		End Select
	elseif v_League = "NFL" then	
		Select Case cv_Tricode
			Case "ARI"
				nv_Market = "ARIZONA"
				nv_Nickname = "CARDINALS"
			Case "ATL"
				nv_Market = "ATLANTA"
				nv_Nickname = "FALCONS"
			Case "BAL"
				nv_Market = "BALTIMORE"
				nv_Nickname = "RAVENS"
			Case "BUF"
				nv_Market = "BUFFALO"
				nv_Nickname = "BILLS"
			Case "CAR"
				nv_Market = "CAROLINA"
				nv_Nickname = "PANTHERS"
			Case "CHI"
				nv_Market = "CHICAGO"
				nv_Nickname = "BEARS"
			Case "CIN"
				nv_Market = "CINCINNATI"
				nv_Nickname = "BENGALS"	
			Case "CLE"
				nv_Market = "CLEVELAND"
				nv_Nickname = "BROWNS"	
			Case "DAL"
				nv_Market = "DALLAS"
				nv_Nickname = "COWBOYS"
			Case "DEN"
				nv_Market = "DENVER"
				nv_Nickname = "BRONCOS"
			Case "DET"
				nv_Market = "DETROIT"
				nv_Nickname = "LIONS"
			Case "GB"
				nv_Market = "GREEN BAY"
				nv_Nickname = "PACKERS"
			Case "HOU"
				nv_Market = "HOUSTON"
				nv_Nickname = "TEXANS"
			Case "IND"
				nv_Market = "INDIANAPOLIS"
				nv_Nickname = "COLTS"
			Case "JAX"
				nv_Market = "JACKSONVILLE"
				nv_Nickname = "JAGUARS"
			Case "KC"
				nv_Market = "KANSAS CITY"
				nv_Nickname = "CHIEFS"
			Case "LV"
				nv_Market = "LAS VEGAS"
				nv_Nickname = "RAIDERS"
			Case "LAC"
				nv_Market = "LOS ANGELES"
				nv_Nickname = "CHARGERS"	
			Case "LAR"
				nv_Market = "LOS ANGELES"
				nv_Nickname = "RAMS"
			Case "MIA"
				nv_Market = "MIAMI"
				nv_Nickname = "DOLPHINS"
			Case "MIN"
				nv_Market = "MINNESOTA"
				nv_Nickname = "VIKINGS"
			Case "NE"
				nv_Market = "NEW ENGLAND"
				nv_Nickname = "PATRIOTS"
			Case "NO"
				nv_Market = "NEW ORLEANS"
				nv_Nickname = "SAINTS"
			Case "NYG"
				nv_Market = "NEW YORK"
				nv_Nickname = "GIANTS"
			Case "NYJ"
				nv_Market = "NEW YORK"
				nv_Nickname = "JETS"
			Case "PHI"
				nv_Market = "PHILADELPHIA"
				nv_Nickname = "EAGLES"
			Case "PIT"
				nv_Market = "PITTSBURGH"
				nv_Nickname = "STEELERS"
			Case "SF"
				nv_Market = "SAN FRANCISCO"
				nv_Nickname = "49ers"
			Case "SEA"
				nv_Market = "SEATTLE"
				nv_Nickname = "SEAHAWKS"
			Case "TB"
				nv_Market = "TAMPA BAY"
				nv_Nickname = "BUCCANEERS"
			Case "TEN"
				nv_Market = "TENNESSEE"
				nv_Nickname = "TITANS"
			Case "WSH"
				nv_Market = "WASHINGTON"
				nv_Nickname = "COMMANDERS"
			Case Else
				'nv_Market = ""
				'nv_Nickname = ""
		End Select
	else
		Exit Function
	end if
	
	if cv_Tricode = nv_Nickname then
		TrioCmd("page:set_property " & v_LTab & " " & nv_Market)
		TrioCmd("page:set_property " & v_LNTab & " " & nv_Nickname)
	elseif InStr(cv_Tricode, " ") > 0 then
		a_hsYesNo = "YES"
		nv_Market = v_League
		cv_LTab = v_League
		a_runSameTeam = "NO"
		TrioCmd("page:set_property " & v_LTab & " " & nv_Market)
	else
		Tacos = "GOOD"
	end if
	
	'TrioCmd("trio:sleep 5")
	'TrioCmd("gui:error_message You Have Run The ----------->   Team F5 Function For " & "- THE " & nv_Market & " " & nv_Nickname)
	'TrioCmd("gui:set_statusbar_color 115 0 200")
End Function

'--------CHECK IF FINISHED SCENE IS MULTI-LOGO OR ALL SAME TEAM--------
Function m_SameTeam(a_Rows,a_LogoTabs,a_PlyrLogoTabs,a_LeagueLogo,a_runSameTeam)
	if a_runSameTeam = "NO" then
		Exit Function
	else
		a_sameCheckRows = CInt(a_Rows) - 1
		z = 1
		for x = 1 to a_sameCheckRows
			z = z + 1
			a_checkLogoOne = TrioCmd("page:get_property " & a_LogoTabs(x))
			a_checkLogoTwo = TrioCmd("page:get_property " & a_LogoTabs(z))
			
			if (a_checkLogoOne <> a_checkLogoTwo) then
				a_sameTeamCheck = "NO"
				Select Case Name
					Case "FS_PlyrComp","FS_PlyrCompRank","FS_PlyrCompScore"
						TrioCmd("page:set_property H0000 " & "1")
					Case Else
						Fish = "GROSS"
				End Select
				Exit for
			else
				a_sameTeamCheck = "YES"
				Select Case Name
					Case "FS_PlyrComp","FS_PlyrCompRank","FS_PlyrCompScore"
						TrioCmd("page:set_property H0000 " & "0")
					Case Else
						Fish = "GROSS"
				End Select
			end if
		next
		if a_sameTeamCheck = "YES" then
			TrioCmd("page:set_property A0004 " & "1")
			if a_LeagueLogo = "YES" then
				TrioCmd("page:set_property B0000 " & a_checkLogoOne)
			else
				TrioCmd("page:set_property A1000 " & a_checkLogoOne)
			end if
			
			for y = 1 to a_Rows
				TrioCmd("page:set_property " & a_PlyrLogoTabs(y) & " " & "1")
			Next			
			TrioCmd("trio:sleep 5")
			TrioCmd("gui:error_message You Have Run The ----------->   Same Team Function since all players are on " & UCase(a_checkLogoOne))
			TrioCmd("gui:set_statusbar_color 115 0 200")
		elseif a_sameTeamCheck = "NO" then
			if InStr(a_tfNames, "A1000") > 0 then
				a_titleCheck = TrioCmd("page:get_property A1000")
			elseif InStr(a_tfNames, "A0100") > 0 then
				a_titleCheck = TrioCmd("page:get_property A0100")
			else
				Watermelon = "SEEDLESS"
			end if
			
			if (a_titleCheck <> a_checkLogoOne) then
				Grapes = "PURPLE"
			else
				TrioCmd("page:set_property A0004 " & "0")
			end if
		end if
	end if
End Function

Function m_ColumnSpread()
	name = TrioCmd("page:getpagetemplate")

	if Name = "L3_TmPlyrStatLine" then
		categoryRows = TrioCmd("page:get_property C0000")
		categoryPos = TrioCmd("page:get_property C0001")
		categoryA = TrioCmd("page:get_property C0010")
		categoryB = TrioCmd("page:get_property C0020")
		categoryC = TrioCmd("page:get_property C0030")
		categoryD = TrioCmd("page:get_property C0040")
		categoryE = TrioCmd("page:get_property C0050")
		rowA = TrioCmd("page:get_property H1100")
		rowB = TrioCmd("page:get_property H1200")
		rowC = TrioCmd("page:get_property H1300")
		rowAlen = Len(rowA)
		rowBlen = Len(rowB)
		rowClen = Len(rowC)
		vCats = "5"
		vCatPos = 40
		vColumnPos = 290
		
		if categoryRows = "3" then
			if (rowAlen > rowBlen) or (rowAlen = rowBlen) then
				rowMax = rowAlen
			else
				rowMax = rowBlen
			end if
			
			if (rowMax > rowClen) or (rowMax = rowClen) then
				rowMax = rowMax
			else
				rowMax = rowClen
			end if
		end if
		
		if categoryRows = "2" then
			if (rowAlen > rowBlen) or (rowAlen = rowBlen) then
				rowMax = rowAlen
			else
				rowMax = rowBlen
			end if
		end if
		
		if categoryRows = "1" then
			rowMax = rowAlen
		end if
		
		if categoryE = "" then
			vCats = "4"
			vCatsPlus = 150
			TrioCmd("page:set_property C0052 0")
			TrioCmd("page:set_property C0042 500")
			TrioCmd("page:set_property C0032 500")
			TrioCmd("page:set_property C0022 500")
			TrioCmd("page:set_property C0012 500")
			if categoryD = "" then
				vCats = "3"
				vCatsPlus = 200
				TrioCmd("page:set_property C0052 0")
				TrioCmd("page:set_property C0042 0")
				TrioCmd("page:set_property C0032 500")
				TrioCmd("page:set_property C0022 500")
				TrioCmd("page:set_property C0012 500")
				if categoryC = "" then
					vCats = "2"
					vCatsPlus = 250
					vColumnPos = 350
					TrioCmd("page:set_property C0052 0")
					TrioCmd("page:set_property C0042 0")
					TrioCmd("page:set_property C0032 0")
					TrioCmd("page:set_property C0022 500")
					TrioCmd("page:set_property C0012 500")
					if categoryB = "" then
						vCats = "1"
						vCatsPlus = 300
						TrioCmd("page:set_property C0052 0")
						TrioCmd("page:set_property C0042 0")
						TrioCmd("page:set_property C0032 0")
						TrioCmd("page:set_property C0022 0")
						TrioCmd("page:set_property C0012 500")
					end if
				end if
			end if
		else
			vCats = "5"
			vColumnPos = 250
			vCatsPlus = 120
			TrioCmd("page:set_property C0052 500")
			TrioCmd("page:set_property C0042 500")
			TrioCmd("page:set_property C0032 500")
			TrioCmd("page:set_property C0022 500")
			TrioCmd("page:set_property C0012 500")
		end if
		
		if vCats = "5" then
			if (rowMax < 12) then
				vColumnPosB = vColumnPos + vCatsPlus
				vColumnPosC = vColumnPosB + vCatsPlus
				vColumnPosD = vColumnPosC + vCatsPlus
				vColumnPosE = vColumnPosD + vCatsPlus
			elseif (rowMax > 11) and (rowMax < 16) then
				vColumnPos = vColumnPos + 50
				vCatsPlus = vCatsPlus - 5
				vCatPos = 30
				vColumnPosB = vColumnPos + vCatsPlus
				vColumnPosC = vColumnPosB + vCatsPlus
				vColumnPosD = vColumnPosC + vCatsPlus
				vColumnPosE = vColumnPosD + vCatsPlus
			elseif (rowMax > 15) and (rowMax < 21) then
				vColumnPos = vColumnPos + 70
				vCatsPlus = vCatsPlus - 10
				vCatPos = 20
				vColumnPosB = vColumnPos + vCatsPlus
				vColumnPosC = vColumnPosB + vCatsPlus
				vColumnPosD = vColumnPosC + vCatsPlus
				vColumnPosE = vColumnPosD + vCatsPlus
			else
				tacos = "good"
			end if
		else
			if (rowMax < 12) then
				vColumnPosB = vColumnPos + vCatsPlus
				vColumnPosC = vColumnPosB + vCatsPlus
				vColumnPosD = vColumnPosC + vCatsPlus
				vColumnPosE = vColumnPosD + vCatsPlus
			elseif (rowMax > 11) and (rowMax < 16) then
				vColumnPos = vColumnPos + 50
				vCatsPlus = vCatsPlus - 20
				vColumnPosB = vColumnPos + vCatsPlus
				vColumnPosC = vColumnPosB + vCatsPlus
				vColumnPosD = vColumnPosC + vCatsPlus
				vColumnPosE = vColumnPosD + vCatsPlus
			elseif (rowMax > 15) and (rowMax < 21) then
				vColumnPos = vColumnPos + 80
				vCatsPlus = vCatsPlus - 25
				vColumnPosB = vColumnPos + vCatsPlus
				vColumnPosC = vColumnPosB + vCatsPlus
				vColumnPosD = vColumnPosC + vCatsPlus
				vColumnPosE = vColumnPosD + vCatsPlus
			else
				tacos = "good"
			end if
		end if
		
		TrioCmd("page:set_property C0001 " & vCatPos)
		TrioCmd("page:set_property C0011 " & vColumnPos)
		TrioCmd("page:set_property C0021 " & vColumnPosB)
		TrioCmd("page:set_property C0031 " & vColumnPosC)
		TrioCmd("page:set_property C0041 " & vColumnPosD)
		TrioCmd("page:set_property C0051 " & vColumnPosE)
	end if
End Function

'--------VTW VERSION CHECK--------
Function m_vtwVersion(v_vtwNumber,v_WPrefresh)
	v_vtwCheck = a_vtwCheck
	Set regEx = New RegExp
	regEx.Pattern = "\d+(\.\d+)?"
	Set matches = regEx.Execute(v_vtwCheck)
	v_vtwNumber = matches(0).Value
	
	if (v_vtwNumber > 4.6) and (v_vtwNumber < 42.00) then
		v_WPrefresh = "YESx"
	elseif (v_vtwNumber > 41.99) then
		v_WPrefresh = "YES"
	else
		v_WPrefresh = "NO"
	end if
End Function