	function showHide(id)
	{
		var element = document.getElementById(id);

		if (element)
		{
			if (element.style.display == "none")
			{
				element.style.display = "";
			} else {
				element.style.display = "none";
			}
		}
	}

	// runs show/hide on two ids at the same time from one trigger
	function showHideTwoItems(id1, id2)
	{
		showHide(id1);
		showHide(id2);
	}

	function hide(id)
	{
		var element = document.getElementById(id);

		if (element)
		{
			if (element.style.display != "none")
			{
				element.style.display = "none";
			}
		}
	}


	function show(id)
	{
		var element = document.getElementById(id);

		if (element)
		{
			if (element.style.display == "none")
			{
				element.style.display = "";
			}
		}
	}


	//global vars to say if all of something is checked
	var strandChecked = new Array();
	var lessonChecked = new Array();
	var unitChecked = new Array();

	//global vars to say if all of something is checked
	var strandExpanded = new Array();
	var lessonExpanded = new Array();
	var unitExpanded = new Array();

	function expand(element) 
	{
		var linkName = element.id + "Link";

		var itemName = element.id;

		if (document.getElementById(itemName).style.display == null 
				|| document.getElementById(itemName).style.display == "none") 
		{
			// document.getElementById(linkName).title="Hide Details";
			document.getElementById(itemName).style.display = "block";
		}
		else 
		{
			// document.getElementById(linkName).title="Display more information about this resource";
			document.getElementById(itemName).style.display = "none";
		}
	}


	function accentBarCaps(element)
	{
		var itemName = element.id;

		if (document.getElementById(itemName).style.display == null 
				|| document.getElementById(itemName).style.display == "none") 
		{
			// document.getElementById(linkName).title="Hide Details";
			document.getElementById(itemName).style.display = "block";
		}
		else 
		{
			// document.getElementById(linkName).title="Display more information about this resource";
			document.getElementById(itemName).style.display = "none";
		}


		for (i=0;i< 14;i++) {

			var itemName = element.id + i;

			if (document.getElementById(itemName).style.display == null || document.getElementById(itemName).style.display == "none") {
				// document.getElementById(linkName).title="Hide Details";
				document.getElementById(itemName).style.display = "block";
			} else {
				// document.getElementById(linkName).title="Display more information about this resource";
				document.getElementById(itemName).style.display = "none";
			}
		}
	}


	function showHideNavBlock(element)
	{
		var itemName = element.id;

		if (document.getElementById(itemName).style.display == null 
				|| document.getElementById(itemName).style.display == "none") 
		{
			// document.getElementById(linkName).title="Hide Details";
			document.getElementById(itemName).style.display = "block";
		}
		else 
		{
			// document.getElementById(linkName).title="Display more information about this resource";
			document.getElementById(itemName).style.display = "none";
		}


		for (i=0;i<5;i++) 
		{
			var itemName = element.id + i;

			if (document.getElementById(itemName).style.display == null 
					|| document.getElementById(itemName).style.display == "none") 
			{
				// document.getElementById(linkName).title="Hide Details";
				document.getElementById(itemName).style.display = "block";
			} 
			else 
			{
				// document.getElementById(linkName).title="Display more information about this resource";
				document.getElementById(itemName).style.display = "none";
			}
		}
	}



	//-------------------------------------------------------------

	function swapArrow(prefix, id)
	{
		var element = document.getElementById(id);            

		if (element)
		{
			var str = element.src;  

			if(str.indexOf("down") > -1) 
			{  
				element.src = '/media/images/common/' + prefix + '_2right.gif';  
			} 
			else 
			{  
				element.src = '/media/images/common/' + prefix + '_2down.gif';  
			}  
		}
	}

	function swapNavArrow(id)
	{
		//combine later with swapArrow
		var element = document.getElementById(id);

		if (element)
		{
			var str = element.src;  
			if(str.indexOf("down") > -1) 
			{  
				element.src = '/media/images/common/arrow_1right.gif';
				element.style.display = "";
			} 
			else 
			{  
				element.src = '/media/images/common/arrow_1down.gif';
				element.style.display = "";
			}  
		}
	}

	function resetNavArrow(id)
	{
		var element = document.getElementById(id);
		if (element)
		{
			var str = element.src;  
			element.src = '/media/images/common/arrow_1right.gif';
			element.style.display = "";
		}
	}

	function showHideNavUnit(groupid)
	{
		var element = document.getElementById(groupid); 

		if (element)
		{
			if (element.style.display == "none")
			{
				element.style.display = "";
			} 
			else 
			{
				element.style.display = "none";
			}	
			swapNavArrow('nav_arrow_' + unitNumber);
		}
	}

	function showHideNavLessons(unit){

		var element;
		var count = 1;
		var idString;
		var prefix = 'NavLesson';
		var lesson = 1;

		lesson = unit * 2 - 1;


		idString = prefix + '_' + lesson;
	
		element = document.getElementById(idString); 

		if (element)
		{
			if (element.style.display == "none")
			{
				element.style.display = "";

				showNavSpecialStrands(unit);
			} else {
				element.style.display = "none";
				hideNavStrands(lesson);
				//resetNavArrow('lesson_arrow_' + lesson);

				hideNavSpecialStrands(unit);
			}
		}
			
		lesson++;
		idString = prefix + '_' + lesson;
	
	
	
		element = document.getElementById(idString); 

		if (element)
		{
			if (element.style.display == "none")
			{
				element.style.display = "";
				showNavSpecialStrands(unit);
			} 
			else 
			{
				element.style.display = "none";
				hideNavStrands(lesson);
				resetNavArrow('lesson_arrow_' + lesson);
			}	
		}
	}

	function showHideNavSpecialStrands(lesson)
	{
		var element;
		var count = 6;
		var idString;
		var prefix = 'NavSpecial';
		
		idString = prefix + '_' + lesson + '_' + count;
		//alert(idString);

		while(element = document.getElementById(idString)) 
		{
			if (element.style.display == "none")
			{
				element.style.display = "";
			} 
			else 
			{
				element.style.display = "none";
			}
			count++;
			idString = prefix + '_' + lesson + '_' + count;
		}
		
	}

	function showNavSpecialStrands(unit)
	{
	//Temp
		var element;
		var count = 6;
		var idString;
		var prefix = 'NavSpecial';
		
		idString = prefix + '_' + unit + '_' + count;
		//alert(idString);

		while(element = document.getElementById(idString)) 
		{
			element.style.display = "";
			count++;
			idString = prefix + '_' + unit + '_' + count;
		}
	}

	function hideNavSpecialStrands(unit)
	{
	//Temp
		var element;
		var count = 6;
		var idString;
		var prefix = 'NavSpecial';
		
		idString = prefix + '_' + unit + '_' + count;
		//alert('hide>'+idString);

		while(element = document.getElementById(idString)) 
		{
			element.style.display = "none";
			count++;
			idString = prefix + '_' + unit + '_' + count;
		}
	}

		
	function hideNavStrands(lesson)
	{
		var element;
		var count = 1;
		var idString;
		var prefix = 'NavStrand';
		
		idString = prefix + '_' + lesson + '_' + count;

		while(element = document.getElementById(idString)) {
			element.style.display = "none";
			count++;
			idString = prefix + '_' + lesson + '_' + count;
		}

	}
	
	function showHideNavStrands(lesson, unit)
	{
		var element;
		var count = 1;
		var idString;
		var prefix = 'NavStrand';
		
		
		
		showNavSpecialStrands(unit);
		
		idString = prefix + '_' + lesson + '_' + count;

		while(element = document.getElementById(idString)) 
		{
				if (element.style.display == "none")
				{
					element.style.display = "";
					
				} 
				else 
				{
					element.style.display = "none";
				}
				count++;
				idString = prefix + '_' + lesson + '_' + count;
			}
	}


	function showNavStrand(prefix, strandNumber)
	{

		var element;

		element = document.getElementById(prefix + '_' + strandNumber); 

		if (element)
		{
			if (element.style.display == "none")
			{
				element.style.display = "";
				//swapArrow('strand', 'arrow_' + strandNumber);
			} 
		}
	}



