<?xml version="1.0" encoding="UTF-8"?>
<installer-gui-script minSpecVersion='1'>
    <choices-outline>
        <line choice='manual'/>
    </choices-outline>
    <title>SU_TITLE</title>
    <choice id='manual' title="SU_TITLE">
        <pkg-ref id='manual' auth='Root'>.</pkg-ref>
    </choice>
    <choice id='manual' title='SU_TITLE'/>
    <choice id='manual' versStr='SU_VERSION'/>
    <choices-outline ui='SoftwareUpdate'>
        <line choice='su'/>
    </choices-outline>
    <choice id='su' suDisabledGroupID='QuickTime'>
        <pkg-ref id='com.apple.swu.QuickTime'>SecUpdQuickTime716.msi</pkg-ref>
    </choice>
    <choice id='su' visible='visibleCheck()'/>
    <choice id='su' title='SU_TITLE' versStr='SU_VERSION'/>
    <choice id='su' description='SU_DESCRIPTION' description-mime-type='text/html'/>
    <script>
	function visibleCheck() {
		var UpdatedVersion;

		UpdatedVersion = system.RegistryQueryStringValue("HKEY_LOCAL_MACHINE", "SOFTWARE\\Apple Computer, Inc.\\QuickTime\\Security Updates\\2007-006\\", "Version");
		return productInVersionRange("QuickTime", "7.1.6.0.0", "7.1.6.200.0") &amp;&amp;
		       UpdatedVersion == "" &amp;&amp;
		       productInVersionRange("Apple Software Update", "1.0.2", "255.255.65535");
	}
	
	function productInVersionRange(productName, minVersion, maxVersion) {
		var i = 0;
		var productIndex;
		
		do{
			productIndex = system.ASUEnumerateProducts(i++);
			var foundName = system.ASUGetProductInfo(productIndex,"ProductName");

			system.log("found product: " + foundName);

			if (foundName == productName) {
				var foundVersion = system.ASUGetProductInfo(productIndex,"VersionString");

				system.log("version of " + foundName + " is: " + foundVersion);

				return(versionInRange(foundVersion, minVersion, maxVersion));
			}
		
		}while(productIndex);
		
		// they do not already have it, but should get it
		if(minVersion == "0.0.0.0.0") {
			return true;
		}

		// otherwise, we require a minimum version
		return false;
		
	}

	function versionInRange(testVersion, minVersion, maxVersion) {
		if ((-1 != compareVersionStrings(testVersion, minVersion)) &amp;&amp; (1 != compareVersionStrings(testVersion, maxVersion)))
			return true;
		else
			return false;
	}
	
	function compareVersionStrings(string1, string2) {
		var parts1 = string1.split(".");
		var parts2 = string2.split(".");
		
		while(parts1.length &lt; parts2.length)
			parts1[parts1.length] = "0";

		while(parts2.length &lt; parts1.length)
			parts2[parts2.length] = "0";

		for( var i in parts1 ) {
			var sub1 = 1*parts1[i];
			var sub2 = 1*parts2[i];

			if( sub1 != sub2 ){
				if( sub1 > sub2 )
					return 1;
				else
					return -1;
			}
		}
		
		return 0;
	}	
	</script>
    <localization>
        <strings language="English"><![CDATA["SU_TITLE" = "Security Update (QuickTime 7.1.6)";
"SU_VERSION" = "1.0";

"SU_DESCRIPTION"='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta http-equiv="Content-Style-Type" content="text/css">
  <title></title>
  <meta name="Generator" content="Cocoa HTML Writer">
  <meta name="CocoaVersion" content="824.41">
  <style type="text/css">
    p.p1 {margin: 0.0px 0.0px 12.0px 0.0px; font: 12.0px Lucida Sans Unicode}
  </style>
</head>
<body>
<p class="p1">This update is recommended for all users and improves the security of QuickTime 7.1.6.</p>
<p class="p1">For detailed information on security updates, please visit this website: <a href="http://docs.info.apple.com/article.html?artnum=61798">http://docs.info.apple.com/article.html?artnum=61798</a></p>
</body>
</html>
';
]]></strings>
    </localization>
</installer-gui-script>