	function CheckSubmissionForm() {
		var docform = document.calendar;
		if (docform.name.value.search(/\w{2,}/) == -1) { alert ("Please enter your name..."); docform.name.focus(); return false;}
		if (docform.phone.value.search(/\d{3}[ -]?\d{3}[ -]?\d{4}/) == -1) { alert ("Please enter your phone number..."); docform.phone.focus(); return false;}
		if (docform.email.value.search(/\w{2,}@\w{2,}\.\w{2,3}/) == -1) { alert ("The e-mail adress you have entered seems to be invalid.\nPlease check it again."); docform.email.focus(); return false;}
		if (docform.title.value.search(/\w{2,}/) == -1) { alert ("Please enter event title..."); docform.title.focus(); return false;}
		if (docform.size.value.search(/SM|ME|LA/) == -1) { alert ("Please select size of the event..."); docform.size.focus(); return false;}
		var hp_blurb = docform.hp_blurb.value.replace("/\n+/", " ");
		if (hp_blurb.search(/\w{2,}/) == -1 ) { alert ("Please enter your short description..."); docform.hp_blurb.value = ''; docform.hp_blurb.focus(); return false;}
		var blurb = docform.blurb.value.replace("/\n+/", " ");
		if (blurb.search(/\w{2,}/) == -1 ) { alert ("Please enter your full description..."); docform.blurb.value = ''; docform.blurb.focus(); return false;}


		if (docform.email.value == "") { alert ("Thank you for the event. (Please note, you did not include an e-mail address or telephone number, so we can not publish your event.)"); }
		else { alert ("Thank you for the event!"); } 
		docform.instruct.value = docform.year.value + docform.month.value + docform.date.value;
		return true;
	}
	
	function formatDateString(which){
		if(which<10){which = '0' + which};
		return which;
	}
	
	function getInstruct(j){
		var today = new Date();
		var year = today.getYear();
		var month = today.getMonth()+1+"";
		var date = today.getDate();
		var dateInMonth = 31;
		if(month.match("[469]|11")){dateInMonth = 30;}
		if(month == 2){dateInMonth = (year/4!= Math.floor(year/4))?28:29;}
		date+=j;
		if(date>dateInMonth){month = eval(month)+1;date-=dateInMonth;if(month>12){year++; month=1;}};
		
		return '' + formatDateString(year) + formatDateString(month) + formatDateString(date);
	}
	
	function printSearchDate(){
		var WeekDayList=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];	
		var today = new Date();
		var year = today.getYear();
		var month = formatDateString(today.getMonth()+1);
		var date = formatDateString(today.getDate());
		var dateString = '' + year + month + date;
		//alert(dateString);
		document.writeln("<p><small><a href='/events/index.jsp?instruct="+dateString+"'>Today</a>&nbsp;&nbsp;&nbsp;</small>");
		var j=0;
		for (var i=today.getDay()+1; i<7+today.getDay(); i++) {
			j++;
			document.writeln("<small><a href='/events/index.jsp?instruct="+getInstruct(j)+"'>" + WeekDayList[i % 7] + "</a>&nbsp;&nbsp;&nbsp;</small>");
		}
		document.writeln("<small>|&nbsp;&nbsp;&nbsp;<a href='/events/index.jsp?instruct=week'>This week</a>&nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;<a href='/events/index.jsp?instruct="+year+month+"'>This month</a></small></form><p>");
	}
	var	now = new Date();
	var	day=now.getDate();
	var	mo=now.getMonth();
	var	yr=now.getYear();
	if(yr<1900)
		yr+=1900;

	var date_arr = new Array;
	date_arr[0]=new Option("January",31);
	date_arr[1]=new Option("February",28);
	date_arr[2]=new Option("March",31);
	date_arr[3]=new Option("April",30);
	date_arr[4]=new Option("May",31);
	date_arr[5]=new Option("June",30);
	date_arr[6]=new Option("July",31);
	date_arr[7]=new Option("August",31);
	date_arr[8]=new Option("September",30);
	date_arr[9]=new Option("October",31);
	date_arr[10]=new Option("November",30);
	date_arr[11]=new Option("December",31);
	
	var days_arr = new Array;

	function fill_select(f){
		document.writeln("<SELECT name='years' onchange='update_days(searchbox)'>")
		for(x=yr+1;x>yr-2;x--) document.writeln("<OPTION value='"+x+"'>"+x);
		document.writeln("</SELECT>");
		document.writeln("<SELECT name='months' onchange='update_days(searchbox)'>");
		for(x=0;x<12;x++) 
			document.writeln("<OPTION value='"+date_arr[x].value+"'>"+date_arr[x].text);
		document.writeln("</SELECT><SELECT name='days'></SELECT>");
		update_days(f);
	}
	
	function update_days(f){
		j=f.days.selectedIndex;
		sel=parseInt(f.months[f.months.selectedIndex].value);
		if(sel == 28){
			year=parseInt(f.years.options[f.years.selectedIndex].value);
			if (year % 4 == 0) sel++;
		}
		if(sel != f.days.options.length){
			for(x=days_arr.length;x>sel-1;x--){
				days_arr[x]=null;
				f.days.options[x]=null;
			}
			x=(days_arr.length>0)?f.days.options.length:1;
			for(;x < sel+1;x++) {
				days_arr[x-1]=new Option(x);            
				f.days.options[x-1]=days_arr[x-1];
			}
		}
		if (j == -1){
			f.days.options[0].selected=true;
			f.days.options[day-1].selected=true;
			f.years.options[1].selected=true;
			f.months.options[mo].selected=true;
	
		} else {
			f.days.options[j].selected=true;  
		}
	}       

	function doSubmit(){
		var dateValue = formatDateString(document.searchbox.FirstSelectDay.selectedIndex+1);
		document.searchbox.instruct.value=document.searchbox.FirstSelectYear.value+document.searchbox.FirstSelectMonth.value+dateValue;
		document.searchbox.submit();
	}
	
	function CheckForm() {
		var docform = document.feedback;
		if (docform.name.value.search(/\w{2,}/) == -1) { alert ("Please enter your name..."); docform.name.focus(); return false;}
		if (docform.email.value.search(/\w{2,}@\w{2,}\.\w{2,3}/) == -1) { alert ("The e-mail adress you have entered seems to be invalid.\nPlease check it again."); docform.email.focus(); return false;}
		var comments = docform.comments.value.replace("/\n+/", " ");
		if (comments.search(/\w{2,}/) == -1 ) { alert ("Please enter your comments..."); docform.comments.value = ''; docform.comments.focus(); return false;}
		if (docform.email.value == "") { alert ("Thank you for the feedback. (Please note, you did not include an e-mail address or telephone number, so we can not respond directly to your comments.)\n\nYou will now return to the Diversity Now home page."); }
		else { alert ("Thank you for the feedback. You will now return to the Diversity Now home page."); } 
		return true;
	}
	/************************ BROWSER CHECK ***************************************/
	function Browser(){
		this.ver = navigator.appVersion;
		this.app = navigator.appName; 
		this.agt = navigator.userAgent;
		this.mac = (this.agt.indexOf("Mac")>-1)?1:0;
		this.win = (this.agt.indexOf("Win")>-1)?1:0;

		this.nn = (this.app == "Netscape")?1:0;
		this.ie = (this.app.indexOf("Microsoft")>-1)?1:0;
		this.ie4win = ((this.ie) && (this.win) && (this.agt.indexOf('MSIE 4')>-1))?1:0;
		this.ns6mac = ((this.mac) && (this.nn) && (parseInt(this.ver)>=4))?1:0;
		return this
	}

	function swap1(img_name,option) {
		if (option == 0) {
			document.images[img_name].src = 'http://www.diversitynow.ca/img/menu_' + img_name + '_off.jpg';
			if ( (ssi_subsection == img_name) && 
				( (ssi_subsection == "home") || (ssi_subsection == "aboutus") || (ssi_subsection == "speakout") || 
				(ssi_subsection == "events") || (ssi_subsection == "features") || (ssi_subsection == "links") ||
				(ssi_subsection == "archives") || (ssi_subsection == "contactus") ) ) {
				document.images[ssi_subsection].src = 'http://www.diversitynow.ca/img/menu_' + ssi_subsection + '_down.jpg';
			}
		} else {
			document.images[img_name].src = 'http://www.diversitynow.ca/img/menu_' + img_name + '_on.jpg';
		}
	}
	function FireUp(incoming_link,screenW,screenH,allowScroll) {
		if (allowScroll == 1) { var useScrollbars='no'; } else { var useScrollbars='yes'; }
		var screenDiff = 200;
		if ( screenW == 0 ) {
			var screenW=640; var screenH=480;
			if (parseInt(navigator.appVersion)>3) {
				screenW = screen.width - screenDiff;
				screenH = screen.height - screenDiff;
			} else if ( navigator.appName == "Netscape"  &&  parseInt(navigator.appVersion)==3  &&  navigator.javaEnabled() ) {
				var jToolkit = java.awt.Toolkit.getDefaultToolkit();
				var jScreenSize = jToolkit.getScreenSize();
				screenW = jScreenSize.width - screenDiff;
				screenH = jScreenSize.height - screenDiff;
			}
		}
		var screenT=screenDiff/4;
		// this line adjusts it a bit, to shrink the width on a wide monitor...
		if (screenW >= 1000) { screenDiff = screenW-1000+screenDiff; screenW = 1000; }
		var screenL=screenDiff/2;

		var properties = "width=" + screenW + ", height=" + screenH + ", top=" + screenT + ", left=" + screenL;
		window.open (incoming_link, 'Biography_com', config=properties + ',toolbar=no,menubar=no,scrollbars='+useScrollbars+',resizable=no,location=no,directories=no,status=no');
	}
	function FireUpPoll(incoming_link,screenW,screenH) {
		var screenDiff = 200;
		if ( screenW == 0 ) {
			var screenW=640; var screenH=480;
			if (parseInt(navigator.appVersion)>3) {
				screenW = screen.width - screenDiff;
				screenH = screen.height - screenDiff;
			} else if ( navigator.appName == "Netscape"  &&  parseInt(navigator.appVersion)==3  &&  navigator.javaEnabled() ) {
				var jToolkit = java.awt.Toolkit.getDefaultToolkit();
				var jScreenSize = jToolkit.getScreenSize();
				screenW = jScreenSize.width - screenDiff;
				screenH = jScreenSize.height - screenDiff;
			}
		}
		var screenT=screenDiff/4;
		// this line adjusts it a bit, to shrink the width on a wide monitor...
		if (screenW >= 1000) { screenDiff = screenW-1000+screenDiff; screenW = 1000; }
		var screenL=screenDiff/2;

		var properties = "width=" + screenW + ", height=" + screenH + ", top=" + screenT + ", left=" + screenL;
		window.open (incoming_link, 'Biography_com', config=properties + ',toolbar=no,menubar=no,scrollbars=yes,resizable=no,location=no,directories=no,status=no');
	}
	
	b = new Browser()
	/*************************** CSS WRITER ********************************/
	// persistent
		var defaultCSS = "<LINK REL='stylesheet' HREF='http://www.diversitynow.ca/css/master.css' TYPE='text/css'>";
		var nsCSS = "<LINK REL='stylesheet' HREF='http://www.diversitynow.ca/css/master_ns.css' TYPE='text/css'>";
		var nsMacCSS = "<LINK REL='stylesheet' HREF='http://www.diversitynow.ca/css/master_ns.css' TYPE='text/css'>";
		css = (b.ns6mac)?nsMacCSS:(b.nn)?nsCSS:defaultCSS;
		document.write(css);
	// preferred
		var defaultCSS = "<LINK REL='stylesheet' HREF='http://www.diversitynow.ca/css/pref.css' TYPE='text/css' TITLE='preferred'>";
		var nsCSS = "<LINK REL='stylesheet' HREF='http://www.diversitynow.ca/css/pref_ns.css' TYPE='text/css' TITLE='preferred'>";
		var nsMacCSS = "<LINK REL='stylesheet' HREF='http://www.diversitynow.ca/css/pref_ns.css' TYPE='text/css' TITLE='preferred'>";
		css = (b.ns6mac)?nsMacCSS:(b.nn)?nsCSS:defaultCSS;
		document.write(css);
	// alternate
		var defaultCSS = "<LINK REL='alternate stylesheet' HREF='http://www.diversitynow.ca/css/alt.css' TYPE='text/css' TITLE='alternate'>";
		var nsCSS = "<LINK REL='alternate stylesheet' HREF='http://www.diversitynow.ca/css/alt_ns.css' TYPE='text/css' TITLE='alternate'>";
		var nsMacCSS = "<LINK REL='alternate stylesheet' HREF='http://www.diversitynow.ca/css/alt_ns.css' TYPE='text/css' TITLE='alternate'>";
		css = (b.ns6mac)?nsMacCSS:(b.nn)?nsCSS:defaultCSS;
		document.write(css);
			// Preload swap images...
		var	Image1 = new Image().src = "http://www.diversitynow.ca/img/menu_home_off.jpg";
		var	Image2 = new Image().src = "http://www.diversitynow.ca/img/menu_aboutus_off.jpg";
		var	Image3 = new Image().src = "http://www.diversitynow.ca/img/menu_speakout_off.jpg";
		var	Image4 = new Image().src = "http://www.diversitynow.ca/img/menu_features_off.jpg";
		var	Image5 = new Image().src = "http://www.diversitynow.ca/img/menu_events_off.jpg";
		var	Image6 = new Image().src = "http://www.diversitynow.ca/img/menu_links_off.jpg";
		var	Image7 = new Image().src = "http://www.diversitynow.ca/img/menu_archives_off.jpg";
		var	Image8 = new Image().src = "http://www.diversitynow.ca/img/menu_contactus_off.jpg";
	