//----------------------------------------------------------------------
//				visibility toggle functions for display strand
//				function in the TOC
//----------------------------------------------------------------------
	function toggle_visibility(prefix) {

		for(i = 1; i < 3; i++) {
	     var element = document.getElementById(prefix + i); 
			 if(element.style.display == "none") {  
				 element.style.display = "";  
			 } else {  
				 element.style.display = "none";  
			 }  
		 }

	}

//----------------------------------------------------------------------
//				Strand show/hide functions for display strand
//				function in the TOC
//----------------------------------------------------------------------
	function showStrand(prefix, strandNumber){

		var element = document.getElementById(prefix + '_' + strandNumber); 

		if (element)
		{
			if (element.style.display == "none")
			{
				element.style.display = "";
				swapArrow('arrow', 'arrow_' + strandNumber);
				strandExpanded[prefix + strandNumber] = 1;
			} 
		}
	}

	function hideStrand(prefix, strandNumber){

		var element = document.getElementById(prefix + '_' + strandNumber); 

		if (element)
		{
			if (element.style.display == "")
			{
				element.style.display = "none";
				swapArrow('arrow', 'arrow_' + strandNumber);
				strandExpanded[prefix + strandNumber] = 0;
			} 
			swapArrow('arrow', 'arrow_' + strandNumber);
		}
	}	

	function showHideStrand(prefix, strandNumber){

		var element;

			element = document.getElementById(prefix + '_' + strandNumber); 
			if (element)
			{
				if (element.style.display == "none")
				{
					element.style.display = "";
				} else {
					element.style.display = "none";
				}	
				swapArrow('arrow', 'arrow_' + strandNumber);
			}
	}

	function showAllStrand(prefix){
		var strandNumber = 1;
		var element;
			
			while (element = document.getElementById(prefix + strandNumber))
			{
			
				if (element.style.display == "none")
				{
					element.style.display = "";
					swapArrow('arrow', 'arrow_' + strandNumber);
					strandExpanded[prefix + strandNumber] = 1;
				} 
				swapArrow('arrow', 'arrow_' + strandNumber);
				strandNumber++;
			}
			
	}

	function hideAllStrand(prefix){
		var strandNumber = 1;
		var element;
			//alert(prefix);
			while (element = document.getElementById(prefix + strandNumber))
			{
			
				if (element.style.display == "")
				{
					element.style.display = "none";
					//swapArrow('arrow', 'arrow_' + strandNumber);
					strandExpanded[prefix + strandNumber] = 1;
				} 
				//swapArrow('arrow', 'arrow_' + strandNumber);
				strandNumber++;
			}
			
	}

