69:
How do I encode data as ICalendar format

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content
			With .Components.Add("VCALENDAR")
				.Properties.Add("VERSION","2.1").Parameters.Add "UNICODE",ICalendar1.toICalendar(True,2)
				.Properties.Add "TEXT","This is just a bit of text to be encoded."
				.Properties.Add "BINARY",ICalendar1.toICalendar("This is just a bit of text to be encoded.",1)
				With .Components.Add("VEVENT")
					.Properties.Add "DTSTART",#1/1/2001#
					.Properties.Add "DTEND",#1/2/2001 10:00:00 AM#
				End With
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

68:
How do I get the occurrences between giving start/end margins

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( "AsArray: " )
		alert( .RecurRange("DTSTART=19970310;FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3",#1/1/2001#,#1/1/2002#) )
		alert( "AsString: " )
		alert( .RecurRangeAsString("DTSTART=19970310;FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3",#1/1/2001#,#1/1/2002#) )
	End With
End Function
</SCRIPT>
</BODY>

67:
How do I get the value of specified part in the recurrence expression

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( "FREQ: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",0) )
		alert( "DTSTART: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",1) )
		alert( "UNTIL: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",2) )
		alert( "COUNT: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",3) )
		alert( "INTERVAL: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",4) )
		alert( "WKST: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",14) )
		alert( "BYDAY: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",8) )
		alert( "BYMONTHDAY: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",9) )
		alert( "BYYEARDAY: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",10) )
		alert( "BYWEEKNO: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",11) )
		alert( "BYMONTH: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",12) )
		alert( "BYSETPOS: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",13) )
		alert( "BYHOUR: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",7) )
		alert( "BYMINUTE: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",6) )
		alert( "BYSECOND: " )
		alert( .RecurPartValue("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",5) )
	End With
End Function
</SCRIPT>
</BODY>

66:
How do I check if the recurrence expression is syntactically correct (method 2)

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( "1.A) SyntaxError: " )
		alert( .RecurPartValue("DTSTART=20151205;FREQ=DAILY;BYDAY=MO",-1) )
		alert( "1.B) SyntaxErrorInfo: " )
		alert( .RecurPartValue("DTSTART=20151205;FREQ=DAILY;BYDAY=MO",-2) )
		alert( "2.A) SyntaxError: " )
		alert( .RecurPartValue("FREQ=DAILY;BYDAY=MO",-1) )
		alert( "2.B) SyntaxErrorInfo: " )
		alert( .RecurPartValue("FREQ=DAILY;BYDAY=MO",-2) )
	End With
End Function
</SCRIPT>
</BODY>

