var timer = 3; //set refresh length in seconds
var x = 1; //set start length in seconds
var y = 1; //set decrement for timer in seconds
function startClock(){
	x = x-y;
	//document.getElementById('status_timer').innerHTML = x;
	setTimeout("startClock()", 1000);
	if(x==0){
		checkForm(); //check the form
		x=timer;
		}
	}

/**
 *
 * @access public
 * @return void
 **/
function checkArtistOrg(artistValue, orgValue, cummulative){
	var total = document.survey.elements[artistValue].value + document.survey.elements[orgValue].value;
	document.survey.elements[cummulative].value= total;
	}

/**
*	Set the class of a form element to a "bad style"
*
*	@param	string	formatElement		form element to change style of
*	@param	string	formatClass			name of class to switch the form element to
*	@since	1.0
*	@name	setBad
*/
function setBad(formatElement, formatClass){
	if (formatClass == "ZIPCODE") {
		document.getElementById(formatElement).className= 'form_text_single_zip_bad';
		}
	else {
		document.getElementById(formatElement).className= 'form_text_single_bad';
		}
	}

/**
*	Set the class of a form element to a "good style"
*
*	@param	string	formatElement		form element to change style of
*	@param	string	formatClass			name of class to switch the form element to
*	@since	1.0
*	@name	goodBad
*/
function setGood(formatElement, formatClass){
	if (formatClass == "ZIPCODE") {
		document.getElementById(formatElement).className= 'form_text_single_zip_good';
		}
	else {
		document.getElementById(formatElement).className= 'form_text_single_good';
		}
	}

/**
*	Set the class of a form element to a "blank style", as if the form element was empty
*
*	@param	string	formatElement		form element to change style of
*	@param	string	formatClass			name of class to switch the form element to
*	@since	1.0
*	@name	setEmpty
*/
function setEmpty(formatElement, formatClass){
	if (formatClass == "ZIPCODE") {
		document.getElementById(formatElement).className= 'form_text_single_zip';
		}
	else {
		document.getElementById(formatElement).className= 'form_text_single';
		}
	}