// not yet working------------------------------------------------------------
		function showLesson(prefix, strandNumber) {
				
				var element;
				lessonExpanded[prefix + strandNumber] = 1;
				while(element = document.getElementById(prefix + '_' + strandNumber)) {
					showStrand(prefix, strandNumber);
					strandNumber++;				
					}
		}

		function hideLesson(prefix, strandNumber) {
				
				var element;
				lessonExpanded[prefix + strandNumber] = 0;
				while(element = document.getElementById(prefix + '_' + strandNumber)) {
					hideStrand(prefix, strandNumber);
					strandNumber++;
					}
		}

		function showHideLesson(prefix, strandNumber) {

				var element;
				if(!lessonExpanded[prefix + strandNumber]) {
					while(element = document.getElementById(prefix + '_' + strandNumber)) {
						showLesson(prefix, strandNumber);
						strandNumber++;
						}
				} else {
					while(element = document.getElementById(prefix + '_' + strandNumber)) {
						hideLesson(prefix, strandNumber);
						strandNumber++;
						}
				}

		}

		function showUnit(prefix, strandNumber) {
				var element;
				unitExpanded[prefix + strandNumber] = 1;
				while(element = document.getElementById(prefix + '_' + strandNumber)) {
					showLesson(prefix, strandNumber);
					strandNumber++;
				}
		}

		function hideUnit(prefix, strandNumber) {
				var element;
				unitExpanded[prefix + strandNumber] = 0;
				while(element = document.getElementById(prefix + '_' + strandNumber)) {
					hideLesson(prefix, strandNumber);
					strandNumber++;
				}
		}

		function showHideUnit(prefix, strandNumber) {
				var element;

				if(!unitExpanded[prefix + strandNumber]) {
					while(element = document.getElementById(prefix + '_' + strandNumber)) {
						showUnit(prefix, strandNumber);
						strandNumber++;
						}
				} else {

					while(element = document.getElementById(prefix + '_' + strandNumber)) {
						hideUnit(prefix, strandNumber);
						strandNumber++;
						}
				}
		}


		function showHideUnit() {
			var element;
			element = document.getElementById("unit");
			if(element.style.display = "none") {
			element.style.display = "";
			} else {
				element.style.display = "none";
			}
		}

		function showHideAssignmentAdvanced(prefix, lessons){

			var element;
			var element2;
			var count = 1;
			var count2 = 1;


			while(element = document.getElementById('assignment_advanced_header_' + count)) {
					if (element.style.display == "none")
					{
						element.style.display = "";
					} else {
						element.style.display = "none";
					}
					count++;
				}	

			while(element = document.getElementById(prefix + '_' + count2 + '_6')) {
					if (element.style.display == "none")
					{
						element.style.display = "";
					} else {
						element.style.display = "none";
					}
					count2++;
				}


				for (var i = 1; i <= lessons; i++) {
					if (element2 = document.getElementById('hideUntil_' + i)) {
						if (element2.style.display == "none")
						{
							element2.style.display = "";
						} else {
							element2.style.display = "none";
						}
					}
				}


		}


		function checkStrand(prefix, recitalStart) {
													
			var element;
			var count = recitalStart;
			var element1 = document.getElementById(prefix + "toggle_1");
			var element2 = document.getElementById(prefix + "toggle_2");
			if(!strandChecked[prefix]){
				element1.style.display = "none";
			  element2.style.display = "";
				//checkUncheckToggle(prefix + "toggle");
				while(element = document.getElementById(prefix + count)) { 
						element.checked = true;
						count++;
				} 
				strandChecked[prefix] = 1;		
			}
			else {
			 element1.style.display = "";
			 element2.style.display = "none";
				while(element = document.getElementById(prefix + count)) { 
						element.checked = false;
						count++;
				} 
				strandChecked[prefix] = 0;
			}
		}


		function checkLesson(prefix, strandStart, recitalStart) {
			
			var tempArray = new Array();
			strandChecked = tempArray;

			var element1 = document.getElementById(prefix + "toggle_1");
			var element2 = document.getElementById(prefix + "toggle_2");

			var strandCount = strandStart;
			var recitalCount = recitalStart;
			var temp;

			if(!lessonChecked[prefix]){
				element1.style.display = "none";
			  element2.style.display = "";
				while(temp = document.getElementById(prefix + strandCount + '_' + recitalCount)) {			
					checkStrand(prefix + strandCount + '_', recitalCount);
					while(temp = document.getElementById(prefix + strandCount + '_' + recitalCount)) {	
						recitalCount++;
					}
					strandCount++;
				}
				lessonChecked[prefix] = 1;
			} else {
				element1.style.display = "";
			  element2.style.display = "none";
				while(temp = document.getElementById(prefix + strandCount + '_' + recitalCount)) {
					strandChecked[prefix + strandCount + '_'] = 1;
					checkStrand(prefix + strandCount + '_', recitalCount);
					while(temp = document.getElementById(prefix + strandCount + '_' + recitalCount)) {	
						recitalCount++;
					}
					strandCount++;
				}
				lessonChecked[prefix] = 0;

			}
		}

		function checkUnit(prefix, lessonStart, strandStart, recitalStart) {
			var tempArray = new Array();
			strandChecked = tempArray;
			lessonChecked = tempArray;

			var element1 = document.getElementById(prefix + "toggle_1");
			var element2 = document.getElementById(prefix + "toggle_2");
			var element3;
			var element4;
			var strandCount = strandStart;
			var recitalCount = recitalStart;
			var lessonCount = lessonStart;
			var temp;

			if(!unitChecked[prefix]) {
				element1.style.display = "none";
			  element2.style.display = "";
				while(temp = document.getElementById(prefix + lessonCount + '_' + strandCount + '_' + recitalCount)) {
					
					element3 = document.getElementById(prefix + lessonCount  + "_toggle_1");
					element4 = document.getElementById(prefix + lessonCount  + "_toggle_2");
					element3.style.display = "none";
					element4.style.display = "";

					while(temp = document.getElementById(prefix + lessonCount + '_' + strandCount + '_' + recitalCount)) {
						checkStrand(prefix + lessonCount + '_' + strandCount + '_', recitalCount);
						while(temp = document.getElementById(prefix + lessonCount + '_' + strandCount + '_' + recitalCount)) {
							recitalCount++;
						}
						strandCount++;
					}
					lessonCount++;
				}
				unitChecked[prefix] = 1;
			} else {
				element1.style.display = "";
			  element2.style.display = "none";
				while(temp = document.getElementById(prefix + lessonCount + '_' + strandCount + '_' + recitalCount)) {
					
					element3 = document.getElementById(prefix + lessonCount  + "_toggle_1");
					element4 = document.getElementById(prefix + lessonCount  + "_toggle_2");
					element3.style.display = "";
					element4.style.display = "none";

					lessonChecked[prefix + lessonCount + '_'] = 1;
					while(temp = document.getElementById(prefix + lessonCount + '_' + strandCount + '_' + recitalCount)) {
						strandChecked[prefix + lessonCount + '_' + strandCount + '_'] = 1;
						checkStrand(prefix + lessonCount + '_' + strandCount + '_', recitalCount);
						while(temp = document.getElementById(prefix + lessonCount + '_' + strandCount + '_' + recitalCount)) {
							recitalCount++;
						}
						strandCount++;
					}
					lessonCount++;
				}
				unitChecked[prefix] = 0;
			}

		}

	//-----------------------------------------------------------------------------------------------------------------

	
		function showHideBlock(element){
			var linkName = document.getElementById(element).id + "Link";
			if (document.getElementById(element).style.display == "none")
			{
				document.getElementById(linkName).title="Hide Details";
				document.getElementById(element).style.display = "block";
			} else {
				document.getElementById(linkName).title="Display more information about this resource";
				document.getElementById(element).style.display = "none";
			}
		}

		function showHideVocab(prefix){
			
			var count = 1;
			var element;

			while(element = document.getElementById(prefix + '_' + count)) {
				if (element.style.display == "none")
				{
					element.style.display = "";
				} else {
					element.style.display = "none";
				}		
				count++;
			}

		}

		function showVocab(prefix){
			
			var count = 1;
			var element;

			while(element = document.getElementById(prefix + '_' + count)) {
				element.style.display = "";
				count++;
			}

		}

		function hideVocab(prefix){
			
			var count = 1;
			var element;

			while(element = document.getElementById(prefix + '_' + count)) {
				element.style.display = "none";
				count++;
			}

		}

		function showHideGroup(prefix, groupCount){
			
			var wordCount = 1;

			var element;
	
			while(element = document.getElementById(prefix + '_' + wordCount)) {
				if (element.style.display == "none") {
					element.style.display = "";
				} else {
					element.style.display = "none";
				}		
				wordCount++;
			}

			if (more = document.getElementById(prefix + '_more')) {
				if (more.style.display == "none") {
					more.style.display = "";
				} else {
					more.style.display = "none";
				}
			}
		}


		
		function showGroup(prefix, groupCount){
			
			var wordCount = 1;

			var element;
			var more;
		
				while(element = document.getElementById(prefix + '_' + wordCount)) {
					element.style.display = "";		
					wordCount++;
				}
				more = document.getElementById(prefix + '_more');
				more.style.display = "none";


		}
		


		function showHideGroups(prefix){
			
			var wordCount = 1;
			var groupCount = 1;

			var element;
		
			while(element = document.getElementById(prefix + '_' + groupCount + '_' + wordCount)) {
				while(element = document.getElementById(prefix + '_' + groupCount + '_' + wordCount)) {
					if (element.style.display == "none")
					{
						element.style.display = "";
					} else {
						element.style.display = "none";
					}		
					
					wordCount++;
				}
				wordCount = 1;
				groupCount++;
			}

		}


		function showOneHideOthers(prefix, currentGroup){

			var wordCount = 1;
			var groupCount = 1;
			var more;
			var element;
		
			while(element = document.getElementById(prefix + '_' + groupCount + '_' + wordCount)) {
				while(element = document.getElementById(prefix + '_' + groupCount + '_' + wordCount)) {
					if(currentGroup == groupCount) {

						element.style.display = "";
					}	else {
		
						element.style.display = "none";
					}
					wordCount++;
				}
	
				if(currentGroup == groupCount) {
				more = document.getElementById(prefix + '_' + groupCount + '_more');
				more.style.display = "none";
				} else {
					more = document.getElementById(prefix + '_' + groupCount + '_more');
				more.style.display = "";
				}

				wordCount = 1;
				groupCount++;				 

			}

		}


		function showGroups(prefix){
			
			var wordCount = 1;
			var groupCount = 1;
			var more;
			var element;
		
			while(element = document.getElementById(prefix + '_' + groupCount + '_' + wordCount)) {
				while(element = document.getElementById(prefix + '_' + groupCount + '_' + wordCount)) {
					element.style.display = "";	
					wordCount++;
				}
				more = document.getElementById(prefix + '_' + groupCount + '_more');
				more.style.display = "none";
				wordCount = 1;
				groupCount++;				 

			}

		}

		function hideGroups(prefix){
			
			var wordCount = 1;
			var groupCount = 1;
			var more;
			var element;
		
			while(element = document.getElementById(prefix + '_' + groupCount + '_' + wordCount)) {
				while(element = document.getElementById(prefix + '_' + groupCount + '_' + wordCount)) {
					element.style.display = "none";					
					wordCount++;
				}
				more = document.getElementById(prefix + '_' + groupCount + '_more');
				more.style.display = "";
				wordCount = 1;
				groupCount++;
			}

		}

		function toggle(sourceID, targetID) {
		
			sourceEle = document.getElementById(sourceID);
			targetEle = document.getElementById(targetID);

			if(sourceEle && targetEle){
				sourceEle.style.display = "none";
				targetEle.style.display = "";
			}
		}


		function playFile(proxy, filename, start, duration) {
			eval("flashProxy"+proxy).call('setFile', filename, start, duration);
		}
		function playOtherFile(proxy, filename) {
			eval("flashProxy"+proxy).call('playOther', filename);
		}

		function date2timestamp(str) {
			var arr = str.split('/',3);
			if (arr.length != 3) 
				return 0;

			// var dt = new Date();
			for (var i = 0;i < 3;i++)
				arr[i] = parseInt(arr[i],10);
			if (arr[2] < 1000)
				arr[2] += 2000;
			var dt = Date.UTC(arr[2],arr[0]-1,arr[1], 0, 0, 0);
			return dt;
		}


