[REBOL [
	Title: "Download Current Versions"
	Version: 1.1.0
]

check-version: func [][
	
	platforms:  [
		[Group System-Name Hardware Status Version File] 
		["Amiga" "Amiga V2.0-3.1" "68020+" Released 2.5.0.1.1 core011.lha] 
		["" "Amiga V2.0-3.1" "68000" Released 2.5.0.1.2 core012.lha] 
		["Apple" "Macintosh" "PPC" Released 2.5.0.2.1 core021.sit.hqx] 
		["" "Macintosh" "68K" Released 2.5.0.2.2 core022.sit.hqx] 
		["" "Macintosh, FAT" "PPC, 68K" Released 2.5.0.2.3 core023.sit.hqx] 
		["" "Macintosh, OSX" "PPC" Released 2.5.6.2.4 core024.tar.gz] 
		["Microsoft" "Windows" "iX86" Released 2.6.2.3.1 core031.zip] 
		["Be" "BeOS R4" "PPC" Released 2.5.0.5.1 core051.tar.gz] 
		["" "BeOS R5" "iX86" Released 2.5.0.5.2 core052.tar.gz] 
		["BSD" "BSDi" "iX86" Released 2.5.0.6.1 core061.tar.gz] 
		["" "Free BSD" "iX86" Released 2.5.0.7.1 core071.tar.gz] 
		["" "NetBSD" "iX86" Released 2.5.0.8.1 core081.tar.gz] 
		["" "NetBSD" "PPC" Released 2.5.0.8.2 core082.tar.gz] 
		["" "NetBSD" "68K" Released 2.5.0.8.3 core083.tar.gz] 
		["" "NetBSD" "DEC Alpha" Released 2.5.0.8.4 core084.tar.gz] 
		["" "NetBSD" "Sparc" Released 2.5.0.8.5 core085.tar.gz] 
		["" "OpenBSD" "iX86" Released 2.5.0.9.1 core091.tar.gz] 
		["" "OpenBSD" "x86-elf" Released 2.6.2.9.2 rebol-core-2602092.tar.gz] 
		["" "OpenBSD" "68K" Released 2.5.0.9.3 core093.tar.gz] 
		["" "OpenBSD" "DEC Alpha" Pending 0.0.0.9.4 core094.tar.gz] 
		["" "OpenBSD" "Sparc" Released 2.5.0.9.5 core095.tar.gz] 
		["HP" "MPE/iX" "HP 3000" Pending 0.0.0.26 core260.tar.gz] 
		["" "HP-UX" "HP" Released 2.5.0.12 core120.tar.gz] 
		["IBM" "AIX" "RS6000" Released 2.5.0.17 core170.tar.gz] 
		["" "OS/2" "iX86" Pending 0.0.0.16 core160.tar.gz] 
		["" "OS/400" "AS400" Pending 0.0.0.18 core180.tar.gz] 
		["Linux" "Linux, Libc5" "iX86" Released 2.5.0.4.1 core041.tar.gz] 
		["" "Linux, Libc6" "iX86" Released 2.6.2.4.2 rebol-core-2602042.tar.gz] 
		["" "Linux" "DEC Alpha" Released 2.5.0.4.3 core043.tar.gz] 
		["" "Linux" "PPC" Released 2.5.0.4.4 core044.tar.gz] 
		["" "Linux" "68K" Released 2.5.0.4.5 core045.tar.gz] 
		["" "Linux" "Sparc" Released 2.5.0.4.6 core046.tar.gz] 
		["" "Linux" "UltraSparc" Released 2.5.0.4.7 core047.tar.gz] 
		["" "Linux Netwinder" "Strong ARM" Released 2.5.0.4.8 core048.tar.gz] 
		["Microsoft" "Windows 95/98/NT" "iX86" Released 2.5.6.3.1 core031.zip] 
		["" "Windows Alpha NT" "DEC Alpha" Released 2.5.0.3.2 core032.zip] 
		["" "Windows CE 2.0" "SH3" Released 2.5.0.15.1 core151.zip] 
		["" "Windows CE 2.0" "MIPS" Released 2.5.0.15.2 core152.zip] 
		["" "Windows CE 2.0" "PPC" Pending 0.0.0.15.3 core153.zip] 
		["" "Windows CE 2.0" "Strong ARM, HP820" Released 2.5.0.15.5 core155.zip] 
		["" "Windows CE 2.0" "SH4" Released 2.5.0.15.6 core156.zip] 
		["QNX" "RTOS" "iX86" Released 2.5.0.22 core220.tar.gz] 
		["" "Neutrino" "iX86" Pending 0.0.0.23.1 core231.tar.gz] 
		["" "Neutrino" "MIPS" Pending 0.0.0.23.2 core232.tar.gz] 
		["" "RTP" "iX86" Released 2.5.0.28 core280.tar.gz] 
		["SCO" "SCO Unix" "iX86" Released 2.5.0.19 core190.tar.gz] 
		["" "SCO Open Server" "iX86" Released 2.5.0.24 core240.tar.gz] 
		["SGI" "IRIX" "SGI" Released 2.5.0.11 core110.tar.gz] 
		["Sun" "Solaris" "Sparc" Released 2.5.0.10.1 core101.tar.gz] 
		["" "Solaris" "iX86" Released 2.5.0.10.2 core102.tar.gz] 
		["Tao" "Elate/Intent" "VP" Released 2.5.0.27.1 core271.tar.gz]
	] 

	view-pro-platforms:  [
		[Group System-Name Hardware Status Version File] 
		["Amiga" "Amiga V2.x/3.x" "68020+" Released 1.2.1.1.1 "view-pro011.lha"] 
		["Apple" "Macintosh" "PPC" Pending 1.2.1.2.1 "view-pro021.tar.gz"] 
		["" "OSX" "PPC" Pending 1.3.1.2.4 exp] 
		["Microsoft" "Windows" "iX86" Released 1.3.2.3.1 view.exe] 
		["Be" "BeOS R5" "PPC" Released 1.2.1.5.1 "view-pro051.tar.gz"] 
		["" "BeOS R5" "iX86" Released 1.2.1.5.2 "view-pro052.tar.gz"] 
		["BSD" "BSDi" "iX86" Released 1.2.1.6.1 "view-pro061.tar.gz"] 
		["" "Free BSD" "iX86" Released 1.2.1.7.1 "view-pro071.tar.gz"] 
		["" "NetBSD" "iX86" Released 1.2.1.8.1 "view-pro081.tar.gz"] 
		["" "NetBSD" "PPC" Released 1.2.1.8.2 "view-pro082.tar.gz"] 
		["" "NetBSD" "68K" Released 1.2.1.8.3 "view-pro083.tar.gz"] 
		["" "NetBSD" "DEC Alpha" Released 1.2.1.8.4 "view-pro084.tar.gz"] 
		["" "NetBSD" "Sparc" Released 1.2.1.8.5 "view-pro085.tar.gz"] 
		["" "OpenBSD" "iX86" Released 1.2.1.9.1 "view-pro091.tar.gz"] 
		["" "OpenBSD" "68K" Released 1.2.1.9.3 "view-pro093.tar.gz"] 
		["" "OpenBSD" "Sparc" Released 1.2.1.9.5 "view-pro095.tar.gz"] 
		["HP" "HP-UX" "HP" Releases 1.2.1.12 "view-pro120.tar.gz"] 
		["IBM" "AIX" "RS6000" Released 1.2.1.17 "view-pro170.tar.gz"] 
		["Linux" "Linux, Libc5" "iX86" Released 1.2.1.4.1 "view-pro041.tar.gz"] 
		["" "Linux, Libc6" "iX86" Released 1.2.1.4.2 "view-pro042.tar.gz"] 
		["" "Linux" "DEC Alpha" Released 1.2.1.4.3 "view-pro043.tar.gz"] 
		["" "Linux" "PPC" Released 1.2.1.4.4 "view-pro044.tar.gz"] 
		["" "Linux" "68K" Released 1.2.1.4.5 "view-pro045.tar.gz"] 
		["" "Linux" "Sparc" Released 1.2.1.4.6 "view-pro046.tar.gz"] 
		["" "Linux" "UltraSparc" Released 1.2.1.4.7 "view-pro047.tar.gz"] 
		["" "Linux Netwinder" "Strong ARM" Released 1.2.1.4.8 "view-pro048.tar.gz"] 
		["Microsoft" "Windows 9x/NT/2000/ME" "iX86" Released 1.2.1.3.1 "view-pro031.zip"] 
		["SCO" "SCO Open Server" "iX86" Released 1.2.1.24 "view-pro240.tar.gz"] 
		["SGI" "IRIX" "SGI" Released 1.2.1.11 "view-pro110.tar.gz"] 
		["Sun" "Solaris" "Sparc" Released 1.2.1.10.1 "view-pro101.tar.gz"] 
		["" "Solaris" "iX86" Released 1.2.1.10.2 "view-pro102.tar.gz"]
	] 

	if not find reduce ['View to-word "View/Pro" 'Core] system/product [
		print "Upgrade for REBOL/Command products is not available."
		exit
	]

	if find reduce ['View to-word "View/Pro"] system/product [
		platforms: view-pro-platforms
	]

	fields: first platforms
	me: system/version
	what-am-I: [
		"Your copy of" system-name hardware 
		join "REBOL/" lowercase form system/product me
	]

	foreach build next platforms [

		set :fields build
		if version = me [
			out: either file = 'exp [
				[reform what-am-i "is an experimental version. See www.rebol.net for changes."]
			][
				[reform what-am-i "is currently up-to-date."]
			]
			either value? 'view [alert reform out][print out]
			exit
		]

		if all [version/4 = me/4 version/5 = me/5 version > me][
			if confirm reduce [
				reform what-am-i "is not up-to-date." 
				newline "Current version is:" version newline
				"Download current version? "
			][
				write/binary to-file file read/binary 
					join http://www.rebol.com/downloads/ file
				print ["Downloaded" file "to the current directory:" what-dir]
			]
			exit
		]
	]

	print ["You are running an unknown version of REBOL."]
]

check-version

]