/**
*	Checks the form for required fields filled in and specially formatted fields meeting a criteria
*	return	array	returns an array with the following information numBadFormat[0](number of badly formatted fields, statusFormat[1](list of badly formatted fields), numRequiredMissing[2](number of required fields missing input), statusInfo[3](list of required fields missing input)
*	@since	1.0
*	@name	checkForm
*/
function checkForm(){
	arrFormElements(); //initalize array of form information
	var numRequiredMissing = 0;
	var numBadFormat = 0;
	var statusInfo = "";
	var statusFormat = "";
	for (var current = 0; current < arrFormSourceLength; current++) {
		if (document.survey.elements[arrFormSource[current][2]].length > 1  && arrFormSource[current][3] == "TRUE") {
			var num_checked = 0;
			for (var curr_sub = 0; curr_sub < document.survey.elements[arrFormSource[current][2]].length; curr_sub++) {
				if (document.survey.elements[arrFormSource[current][2]][curr_sub].checked == true) {
					num_checked ++;
					}
				else if (document.survey.elements[arrFormSource[current][2]][curr_sub].selected == '') {
					if (document.survey.elements[arrFormSource[current][2]][curr_sub].value == '') {
						num_checked ++;
						}
					}
				}
			if (num_checked == 0) {
				statusInfo = statusInfo + arrFormSource[current][0] + "<br/ >";
				numRequiredMissing += 1;
				}
			}
		else if (document.survey.elements[arrFormSource[current][2]].value == '' && arrFormSource[current][3] == "TRUE") {
			statusInfo = statusInfo + arrFormSource[current][0] + "<br/ >";
			numRequiredMissing += 1;
			}
		//Check expressions start
		var emailEXP = /^\w(\.?(\-|\w))*@\w(\.?[-\w])*\.([a-z]{3}(\.[a-z]{2})?|[a-z]{2}(\.[a-z]{2})?)$/i;
		var phoneEXP =  /^(\d{1,3}(\s)?-(\s)?)?(\d{3}(\s)?-(\s)?){2}\d{4}(\s)?(ext(\.)?(\s)\d{1,6})?$/i;
		var urlEXP = /^((http:\/\/)?[a-z]*\.)?.+\..+$/i;
		var zipEXP = /^(\d{5}(-\d{4})?|[a-z]{1,2}[\da-z]{1,2} ?\d[a-z][a-z])$/i;
		var faxEXP =  /^(\d{1,3}(\s)?-(\s)?)?(\d{3}(\s)?-(\s)?){2}\d{4}(\s)?$/i;
		var titleEXP = /^[A-Z]{1,1}/;
		var yearEXP = /\d{4}/i;
		var artistexp = /^(\s*(\s*([a-z]([a-z]|\.|\-){0,100}\s*)*(\,)?){1,3}(;|\0*|\s*))*$/mi;
		var orgexp = /^(\s*(\s*\w(.){0,100}\s*)*(;|\0*))*$/mi;
		//Check expressions end
		//Check Format if format is not NULL in source array
		if (arrFormSource[current][4] != "NULL") {
			if (!document.survey.elements[arrFormSource[current][2]].value) {
				setEmpty("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
				}
			else {
				//Check EMAIL
				if (arrFormSource[current][4] == "EMAIL") {
					if (!emailEXP.test(document.survey.elements[arrFormSource[current][2]].value)) {
						setBad("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						statusFormat = statusFormat + arrFormSource[current][0] + "<br />";
						numBadFormat += 1;
						}
					else {
						setGood("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						}
					}
				//Check PHONE
				if (arrFormSource[current][4] == ("PHONE" || "FAX")) {
					if (!phoneEXP.test(document.survey.elements[arrFormSource[current][2]].value)) {
						setBad("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						statusFormat = statusFormat + arrFormSource[current][0] + "<br />";
						numBadFormat += 1;
						}
					else {
						setGood("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						}
					}
				//Check URL
				if (arrFormSource[current][4] == "URL") {
					if (!urlEXP.test(document.survey.elements[arrFormSource[current][2]].value)) {
						setBad("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						statusFormat = statusFormat + arrFormSource[current][0] + "<br />";
						numBadFormat += 1;
						}
					else {
						setGood("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						}
					}
				//Check ZIPCODE
				if (arrFormSource[current][4] == "ZIPCODE") {
					if (!zipEXP.test(document.survey.elements[arrFormSource[current][2]].value)) {
						setBad("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						statusFormat = statusFormat + arrFormSource[current][0] + "<br />";
						numBadFormat += 1;
						}
					else {
						setGood("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						}
					}
				//Check FAX
				if (arrFormSource[current][4] == "FAX") {
					if (!faxEXP.test(document.survey.elements[arrFormSource[current][2]].value)) {
						setBad("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						statusFormat = statusFormat + arrFormSource[current][0] + "<br />";
						numBadFormat += 1;
						}
					else {
						setGood("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						}
					}
				//Check TITLE
				if (arrFormSource[current][4] == "TITLE") {
					if (!titleEXP.test(document.survey.elements[arrFormSource[current][2]].value)) {
						setBad("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						statusFormat = statusFormat + arrFormSource[current][0] + "<br />";
						numBadFormat += 1;
						}
					else {
						setGood("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						}
					}
				//Check YEAR
				if (arrFormSource[current][4] == "YEAR") {
					if (!yearEXP.test(document.survey.elements[arrFormSource[current][2]].value)) {
						setBad("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						statusFormat = statusFormat + arrFormSource[current][0] + "<br />";
						numBadFormat += 1;
						}
					else {
						setGood("FORMAT_" + arrFormSource[current][1], arrFormSource[current][4]);
						}
					}
				//
				}
			}
	  	}
	if (numBadFormat == 0) {
		document.getElementById('status_format_focus').innerHTML = "No fields are formatted improperly";
		document.getElementById('status_format_number').innerHTML = "Formatted improperly: " + numBadFormat + " field(s)";
		}
	else {
		document.getElementById('status_format_focus').innerHTML = "<strong>" + statusFormat + "</strong>";
		document.getElementById('status_format_number').innerHTML = "Formatted improperly: " + numBadFormat + " field(s)";
		}
	if (numRequiredMissing == 0) {
		document.getElementById('status_required_focus').innerHTML = "All required fields are complete";
		document.getElementById('status_required_number').innerHTML = (numRequiredTotal - numRequiredMissing) + " of "  + numRequiredTotal + " completed (100%)";
		document.survey.FORM_required_status.value=1;
		}
	else {
		document.getElementById('status_required_focus').innerHTML = "<strong>" + statusInfo + "</strong>";
		document.getElementById('status_required_number').innerHTML = (numRequiredTotal - numRequiredMissing) + " of "  + numRequiredTotal + " completed (" + Math.round(100 - ((100/numRequiredTotal) * numRequiredMissing)) + "%)";
		document.survey.FORM_required_status.value=0;
		}
	return [numBadFormat, statusFormat, numRequiredMissing, statusInfo];
	}

function selectState(waandFormID){
	arrFormElements(); //initalize array of form information
	for (var currentDiv = 0; currentDiv < arrFormSourceLength; currentDiv++) {
		if (waandFormID == arrFormSource[currentDiv][1]) {
			if (arrFormSource[currentDiv][3] == "TRUE") {
				document.getElementById(arrFormSource[currentDiv][1]).className= 'form_question_active_req';
				}
			else {
				document.getElementById(arrFormSource[currentDiv][1]).className= 'form_question_active';
				}
			}
		else {
			document.getElementById(arrFormSource[currentDiv][1]).className= 'form_question';
			}
		}
	}

function subForm() {
	var numBadFormat = checkForm();
	if (numBadFormat[0] > 0) {
		var error_message = numBadFormat[1].replace(/<br \/>/g, '\r\n');
		alert('There are ' + numBadFormat[0] + ' field(s) formatted improperly.  You must fix the following field(s) to save your record.\r\n\r\n' + error_message);
		}
	else {
		document.survey.submit();
		}
	}

function register(formID) {
	var emailEXP = /^\w(\.?(\-|\w))*@\w(\.?[-\w])*\.([a-z]{3}(\.[a-z]{2})?|[a-z]{2}(\.[a-z]{2})?)$/i;
	var error_message = "";
	//name section
	if (document.getElementById(formID).firstname.value.length == 0) {
		error_message += "You must submit a First name\n";
		}
	if (document.getElementById(formID).lastname.value.length == 0) {
		error_message += "You must submit a Last name\n";
		}
	//email section
	if (document.getElementById(formID).email.value.length == 0) {
		error_message += "You must submit an Email address\n";
		}
	else {
		if (document.getElementById(formID).confirm_email.value.length == 0) {
			error_message += "You must submit a confirmation email address\n";
			}
		else {
			if (document.getElementById(formID).email.value != document.getElementById(formID).confirm_email.value) {
				error_message += "Both email address must be the same\n";
				}
			else {
				if (!emailEXP.test(document.getElementById(formID).email.value)) {
					error_message += "Email addresses provided is not formatted properly\n";
					}
				}
			}
		}
	//password section
	if (document.getElementById(formID).pwd.value.length < 8 || document.getElementById(formID).pwd.value.length > 25) {
		error_message += "Password must be between 8 and 25 characters in length\n";
		}
	else {
		if (document.getElementById(formID).pwd.value != document.getElementById(formID).confirm_pwd.value) {
			error_message += "Both Passwords must match each other\n";
			}
		}
	//secret question section
	if (document.getElementById(formID).secret_question.value == 0) {
		error_message += "You must select a secret question\n";
		}
	if (document.getElementById(formID).secret_answer.value.length == 0) {
		error_message += "You must submit a secret answer\n";
		}
	//end
	if (error_message != '') {
		alert(error_message);
		}
	else {
		document.getElementById(formID).submit();
		}
	}

function resetPasswordCheck(formID){
	var error_message = "";
	//reset password check
	if (document.getElementById(formID).pwd.value.length < 8 || document.getElementById(formID).pwd.value.length > 25) {
		error_message += "Password must be between 8 and 25 characters in length\n";
		}
	else {
		if (document.getElementById(formID).pwd.value != document.getElementById(formID).confirm_pwd.value) {
			error_message += "Both Passwords must match each other\n";
			}
		}
	//end
	if (error_message != '') {
		alert(error_message);
		}
	else {
		document.getElementById(formID).submit();
		}
	}

function deleteCollection(formID) {
	if(confirm("Deleting this collection record will also delete its associated artist/organization record information.\n Are you sure you want to delete this record?")) {
		document.getElementById(formID).submit();
		}
	}

function addSubCollection(formID) {
	if(document.getElementById(formID).__INP_Entity__entityID.value != '') {
		document.getElementById(formID).submit();
		}
	else {
		alert('You must choose an artist/organization to continue.');
		}
	}

function editSubCollection(formID) {
	if(document.getElementById(formID).__COL_Collection__collID.value != '') {
		document.getElementById(formID).submit();
		}
	else {
		alert('You must choose a artist/organization to continue.');
		}
	}

function viewSubCollection(formID) {
	if(document.getElementById(formID).__COL_Collection__collID.value != '') {
		//document.getElementById(formID).submit();
		popUp('view.php?type=coll&id=' + document.getElementById(formID).__COL_Collection__collID.value);
		}
	else {
		alert('You must choose an artist/organization to continue.');
		}
	}

function viewEntity(formID) {
	if(document.getElementById(formID).__INP_Entity__entityID.value != '') {
		popUp('view.php?type=ent&id=' + document.getElementById(formID).__INP_Entity__entityID.value);
		}
	else {
		alert('You must select a record to view.');
		}
	}

function viewEntityAdmin(formID) {
	if(document.getElementById(formID).__INP_Entity__entityID.value != '') {
		popUp('../view.php?type=ent&id=' + document.getElementById(formID).__INP_Entity__entityID.value);
		}
	else {
		alert('You must select a record to view.');
		}
	}

function deleteSubCollection(formID) {
	if(document.getElementById(formID).__COL_Collection__collID.value != '') {
		if(confirm("Are you sure you want to delete this artist/organization record?")) {
			document.getElementById('Delete'+formID).__COL_Collection__collID.value = document.getElementById(formID).__COL_Collection__collID.value;
			document.getElementById('Delete'+formID).submit();
			//window.location.href='processor.php?FORM_action=deleteColl&collid=' + document.getElementById(formID).__COL_Collection__collID.value;
			}
		}
	else {
		alert('You must choose a artist/organization to delete.');
		}
	}

function changeOwner(formID) {
	if(document.getElementById(formID).__INP_Entity__entityID.value != '') {
		document.getElementById('Change'+formID).__INP_Entity__entityID.value = document.getElementById(formID).__INP_Entity__entityID.value;
		document.getElementById('Change'+formID).submit();
		}
	else {
		alert('You must choose an entity to change ownership of');
		}
	}

function changeOwnerSubmit(formID) {
	if(document.getElementById(formID).NEW__INP_Entity__repID.value != '') {
		if(confirm("Are you sure you want to change ownership of this entity?")) {
			document.getElementById(formID).submit();
			}
		}
	else {
		alert('You must choose a repository to change ownership to');
		}
	}

function deleteEntity(formID) {
	if(document.getElementById(formID).__INP_Entity__entityID.value != '') {
		if(confirm("Are you sure you want to delete this entity and any associated artist/organization information?")) {
			document.getElementById(formID).submit();
			}
		}
	else {
		alert('You must choose an entity to delete.');
		}
	}

function deleteRepository(formID) {
	if(document.getElementById(formID).__REP_Repository__repID.value != '') {
		if(confirm("Are you sure you want to delete this repository record and all collection owned by it?\n\nEntities owned by thie repository will not be deleted.  They will be owned by the WAAND Administration group.")) {
			document.getElementById(formID).submit();
			}
		}
	else {
		alert('You must choose a artist/organization to delete.');
		}
	}

function editArtist(formID) {
	if(document.getElementById(formID).__INP_Entity__entityID.value != '') {
		document.getElementById(formID).submit();
		}
	else {
		alert('You must choose an artist to continue.');
		}
	}

function editEntity(formID) {
	if(document.getElementById(formID).__INP_Entity__entityID.value != '') {
		document.getElementById('Edit'+formID).__INP_Entity__entityID.value = document.getElementById(formID).__INP_Entity__entityID.value;
		document.getElementById('Edit'+formID).submit();
		}
	else {
		alert('You must choose an entity to continue.');
		}
	}

function editOrg(formID) {
	if(document.getElementById(formID).__INP_Entity__entityID.value != '') {
		document.getElementById(formID).submit();
		}
	else {
		alert('You must choose an organization to continue.');
		}
	}

function LogOutConfirm() {
	if(confirm("Are you sure you want to logout?")) {
		document.logout.submit();
		}
	}

function AdminExit() {
	if(confirm("Are you sure you want to exit this Repository record and return to main management page?")) {
		document.logout.submit();
		}
	}

//LOREN'S FUNCTIONS
<!--
function popUp(page) {
   OpenWin = this.open(page, "CtrlWindow", "toolbar=no, width=640, height=500, screenY=130, screenX=40, menubar=no,location=no,scrollbars=yes,resizable=yes");
}

function trim(str)
{
   str = str.replace( /^\s+/g, "" );
   return str.replace(/\s+$/g,"");
}


function remSpaces(str)
{
   return str.replace(/\s/g, "");
}


// use this function when a checkbox value in a
// checkbox array needs to be exclusively checked
function checkUndo(cbxname, val, xind) {
	var arr = document.survey.elements[cbxname];
    if(val != arr[xind].value) {
		arr[xind].checked = false;
		return;
		}
	if(arr[xind].checked == true) {
		for(var i = 0; i < xind; ++ i) {
			arr[i].checked = false;
			}
		}
	}


function isUniqueKW(val, storeVal)
{
    var kws = new String(storeVal).split(";");

    for(var i = 0; i < kws.length; i++) {
       if(remSpaces(kws[i].toLowerCase())
          == remSpaces(val.toLowerCase())) return false;
    }

    return true;
}




function isUniqueEntKW(val, storeVal)
{
    var kws = new String(storeVal).split(";");

    for(var i = 0; i < kws.length; i++) {
        var k = kws[i];

       if(remSpaces(k.toLowerCase())
          == remSpaces(val.toLowerCase())) return false;


		var ki = k.indexOf(',')+1;
		var vi = val.indexOf(',')+1;

		if((ki < k.length) && (vi < val.length)) {
		   var ksl = k.slice(ki);
		   var vsl = val.slice(vi);

		   ksl = ksl.replace(/\,/g, "");
		   ksl = ksl.replace(/\s/g, "");
		   vsl = vsl.replace(/\,/g, "");
		   vsl = vsl.replace(/\s/g, "");

		   if(ksl.toLowerCase() == vsl.toLowerCase())
			   return false;
		}

    }

    return true;
}

function addPullKW(valbox)
{
   // to be considered:
   //  macs only use \r for new lines
   // windows uses \r\n
   alert (valbox);
   /*var valine = (valbox.value).split("\n");

   for(var i = 0; i < valine.length; i++)
   {
       var vals = (valine[i]).split(";");

	   for(var j = 0; j < vals.length; j++)
	   {
          if (trim(vals[j]) &&
			  (trim(vals[j]) != '\r') &&
			  (trim(vals[j]) != '\n') &&
			  (trim(vals[j]) != '\r\n') &&
		      isUniqueKW(vals[j], store.value)) {
			  var sv = store.value;

			  if((sv.length > 0) && sv.charAt(sv.length-1) != ';') {
				  store.value += ";";
			  }

              store.value += trim(vals[j]) + ";";
	          view[view.length] = new Option(vals[j], vals[j]);
          }
       }
   }

   valbox.value = "";*/
}

function addKW(valbox, view, store) {
	// to be considered:
	//  macs only use \r for new lines
	// windows uses \r\n
	var valine = (valbox.value).split("\n");
	for(var i = 0; i < valine.length; i++) {
		var vals = (valine[i]).split(";");
		for(var j = 0; j < vals.length; j++) {
			if (trim(vals[j]) &&
			(trim(vals[j]) != '\r') &&
			(trim(vals[j]) != '\n') &&
			(trim(vals[j]) != '\r\n') &&
			isUniqueKW(vals[j], store.value)) {
				var sv = store.value;
				if((sv.length > 0) && sv.charAt(sv.length-1) != ';') {
					store.value += ";";
					}
				store.value += trim(vals[j]) + ";";
				view[view.length] = new Option(vals[j], vals[j]);
				}
			}
		}
	valbox.value = "";
	}

function remKW(view, store)
{
   var kws = new String(store.value).split(";");
   var rem = "";

   for (var i = view.length-1; i > 0; i--)
   {
      if (view[i].selected) {
          view[i] = null;
          rem += kws[i-1] + ";";
	      kws.splice(i-1,1);
      }
   }

   // re-setup store
   store.value = "";
   for(var i = 0; i < kws.length; i++) {
	   if(kws[i]) {
	      store.value += kws[i] + ";";
	   }
   }

   return rem;
}




function remEntKW(view, store, rem)
{
   var kws = new String(store.value).split(";");

   for (var i = view.length-1; i > 0; i--)
   {
      if (view[i].selected) {
          view[i] = null;

		  if(isUniqueKW(kws[i-1], rem.value)) {
		     rem.value += kws[i-1] + ";";
		  }

	      kws.splice(i-1,1);
      }
   }

   // re-setup store
   store.value = "";
   for(var i = 0; i < kws.length; i++) {
	   if(kws[i]) {
	      store.value += kws[i] + ";";
	   }
   }

}



function editKW(valbox, view, store, swapout)
{
    var kws = new String(store.value).split(";");

   // get values from view
   for (var i = view.length-1; i > 0; i--)
   {
      if (view[i].selected)
      {
		  var newval = view[i].value + "\r\n";
		  valbox.value = newval + valbox.value;

          if(swapout) {
            view[i] = null;
            kws.splice(i-1,1);
		  }
      }


   }

   if(swapout) {
	 // re-setup store
     store.value = "";
     for(var i = 0; i < kws.length; i++) {
	   if(kws[i]) {
	      store.value += kws[i] + ";";
	   }
     }
   }

}


 function setSubjects(depth) {
      if(survey.collSubjects_view && survey.subCollDepth) {

        var view = survey.collSubjects_view;
        var ent = splitEnt(view.value);

		if(ent[0]) {
		  survey.entityName.value = view.value;

		  document.getElementById('entityNameBox').innerHTML = '<table><tr><td valign=bottom style=\'color:#222;font-size:10pt;font-weight:bold;\'>Subject:&nbsp;&nbsp;</td><td valign=bottom><table><tr><td style=\'color:#222;font-size:10pt;font-weight:bold\'>'+ent[0]+'&nbsp;</td><td valign=bottom align=right style=\'color:#444;font-size:7pt;\'> - '+(parseInt(ent[1],10)-1?'Organization':'Artist')+'</td></tr></table></td></tr><tr><td colspan=2><hr></td></tr></table>';
	   }

          if(survey.subCollDepth) {
	       survey.subCollDepth[parseInt(depth, 10)].checked = true;
          }
      }
   }




 function setRdoText(valbox, store, rdo)
 {
	if(store && valbox && rdo) {
      valbox.value='';

      if(!store.value) {
	     rdo.checked = true;

	  } else {
		 rdo.checked = false;
	  }

	   valbox.value = store.value;
	}

 }




 function set(valbox, value)
 {
	 if(valbox) {
	   valbox.value = value;
	 }
 }




function setCheck(check, store)
{
    if(store && check) {
     var kws = new String(store.value).split(";");


     for (i = 0; i < check.length; i++)
     {
		 for (j = 0; j < kws.length; j++)
		 {
			 if(check[i].value == kws[j]) {
		        check[i].checked = true;
				break;
		    }
		 }
     }


  }
}



function isChecked(check)
{
   if(check) {
       for (i = 0; i < check.length; i++)
       {
	      if(check[i].checked == true) {
		     return true;
		  }

       }
   }

   return false;
}



function setKW(view, store)
{
   if(store && view) {
     var kws = new String(store.value).split(";");

     view[0].selected = false;

     for (i = 1; i < view.length; i++)
     {
		 for (j = 0; j < kws.length; j++)
		 {
			 if(view[i].value == kws[j]) {
		        view[i].selected = true;
				break;
		    }
		 }
     }


  }

}




function loadKW(view, store)
{

  if(store && view) {
     var kws = new String(store.value).split(";");

     for (i = 0; i < kws.length; i++)
     {
		 if(kws[i]) {
	        view[i+1] = new Option(kws[i], kws[i]);
		 }
     }

  }

}



function splitEnt(ent, withStatus)
{
   var na = new Array();
   var pos = 2;
   var offset = 1;

   if (withStatus) { pos = 4; offset = 2; }

   var val = ent.substr(0, ent.length-pos);
   var meta = ent.substr(ent.length-pos, ent.length);
   var ma = meta.split("_");

   na[0] = val;
   na[1] = ma[ma.length-offset];
   na[2] = (withStatus ? ma[ma.length-1] : '');

   return na;
}



function loadEntKW(view, store)
{

  if(store && view) {
     var kws = new String(store.value).split(";");

     for(i = 0; i < kws.length; i++)
     {
		if(kws[i]) {
	      var vm = splitEnt(kws[i], false);
	      view[i+1] = new Option(vm[0], kws[i]);
		}

     }

  }

}




function addEntKW(val, view, store, type)
{
	// to be considered:
   //  macs only use \r for new lines
   // windows uses \r\n
  var line = val ? (val.value).split("\n") : "";

  if(line) {
		for(var i = 0; i < line.length; i++)
		{
			var vals = (line[i]).split(";");

			for(var j = 0; j < vals.length; j++)
			{
		         var vm = vals[j] + "_"+type;

			  if (trim(vals[j]) &&
			      (trim(vals[j]) != '\r') &&
			      (trim(vals[j]) != '\n') &&
			      (trim(vals[j]) != '\r\n') &&
			      isUniqueEntKW(vm, store.value)) {
				  // + test uniqueness of artist names that have semi-colons: Levy, Ellen K. == Levy, Ellen, K. !
				   var sv = store.value;

			      if(sv.length > 0 && sv.charAt(sv.length-1) != ';') {
				     store.value += ";";
			      }

				  store.value += trim(vm) + ";";
				  view[view.length] = new Option(vals[j], vm);
			  }
			}
        }
	}

   val.value = "";
}



function editEntKW(view, store, swapout)
{
   var kws = new String(store.value).split(";");

   // get values from view
   for (var i = view.length-1; i > 0; i--)
   {
      if (view[i].selected)
      {
		  var vc = splitEnt(view[i].value, false);
		  var newval = vc[0] + "\r\n";

		 if(vc[1] == '1') {
            survey.collEntities_art.value = newval + survey.collEntities_art.value;

		  } else if(vc[1] == '2'){
		    survey.collEntities_org.value = newval + survey.collEntities_org.value;

		  }


          if(swapout) {
             view[i] = null;
             kws.splice(i-1,1);
		  }
      }
   }


    if(swapout) {
      // re-setup store
      store.value = "";
      for(var i = 0; i < kws.length; i++) {
	     if(kws[i]) {
	        store.value += kws[i] + ";";
	     }
      }
    }

}




function getSelected(view, recstr)
{
	var p = 0;

   // get values from view
   for (var i = view.length-1; i > 0; i--)
   {
	   var newval = view[i].value + ";";

	  if (view[i].selected)
      {
		  if(isUniqueKW(view[i].value, recstr.value)) {
             recstr.value = newval + recstr.value;
		  }
      }
   }


   return (recstr.value).split(";");
}




function remRec(rec, index)
{
   recstr = rec;
   var reca = recstr.value.split(";");
   var last  = reca.length-1;
   recstr.value = "";

   if(confirm("Are you sure you want to delete this record?")) {
   for(var i = last; i >= 0; i--) {
	   if(i == index) {
          reca.splice(i,1);
		  continue;
	   }

       if(reca[i]) {
          recstr.value = reca[i] + ";" + recstr.value;
	   }
   }


     setEntRecs(reca, recstr);
   }

}

function remCollRec(index)
{

   if(confirm("Deleting this record will also delete its associated sub-collection records.\n Are you sure you want to delete this record?")) {
	  survey.remColl.value = index;
	  survey.page.value = 5;
      survey.submit();
   }

}

function setEntRecs(vals)
{

	if(vals && survey.page.value == '10')
	{

        var recs = "<table cellpadding=10 width=100%>";


		for(var i = 0; i < vals.length; i++)
		{
			var eac = splitEnt(vals[i], true);
			if(!eac[0]) { continue; }


			var status = parseInt(eac[2],10);
			var type = (eac[1] == '2' ? 'Organization' : 'Artist');
			var page = (eac[1] == '2' ? '12' : '11');

			var clr = '';
			var rvw = '';
			var editText = 'Add Details';

			if(i % 2) {
			  clr = '#ccccbb';
			}  else {
			  clr =  '#ffffff';
			}

			if (status) {
				clr = '#999999';
				editText = 'Revise';

			}

             rvw = "| <a href='' style='text-decoration:underline' onClick=\"popUp('includes/view.php?entityName="+escape(eac[0])+"&entityType="+eac[1]+"');return false;\">View</a>";

			recs +=
			  "<tr bgcolor="+clr+"><td width=50%><table><tr><td><b style='color:#333;font-size:10pt'>&nbsp;"+eac[0]+"</b></td></tr><tr><td>&nbsp;&nbsp;&nbsp;<a style='text-decoration:underline' href='' onClick=\"javascript:survey.entityName.value='"+escape(eac[0])+"';survey.entityType.value='"+eac[1]+"';survey.page.value="+page+";survey.submit();return false;\">"+editText+"</a> "+rvw+"</td></tr></table></td><td width=30%><span style='font-weight:bold'>"+type+"</span></td><td width=20%>&nbsp;<span style='font-weight:bold;'>"+(status?'Complete':'Incomplete')+"</span></td></tr>";

		  }


		  if(!vals.length) {
		     recs +=   "<tr bgcolor=white><td align=center colspan=2>There is no information provided for artists or organizations.</td></tr>";
		  }


		  document.getElementById('entRecs').innerHTML = recs+"</table></td></tr>";
		  //alert(document.getElementById('entRecs').innerHTML);
	  }
}



function setCollRecs(vals, incfold, status)
{
	if(vals && survey.page.value == '5')
	{
        var recs = "<table cellpadding=10 width=100%>";
        var cnt = 0;

		for(i in vals)
		{
			if(!vals[i]) { continue; }

			var clr = '';

			if(cnt % 2) {
				clr = '#ccccbb';
			} else { clr =  '#ffffff'; }
            cnt++;

		     var level = survey.collLevel.value;
		     level += level ? ('_'+i) : i;

			 cp = "<span style='font-weight:bold;'>"+(parseInt(status[i], 10)?'Complete':'Incomplete')+"</span>";

			  recs +=
				"<tr bgcolor='"+clr+"' width=100%><td width='80%'><table><tr><td>"+(parseInt(incfold[i],10)?("<a href='' onClick=\"javascript:survey.contextLink.value='1';survey.collLevel.value='"+level+"';survey.submit();return false;\" title='manage collection components'><img src='js/tree_menu/icons/folder.gif' border=0></a>"):"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;")+"</td><td><b style='color:#333;font-size:10pt'>"+vals[i]+"</b></td></tr><tr><td></td><td>&nbsp;&nbsp;<a style='text-decoration:underline' href='' onClick=\"javascript:survey.page.value=6;survey.collID.value="+i+";survey.collName.value='"+escape(vals[i])+"';survey.submit();return false;\">Revise</a> | <a href='' style='text-decoration:underline' onClick=\"popUp('includes/view.php?collID="+i+"');return false;\">View</a> | <a style='text-decoration:underline' href='' onClick='javascript:remCollRec("+i+");return false;'>Delete</a></td></tr></table></td><td>"+cp+"</td></tr>";

		 }


		  if(!vals.length) {
		     recs +=   "<tr bgcolor=white><td colspan=2 align=center>There is no Collection record information provided at this level.</td></tr>";
		  }

		    document.getElementById('collRecs').innerHTML = recs+"</table>";

	}

}

function selJump(browse, letter)
{
   for(var i = 1; i < browse.length; i++) {
      if(new String(browse[i].value.charAt(0)).toLowerCase() == new String(letter).toLowerCase()) {
	     browse.selectedIndex=i; break;
      }
   }
}

-->