// Assignment date functions

	function checkDate(id, noAlert) {
		var duedate;
		var hideexamdate;
		if (id.substr(0,10) == 'assignDate') { // if I'm a due date
			hideexamdate = document.getElementById('hide_exam_date_'+id.substr(11));
			duedate = document.getElementById(id);
		}
		if (id.substr(0,14) == 'hide_exam_date') { // else I'm a hide exam date
			duedate = document.getElementById('assignDate_'+id.substr(15));
			hideexamdate = document.getElementById(id);
		}
		if (!hideexamdate || !duedate || !duedate.value || !hideexamdate.value)
			return;
			
		var ddate = date2timestamp(duedate.value);
		var hedate = date2timestamp(hideexamdate.value); 

		if (ddate && hedate && ddate < hedate) {
			if (noAlert) {
				return true;
			} else {
				alert("Assign date is less than Release Exam date.\nYour students will not be able to complete this activity before it is due.");
			}
		}
	}

	function cmpAssignHideDates(form, assign) {
		var lblLen = assign.length;
		for(i=0; i<form.elements.length; i++) {
			var fName = form.elements[i].name;
			if (fName.substring(0, lblLen) == assign) {
				var ident = form.elements[i].id;
				if (checkDate(ident, true)) {
					alert("At least one of your Assign dates is less than the Release Exam date.\nYour students will not be able to complete the activity before it is due.");
					return false;
				}
			}
		}
		return true;
	}

	function showWarning() {
		var element;
		element = document.getElementById("changesNotSavedWarning");
		element.style.display = "";
	}

	function hideWarning() {
		var element;
		element = document.getElementById("changesNotSavedWarning");
		element.style.display = "none";
	}


	function setAllDatesWarning() {
		return (confirm("This will fill in all checked dates."));
	}

	function setAllDates(dateFields, strand, dateToSetName) {	
		var dateToSet;

		if(setAllDatesWarning()){ 
			for (i = 2; i < dateFields.elements.length; i++) {
				if((dateFields.elements[i].type == 'text') && (dateFields.elements[i].name == strand + '[]')){	
					dateToSet = document.getElementById(dateToSetName);
					dateFields.elements[i].value = dateToSet.value;
				}
			}
		}
	}

	function setCheckedDates(dateFields, dateToSetName) {	
		var dateToSet = document.getElementById(dateToSetName);
		var numElements = dateFields.elements.length;
		var rowID = 0;
		var i;
		if(setAllDatesWarning()){ 
			for (i = 1; i < numElements; i++) {
				if(dateFields.elements[i].type == 'text'){
					var checkbox = document.getElementById('checkbox_' + dateFields.elements[i].id);						
						if (checkbox && checkbox.checked){
							dateFields.elements[i].value = dateToSet.value;
							highlightRow(rowID);
						}
						rowID++;
				}
			}
		}
	}

	function highlightRow(rowID) {
		var i;
		for (i=1; i <= 6; i++)
		{
				var row = document.getElementById('row_' + rowID + '_' + i);
				//alert(row.style.backgroundColor);
				if (row)
				{
					row.style.backgroundColor = "#ffffd0";
					
				}
		}
		
	}

	var fieldChecks = new Array(0);

	// walks thru fieldChecks array and compares current field
	// value with the old. Highlights row if changed
	function check_changes()
	{
		var idx;

		if (fieldChecks.length)
		{
			for (idx in fieldChecks)
			{
				var str = fieldChecks[idx];

				// ensure we still have an array
				if (fieldChecks.length == 0)
				{
					break;
				}

				// make sure we have a string
				if (typeof str != 'string')
				{
					continue;
				}

				var parts = str.split('|');
				var dateField = document.getElementById(parts[0]);
				var checkField = document.getElementById('old_'+parts[0]);
//				alert(dateField +'&&'+ checkField +'&&'+ dateField.value +'!='+ checkField.value);

				// if we have valid fields and they don't match
				if (dateField && checkField && dateField.value != checkField.value)
				{
					// activate Save warning
					showWarning();
					// highlight row
					highlightRow(parts[1]);
					// remove entry from fieldChecks array
					fieldChecks.splice(idx, 1);
//					alert('Changed: '+parts[1]);
				}
			}
			var t=setTimeout("check_changes()", 5000);	
		}
	}


	// adds a field to the fieldChecks array
	function add_check_date(field, row)
	{
		if (field.id && row.length && typeof field.id == 'string' && typeof row == 'string')
		{
			fieldChecks.push(field.id+'|'+row);
		}
//		alert(fieldChecks.length);
		check_changes();
	}


