.hta script - need some help (import/export iTunes data)

I want the Script to import / export iTunes data.

The data gets exported and all the data is there, but I’m getting an error on line 175, char 7, saying: “Wrong number of arguments or invalid property assignment”, when I’m trying to import the data. The line the code refers to is:

foundTrack.DateAdded = dateadded.getVarDate();

Here is the entire script:

<html>
<head>
<title>Save and Restore Ratings/Playcounts/Last Played</title>

<?XML:NAMESPACE PREFIX = HTA />
<HTA:APPLICATION />

<script LANGUAGE="VBScript">
Function GetNothing()
	Set GetNothing = Nothing
End Function
</SCRIPT>

<script type="text/JScript">

var jsNothing = GetNothing();

function saveXMLRatings(everything)
{
	var	iTunesApp = new ActiveXObject("iTunes.Application");
	var	mainLibrary = iTunesApp.LibraryPlaylist;
	var	mainLibrarySource = iTunesApp.LibrarySource;
	var	tracks = mainLibrary.Tracks;
	var	numTracks = tracks.Count;
	var	i;

	var	dom = new ActiveXObject("Microsoft.XMLDOM");

	// create the root element
	var  root = dom.createElement("songs");
	dom.appendChild(root);

	// Insert a newline + tab for readability
	root.appendChild(dom.createTextNode("
	"));

	// run through all the tracks
	for (i = 1; i <= numTracks; i++)
	{
		var	currTrack = tracks.Item(i);
		var	rating = currTrack.Rating;
		var	playcount = currTrack.PlayedCount;
		var lastplayed = currTrack.PlayedDate;
		var dateadded = currTrack.DateAdded;
		var	name = currTrack.Name;
		var	artist = currTrack.Artist;
		//var	album = currTrack.Album;

		// dont bother to save if the rating and playcount are both zero
		if (rating != 0 || playcount != 0 || everything == 1)
		{
			// create a new song element
			var songnode = dom.createElement("song");
			root.appendChild(songnode);
			songnode.appendChild(dom.createTextNode("
		"));

			var artistnode = dom.createElement("artist");
			artistnode.text = artist;
			songnode.appendChild(artistnode);
			songnode.appendChild(dom.createTextNode("
		"));

//			var albumnode = dom.createElement("album");
//			albumnode.text = album;
//			songnode.appendChild(albumnode);
//			songnode.appendChild(dom.createTextNode("
		"));

			var namenode = dom.createElement("name");
			namenode.text = name;
			songnode.appendChild(namenode);
			songnode.appendChild(dom.createTextNode("
		"));

			var ratingnode = dom.createElement("rating");
			ratingnode.text = rating;
			songnode.appendChild(ratingnode);
			songnode.appendChild(dom.createTextNode("
		"));

			var datenode = dom.createElement("lastplayed");
			datenode.text = lastplayed;
			songnode.appendChild(datenode);
			songnode.appendChild(dom.createTextNode("
		"));

			var addednode = dom.createElement("dateadded");
			addednode.text = dateadded;
			songnode.appendChild(addednode);
			songnode.appendChild(dom.createTextNode("
		"));

			var countnode = dom.createElement("playcount");
			countnode.text = playcount;
			songnode.appendChild(countnode);
			songnode.appendChild(dom.createTextNode("
	"));
			root.appendChild(dom.createTextNode("
	"));

//			var addednode = dom.createElement("dateadded");
//			addednode.text = dateadded;
//			songnode.appendChild(addednode);
//			songnode.appendChild(dom.createTextNode("
	"));
//			root.appendChild(dom.createTextNode("
	"));
		}
	}

	document.write("Ratings/Playcount data saved.<br>");
	// Add a newline.
		root.appendChild(dom.createTextNode("
"));

		// Save the XML document to a file.
	dom.save("ratings2.xml");

	root = null;
	dom = null;
	iTunesApp = jsNothing;
}


function restoreXMLRatings(everything)
{
	var	iTunesApp = new ActiveXObject("iTunes.Application");
	var	mainLibrary = iTunesApp.LibraryPlaylist;
	//var	mainLibrarySource = iTunesApp.LibrarySource;
	var	tracks = mainLibrary.Tracks;

	var ITPlaylistSearchFieldSongNames = 5;

	var dom = new ActiveXObject("Microsoft.XMLDOM")
	dom.async="false"
	dom.load("ratings2.xml")

	// go through the songs one by one

	var i, n_elems, j;
	var elems = dom.getElementsByTagName("song");
	n_elems = elems.length;
	for (i = 0; i < n_elems; i++)
	{
		// elems.item(i) or elems[i] is the song node we want to look at

		var	rating = elems.item(i).selectSingleNode("rating").text;
		var	playcount = elems.item(i).selectSingleNode("playcount").text;
		var	lastplayed = new Date(elems.item(i).selectSingleNode("lastplayed").text);
		var	dateadded = new Date(elems.item(i).selectSingleNode("dateadded").text);
		var	name = elems.item(i).selectSingleNode("name").text;
		var	artist = elems.item(i).selectSingleNode("artist").text;
		//var	album = elems.item(i).selectSingleNode("album").text;

		// search for the name of the song
		var foundTracks = mainLibrary.Search(name,ITPlaylistSearchFieldSongNames);

		var worked = 0;
		if (foundTracks)
		{
			for (j=1; j<=foundTracks.Count;j++)
			{
				// check the artist, album, name, and kind
				if (name == foundTracks.Item(j).Name &&
					artist == foundTracks.Item(j).Artist
					//&&
					//album == foundTracks.Item(j).Album
					)
				{
					var foundTrack = foundTracks.Item(j);

					//document.write("Found an exact match for " +name+ "<br>");
					if (rating !=0 || everything == 1)
					{
						//document.write("Setting rating to "+rating +"<br>");
						foundTrack.Rating = parseInt(rating);
					}
					if (playcount !=0 || everything == 1)
					{
						//document.write("Setting playcount to "+playcount +"<br>");
						foundTrack.PlayedCount = parseInt(playcount);

						// also restore last played date in this case
						//document.write("Setting lastplayed<br>");
						foundTrack.PlayedDate = lastplayed.getVarDate();

						foundTrack.DateAdded = dateadded.getVarDate();
					}
					worked=1;
				}
			}	// end for
		}
		//if (worked==0) document.write("Could not find any match for "+name+", "+album+", "+artist+"<br>");
		if (worked==0) document.write("Could not find any match for "+name+", "+artist+"<br>");
		foundTracks=null;
	}

	dom = null;
	iTunesApp = jsNothing;
}

</script>

</head>
<body>

<h4>Saving Ratings</h4>
<p>Click the "Save Ratings" button below to save the Ratings/Playcount/LastPlayedDate data from iTunes into
a file. This file will be called "ratings2.xml" and it will be saved in the same directory
as you ran the HTA file from. This process may take a while.</p>

<h4>Restoring Ratings</h4>
<p>Click the "Restore Ratings" button to restore the Ratings/Playcount/LastPlayedDate from the "ratings2.xml" file
to the iTunes library. This is not undo-able, so you may want to backup your iTunes library
files first.</p>

<h4>Saving/Restoring Everything</h4>
<p>Does the same thing, except it saves and restores all song data, including zero ratings and such.
Normally, zero ratings get ignored, so as not to overwrite good ratings with zero ratings. This
has no such protection. It's also much, much slower. Be patient.</p>

<h4>Note</h4>
<ul>
<li>It's recommended that you have iTunes running when you use this program. It's not
required, as iTunes will start regardless, but it's a bit faster if it's already running.</li>
</ul>

<center>
<table border=0>
<!--
<tr>
<td align=center><button onclick="saveXMLRatings(0)">Save Ratings</button></td>
<td align=center><button onclick="restoreXMLRatings(0)">Restore Ratings</button></td>
</tr>
-->
<tr>
<td align=center><button onclick="saveXMLRatings(1)">Save Everything</button></td>
<td align=center><button onclick="restoreXMLRatings(1)">Restore Everything</button></td>
</tr>
</table>
</center>

</body>
</html>

any help would be appreciated.

thanks