65:
How do I check if the recurrence expression is syntactically correct (method 1)

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( "1. If negative, the expression is incorrect" )
		alert( .RecurCheck("DTSTART=20151205;FREQ=DAILY;BYDAY=MO",#12/5/2015#) )
		alert( "2. If negative, the expression is incorrect" )
		alert( .RecurCheck("junk",#1/1/2001#) )
	End With
End Function
</SCRIPT>
</BODY>

64:
How do I check if a specified date match the giving recurrence

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( #12/5/2015# )
		alert( .RecurCheck("DTSTART=20151205;FREQ=DAILY;BYDAY=MO",#12/5/2015#) )
		alert( #12/7/2015# )
		alert( .RecurCheck("DTSTART=20151205;FREQ=DAILY;BYDAY=MO",#12/7/2015#) )
	End With
End Function
</SCRIPT>
</BODY>

63:
Recur: The 2nd to last weekday of the month

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970929;FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-2",12) )
	End With
End Function
</SCRIPT>
</BODY>

62:
Recur: The 3rd instance into the month of one of Tuesday, Wednesday or Thursday, for the next 3 months

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970904;FREQ=MONTHLY;COUNT=3;BYDAY=TU,WE,TH;BYSETPOS=3",12) )
	End With
End Function
</SCRIPT>
</BODY>

61:
Recur: The last work day of the month

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970805;FREQ=MONTHLY;BYDAY=MO,TU,WE,TH,FR;BYSETPOS=-1",12) )
	End With
End Function
</SCRIPT>
</BODY>

60:
Recur: An example where the days generated makes a difference because of WKST (Sample 2)

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=SU",12) )
	End With
End Function
</SCRIPT>
</BODY>

59:
Recur: An example where the days generated makes a difference because of WKST (Sample 1)

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970805T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU;WKST=MO",12) )
	End With
End Function
</SCRIPT>
</BODY>

58:
Recur: Every 20 minutes from 9:00 AM to 4:40 PM every day

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=DAILY;BYHOUR=9,10,11,12,13,14,15,16;BYMINUTE=0,20,40",12) )
	End With
End Function
</SCRIPT>
</BODY>

57:
Recur: Every hour and a half for 4 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=MINUTELY;INTERVAL=90;COUNT=4",12) )
	End With
End Function
</SCRIPT>
</BODY>

56:
Recur: Every 15 minutes for 6 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=MINUTELY;INTERVAL=15;COUNT=6",12) )
	End With
End Function
</SCRIPT>
</BODY>

55:
Recur: Every 3 hours from 9:00 AM to 5:00 PM on a specific day

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=HOURLY;INTERVAL=3;UNTIL=19970902T170000Z",12) )
	End With
End Function
</SCRIPT>
</BODY>

54:
Recur: Every four years, the first Tuesday after a Monday in November, forever (U.S. Presidential Election day)

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19961105T090000;FREQ=YEARLY;INTERVAL=4;BYMONTH=11;BYDAY=TU;BYMONTHDAY=2,3,4,5,6,7,8",12) )
	End With
End Function
</SCRIPT>
</BODY>

53:
Recur: The first Saturday that follows the first Sunday of the month, forever

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970913T090000;FREQ=MONTHLY;BYDAY=SA;BYMONTHDAY=7,8,9,10,11,12,13",12) )
	End With
End Function
</SCRIPT>
</BODY>

52:
Recur: Every Friday the 13th, forever

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=MONTHLY;BYDAY=FR;BYMONTHDAY=13",12) )
	End With
End Function
</SCRIPT>
</BODY>

51:
Recur: Every Thursday, but only during June, July, and August, forever

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970605T090000;FREQ=YEARLY;BYDAY=TH;BYMONTH=6,7,8",12) )
	End With
End Function
</SCRIPT>
</BODY>

50:
Recur: Every Thursday in March, forever

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970313T090000;FREQ=YEARLY;BYMONTH=3;BYDAY=TH",12) )
	End With
End Function
</SCRIPT>
</BODY>

49:
Recur: Monday of week number 20 (where the default start of the week is Monday), forever

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970512T090000;FREQ=YEARLY;BYWEEKNO=20;BYDAY=MO",12) )
	End With
End Function
</SCRIPT>
</BODY>

48:
Recur: Every 20th Monday of the year, forever

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970101T090000;FREQ=YEARLY;BYDAY=20MO",12) )
	End With
End Function
</SCRIPT>
</BODY>

47:
Recur: Every 3rd year on the 1st, 100th and 200th day for 10 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970101T090000;FREQ=YEARLY;INTERVAL=3;COUNT=10;BYYEARDAY=1,100,200",12) )
	End With
End Function
</SCRIPT>
</BODY>

46:
Recur: Every other year on January, February, and March for 10 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970310T090000;FREQ=YEARLY;INTERVAL=2;COUNT=10;BYMONTH=1,2,3",12) )
	End With
End Function
</SCRIPT>
</BODY>

45:
Recur: Yearly in June and July for 10 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970610T090000;FREQ=YEARLY;COUNT=10;BYMONTH=6,7",12) )
	End With
End Function
</SCRIPT>
</BODY>

44:
Recur: Every Tuesday, every other month

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=MONTHLY;INTERVAL=2;BYDAY=TU",12) )
	End With
End Function
</SCRIPT>
</BODY>

43:
Recur: Every 18 months on the 10th thru 15th of the month for 10 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970910T090000;FREQ=MONTHLY;INTERVAL=18;COUNT=10;BYMONTHDAY=10,11,12,13,14,15",12) )
	End With
End Function
</SCRIPT>
</BODY>

42:
Recur: Monthly on the first and last day of the month for 10 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970930T090000;FREQ=MONTHLY;COUNT=10;BYMONTHDAY=1,-1",12) )
	End With
End Function
</SCRIPT>
</BODY>

41:
Recur: Monthly on the 2nd and 15th of the month for 10 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=MONTHLY;COUNT=10;BYMONTHDAY=2,15",12) )
	End With
End Function
</SCRIPT>
</BODY>

40:
Recur: Monthly on the third to the last day of the month, forever

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970928T090000;FREQ=MONTHLY;BYMONTHDAY=-3",12) )
	End With
End Function
</SCRIPT>
</BODY>

39:
Recur: Monthly on the second to last Monday of the month for 6 months

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970922T090000;FREQ=MONTHLY;COUNT=6;BYDAY=-2MO",12) )
	End With
End Function
</SCRIPT>
</BODY>

38:
Recur: Every other month on the 1st and last Sunday of the month for 10 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970907T090000;FREQ=MONTHLY;INTERVAL=2;COUNT=10;BYDAY=1SU,-1SU",12) )
	End With
End Function
</SCRIPT>
</BODY>

37:
Recur: Monthly on the 1st Friday until December 24, 1997

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970905T090000;FREQ=MONTHLY;UNTIL=19971224T000000Z;BYDAY=1FR",12) )
	End With
End Function
</SCRIPT>
</BODY>

36:
Recur: Monthly on the 1st Friday for ten occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970905T090000;FREQ=MONTHLY;COUNT=10;BYDAY=1FR",12) )
	End With
End Function
</SCRIPT>
</BODY>

35:
Recur: Every other week on Tuesday and Thursday, for 8 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=WEEKLY;INTERVAL=2;COUNT=8;WKST=SU;BYDAY=TU,TH",12) )
	End With
End Function
</SCRIPT>
</BODY>

34:
Recur: Every other week on Monday, Wednesday and Friday until December 24, 1997, but starting on Tuesday, September 2, 1997

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=WEEKLY;INTERVAL=2;UNTIL=19971224T000000Z;WKST=SU;BYDAY=MO,WE,FR",12) )
	End With
End Function
</SCRIPT>
</BODY>

33:
Recur: Weekly on Tuesday and Thursday for 5 weeks

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH",12) )
	End With
End Function
</SCRIPT>
</BODY>

32:
Recur: Weekly on Tuesday and Thursday for 5 weeks

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=WEEKLY;COUNT=10;WKST=SU;BYDAY=TU,TH",12) )
	End With
End Function
</SCRIPT>
</BODY>

31:
Recur: Every other day - forever

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=DAILY;INTERVAL=2",12) )
	End With
End Function
</SCRIPT>
</BODY>

30:
Recur: Daily until December 24, 1997

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=DAILY;UNTIL=19971224T000000Z",12) )
	End With
End Function
</SCRIPT>
</BODY>

29:
Recur: Daily for 10 occurrences

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( .RecurAllAsString("DTSTART=19970902T090000;FREQ=DAILY;COUNT=10",12) )
	End With
End Function
</SCRIPT>
</BODY>

28:
How can I add a property of UTC offset type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "UTCOffset","+0100"
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

27:
How can I add a property of URI type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "URI","http://www.exontrol.com"
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

26:
How can I add a property of time type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Time1",#12/30/1899 0:00:00 PM#
			.Properties.Add "Time2",ICalendar1.toICalendar(0.5,12)
			With .Properties.Add("Time3")
				.Value = 0.5
				.Type = 12
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

25:
How can I add a property of text/string type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Text1","A1"
			.Properties.Add "Text2",ICalendar1.toICalendar("A1",11)
			With .Properties.Add("Text3")
				.Value = "A1"
				.Type = 11
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

24:
How can I find properties of recurence type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Recur","FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=SA,SU"
		End With
		Set p = .Root.Properties.Item("Recur")
		i = .toICalendar(p.Value,p.GuessType) ' p.GuessType
		alert( "icalendar:" )
		alert( i )
		alert( "all:" )
		alert( .valuesFromICalendar(i,p.GuessType,"") ) ' p.GuessType
		alert( "FREQ:" )
		alert( .valuesFromICalendar(i,p.GuessType,"FREQ") ) ' p.GuessType
		alert( "UNTIL:" )
		alert( .valuesFromICalendar(i,p.GuessType,"UNTIL") ) ' p.GuessType
		alert( "COUNT:" )
		alert( .valuesFromICalendar(i,p.GuessType,"COUNT") ) ' p.GuessType
		alert( "INTERVAL:" )
		alert( .valuesFromICalendar(i,p.GuessType,"INTERVAL") ) ' p.GuessType
		alert( "BYSECOND:" )
		alert( .valuesFromICalendar(i,p.GuessType,"BYSECOND") ) ' p.GuessType
		alert( "BYMINUTE:" )
		alert( .valuesFromICalendar(i,p.GuessType,"BYMINUTE") ) ' p.GuessType
		alert( "BYHOUR:" )
		alert( .valuesFromICalendar(i,p.GuessType,"BYHOUR") ) ' p.GuessType
		alert( "BYDAY:" )
		alert( .valuesFromICalendar(i,p.GuessType,"BYDAY") ) ' p.GuessType
		alert( "BYMONTHDAY:" )
		alert( .valuesFromICalendar(i,p.GuessType,"BYMONTHDAY") ) ' p.GuessType
		alert( "BYYEARDAY:" )
		alert( .valuesFromICalendar(i,p.GuessType,"BYYEARDAY") ) ' p.GuessType
		alert( "BYWEEKNO:" )
		alert( .valuesFromICalendar(i,p.GuessType,"BYWEEKNO") ) ' p.GuessType
		alert( "BYMONTH:" )
		alert( .valuesFromICalendar(i,p.GuessType,"BYMONTH") ) ' p.GuessType
		alert( "BYSETPOS:" )
		alert( .valuesFromICalendar(i,p.GuessType,"BYSETPOS") ) ' p.GuessType
		alert( "WKST:" )
		alert( .valuesFromICalendar(i,p.GuessType,"WKST") ) ' p.GuessType
	End With
End Function
</SCRIPT>
</BODY>

23:
How can I add a property of recurrence type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Recur","FREQ=WEEKLY;INTERVAL=2;COUNT=4;BYDAY=TU,SU"
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

22:
How can I find the duration in weeks, days, hours, minutes, seconds from a property of duration type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Period",ICalendar1.valuesToICalendar("Start=#1/1/2001#;Duration=1",9)
		End With
		Set p = .Root.Properties.Item("Period")
		i = .toICalendar(p.Value,p.GuessType) ' p.GuessType
		alert( "icalendar:" )
		alert( i )
		alert( "all:" )
		alert( .valuesFromICalendar(i,p.GuessType,"") ) ' p.GuessType
		alert( "start:" )
		alert( .valuesFromICalendar(i,p.GuessType,"Start") ) ' p.GuessType
		alert( "end:" )
		alert( .valuesFromICalendar(i,p.GuessType,"End") ) ' p.GuessType
		alert( "duration:" )
		alert( .valuesFromICalendar(i,p.GuessType,"Duration") ) ' p.GuessType
		alert( "weeks:" )
		alert( .valuesFromICalendar(i,p.GuessType,"W") ) ' p.GuessType
		alert( "days:" )
		alert( .valuesFromICalendar(i,p.GuessType,"D") ) ' p.GuessType
		alert( "hour:" )
		alert( .valuesFromICalendar(i,p.GuessType,"H") ) ' p.GuessType
		alert( "min:" )
		alert( .valuesFromICalendar(i,p.GuessType,"M") ) ' p.GuessType
		alert( "sec:" )
		alert( .valuesFromICalendar(i,p.GuessType,"S") ) ' p.GuessType
	End With
End Function
</SCRIPT>
</BODY>

21:
How can I add a property of period type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Period1",ICalendar1.valuesToICalendar("Start=#1/1/2001#;Duration=1",9)
			.Properties.Add "Period2",ICalendar1.valuesToICalendar("Start=#1/1/2001#;End=#1/2/2001#",9)
			.Properties.Add "Period3",ICalendar1.valuesToICalendar("Duration=1;End=#1/2/2001#",9)
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

20:
How can I add a property of integer type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Integer1",1
			.Properties.Add "Integer2",ICalendar1.toICalendar(1,8)
			With .Properties.Add("Integer3")
				.Value = 1
				.Type = 8
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

19:
How can I add a property of float type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Float1",1.5
			.Properties.Add "Float2",ICalendar1.toICalendar(1.5,7)
			With .Properties.Add("Float3")
				.Value = 1.5
				.Type = 7
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

18:
How do I get the type of the property

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Duration1",ICalendar1.toICalendar(2.5,6)
			With .Properties.Add("Duration2")
				.Value = 2.5
				.Type = 6
			End With
		End With
		With .Root.Properties.Item("Duration1")
			alert( .Name )
			alert( "Guess" )
			alert( .GuessType )
			alert( .Name )
			alert( "Type" )
			alert( .Type )
		End With
		With .Root.Properties.Item("Duration2")
			alert( .Name )
			alert( "Guess" )
			alert( .GuessType )
			alert( .Name )
			alert( "Type" )
			alert( .Type )
		End With
	End With
End Function
</SCRIPT>
</BODY>

17:
How can I get values of the duration iCalendar format

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		alert( "all:" )
		alert( .valuesFromICalendar("P1D",6,"") )
		alert( "duration:" )
		alert( .valuesFromICalendar("P1D",6,"Duration") )
	End With
End Function
</SCRIPT>
</BODY>

16:
How can I find the duration in weeks, days, hours, minutes, seconds from a property of duration type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Duration",ICalendar1.toICalendar(3.325,6)
		End With
		Set p = .Root.Properties.Item("Duration")
		i = .toICalendar(p.Value,p.GuessType) ' p.GuessType
		alert( "icalendar:" )
		alert( i )
		alert( "all:" )
		alert( .valuesFromICalendar(i,p.GuessType,"") ) ' p.GuessType
		alert( "duration:" )
		alert( .valuesFromICalendar(i,p.GuessType,"Duration") ) ' p.GuessType
		alert( "weeks:" )
		alert( .valuesFromICalendar(i,p.GuessType,"W") ) ' p.GuessType
		alert( "days:" )
		alert( .valuesFromICalendar(i,p.GuessType,"D") ) ' p.GuessType
		alert( "hour:" )
		alert( .valuesFromICalendar(i,p.GuessType,"H") ) ' p.GuessType
		alert( "min:" )
		alert( .valuesFromICalendar(i,p.GuessType,"M") ) ' p.GuessType
		alert( "sec:" )
		alert( .valuesFromICalendar(i,p.GuessType,"S") ) ' p.GuessType
	End With
End Function
</SCRIPT>
</BODY>

15:
How can I add a property of duration type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Duration1",ICalendar1.toICalendar(2.5,6)
			With .Properties.Add("Duration2")
				.Value = 2.5
				.Type = 6
			End With
			.Properties.Add "Duration3",ICalendar1.valuesToICalendar("D=2;H=12",6)
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

14:
How can I add a property of date-time type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "DateTime1",#1/1/2001 0:00:00 PM#
			.Properties.Add "DateTime2",ICalendar1.toICalendar(#1/1/2001#,5)
			With .Properties.Add("DateTime3")
				.Value = #1/1/2001#
				.Type = 5
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

13:
How can I add a property of date type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Date1",#1/1/2001#
			.Properties.Add "Date2",ICalendar1.toICalendar(#1/1/2001#,4)
			With .Properties.Add("Date3")
				.Value = #1/1/2001#
				.Type = 4
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

12:
How can I add a property of Calendar User Address type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "caladdress1","mailto:support@exontrol.com"
			.Properties.Add "caladdress2",ICalendar1.toICalendar("mailto:support@exontrol.com",3)
			With .Properties.Add("caladdress3")
				.Value = "mailto:support@exontrol.com"
				.Type = 3
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

11:
How can I add a property of boolean type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Boolean1",True
			.Properties.Add "Boolean2",ICalendar1.toICalendar("TRUE",2)
			With .Properties.Add("Boolean3")
				.Value = 0
				.Type = 2
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

10:
How can I add a property of binary type

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			.Properties.Add "Binary1",ICalendar1.toICalendar("This is a bit of text converted to binary",1)
			With .Properties.Add("Binary2")
				.Value = "This is a bit of text converted to binary"
				.Type = 1
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

9:
How can I access the root element of the iCalendar format

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		.Load "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nEND:VCALENDAR"
		alert( .Root.Name )
		alert( .Root.Properties.Item("Version").Value )
	End With
End Function
</SCRIPT>
</BODY>

8:
How can I get notified once the control loads a new component, property, when using Load or LoadFile methods

<BODY onload="Init()">
<SCRIPT LANGUAGE="VBScript">
Function ICalendar1_AddComponent(NewComponent)
	With ICalendar1
		alert( NewComponent )
	End With
End Function
</SCRIPT>

<SCRIPT LANGUAGE="VBScript">
Function ICalendar1_AddProperty(NewPropery)
	With ICalendar1
			alert( NewPropery )
	End With
End Function
</SCRIPT>

<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		.FireEvents = True
		.Load "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nEND:VCALENDAR"
	End With
End Function
</SCRIPT>
</BODY>

7:
How can I add a property with parameters

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			With .Components.Add("VEVENT").Properties
				.Add("SUMMARY","Company Holiday Party").Parameters.Add "LANGUAGE","en-US"
				.Add "DATE",#1/1/2001#
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

6:
How can I load iCalendar from a string

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		.Load "BEGIN:VCALENDAR\r\nVERSION:2.0\r\nEND:VCALENDAR"
		alert( .Content.Components.Item(0).Name )
	End With
End Function
</SCRIPT>
</BODY>

5:
How can I add VEVENT objects

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			With .Properties
				.Add "Version","2.0"
				.Add "PRODID","-//hacksw/handcal//NONSGML v1.0//EN"
			End With
			With .Components.Add("VEVENT").Properties
				.Add "DTSTART",#1/1/2001#
				.Add "DTEND",#1/2/2001#
				.Add "SUMMARY","First Party"
			End With
			With .Components.Add("VEVENT").Properties
				.Add "DTSTART",#1/4/2001#
				.Add "DTEND",#1/5/2001#
				.Add "SUMMARY","Second Party"
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

4:
How can I save the control's content to iCalendar format, as a file
<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			With .Properties
				.Add "Version","2.0"
				.Add "PRODID","-//hacksw/handcal//NONSGML v1.0//EN"
			End With
			With .Components.Add("VEVENT").Properties
				.Add "DTSTART",#1/1/2001#
				.Add "DTEND",#1/2/2001#
				.Add "SUMMARY","Bastille Day Party"
			End With
		End With
		.SaveFile "c:/temp/test.ical"
	End With
End Function
</SCRIPT>
</BODY>

3:
How can I load the iCalendar format from a file

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		.LoadFile "c:/temp/test.ical"
		alert( .Content.Components.Item("VCALENDAR").Properties.Item("PRODID").Value )
	End With
End Function
</SCRIPT>
</BODY>

2:
How do I export the control's content to iCalendar format

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR")
			With .Properties
				.Add "Version","2.0"
				.Add "PRODID","-//hacksw/handcal//NONSGML v1.0//EN"
			End With
			With .Components.Add("VEVENT").Properties
				.Add "DTSTART",#1/1/2001#
				.Add "DTEND",#1/2/2001#
				.Add "SUMMARY","Bastille Day Party"
			End With
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>

1:
How can I generate a VCALENDAR object

<BODY onload="Init()">
<OBJECT CLASSID="clsid:D6C87100-38E2-4ABB-8AC2-4C0097AEE2D6" id="ICalendar1"></OBJECT>

<SCRIPT LANGUAGE="VBScript">
Function Init()
	With ICalendar1
		With .Content.Components.Add("VCALENDAR").Properties
			.Add "Version","2.0"
			.Add "PRODID","-//hacksw/handcal//NONSGML v1.0//EN"
		End With
		alert( .Save )
	End With
End Function
</SCRIPT>
</BODY>