  window.onunload = function () {closeDialogue("dialogueBox")};
  
  function submitEntry (form) {
    form.artworkFileLocalPath.value = form.artworkFileLocal.value;
    form.photoFileLocalPath.value = form.photoFileLocal.value;
	var errorMessage = "";
	if (form.firstName.value == "") errorMessage += "First name\n";
	if (form.lastName.value == "") errorMessage += "Last name\n";
	if (form.age.selectedIndex < 1) errorMessage += "Age\n";
	if (form.groupNumber.selectedIndex < 1) errorMessage += "Group number\n";
	if (form.birthdateMonth.selectedIndex < 1 || form.birthdateYear.selectedIndex < 1) errorMessage += "Birthdate (month and year)\n";
	if (form.phone.value == "") errorMessage += "Phone number\n";
	if (form.address.value == "") errorMessage += "Address\n";
	if (form.city.value == "") errorMessage += "City\n";
	if (form.state.value == "") errorMessage += "State\n";
	if (form.zip.value == "") errorMessage += "ZIP code\n";
	if (form.schoolName.value == "") errorMessage += "School name\n";
	if (form.schoolAddress.value == "") errorMessage += "School address\n";
	if (form.schoolCity.value == "") errorMessage += "School city\n";
	if (form.schoolState.value == "") errorMessage += "School state\n";
	if (form.schoolZip.value == "") errorMessage += "School ZIP code\n";	
	
	if (errorMessage != "") {	  
	  alert ("Please make sure you have entered the following information:\n\n" + errorMessage);
	  return false;
	}
	
	if (form.entryTitleEssay.value == "" && form.entryTitleArtwork.value == "" && form.entryTitlePhoto.value == "") {
	  alert ("Please make sure you have entered at least one of these entries: essay, photo, and artwork.");
	  return false;
	}
	
	if ((form.entryTitleEssay.value == "" && form.essay.value != "" )|| (form.entryTitleEssay.value != "" && form.essay.value == "")) {
	  alert ("Please enter both the entry title and the essay content if you choose to submit a essay as one of your entries.");
	  form.essay.focus();
	  return false;
	}
	
	if ((form.entryTitleArtwork.value == "" && form.artworkFileLocal.value != "" )|| (form.entryTitleArtwork.value != "" && form.artworkFileLocal.value == "")) {
	  alert ("Please enter the entry title and select an artwork from your computer if you choose to submit an artwork as one of your entries.");
	  return false;
	}
	
	if ((form.entryTitlePhoto.value == "" && form.photoFileLocal.value != "" )|| (form.entryTitlePhoto.value != "" && form.photoFileLocal.value == "")) {
	  alert ("Please enter the entry title and select a photo from your computer if you choose to submit a photo as one of your entries.");
	  return false;
	}
	
	if (form.artworkFileLocal.value != "") {
	  var strLen = form.artworkFileLocal.value.length;
	  if (strLen >= 5) {
	    var fileNamePart = form.artworkFileLocal.value.substring(strLen-5, strLen).toLowerCase();
		if (fileNamePart.indexOf(".jpg") == -1 && fileNamePart.indexOf(".jpeg") == -1 && fileNamePart.indexOf(".gif") == -1) {
		  alert ("Please submit your artwork in JPG format only.");
		  form.artworkFileLocal.focus();
		  return false;
		}
	  } else {
		 alert ("Please submit your artwork in JPG format only.");
		 return false;
	  }		
	}
	if (form.photoFileLocal.value != "") {
	  var strLen = form.photoFileLocal.value.length;
	  if (strLen >= 5) {
	    var fileNamePart = form.photoFileLocal.value.substring(strLen-5, strLen).toLowerCase();
		if (fileNamePart.indexOf(".jpg") == -1 && fileNamePart.indexOf(".jpeg") == -1 && fileNamePart.indexOf(".gif") == -1) {
		  alert ("Please submit your photo in JPG format only.");
		  form.photoFileLocal.focus();
		  return false;
		}
	  } else {
		 alert ("Please submit your photo in JPG format only.");
		 return false;
	  }		
	}

	displayDialogue("dialogueBox");
	
    return true;
  }

  function grayOut(vis, options) {
    // Pass true to gray out screen, false to ungray
	// options are optional.  This is a JSON object with the following (optional) properties
	// opacity:0-100		// Lower number = less grayout higher = more of a blackout
	// zindex: #			// HTML elements with a higher zindex appear on top of the gray out
	// bgcolor: (#xxxxxx)	// Standard RGB Hex color code
	// grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
	// Because options is JSON opacity/zindex/bgcolor are all optional and can appear
	// in any order.  Pass only the properties you need to set.
	scroll(0,0);
	var options = options || {};
	var zindex = options.zindex || 50; 
	var opacity = options.opacity || 90; 
	var opaque = (opacity / 100);
	var bgcolor = options.bgcolor || '#999999';
	var dark=document.getElementById('darkenScreenObject');
	
	if (!dark) {
	  // The dark layer doesn't exist, it's never been created.  So we'll
	  // create it here and apply some basic styles.
	  // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917	  
	  var tbody = document.getElementsByTagName("body")[0];
	  var tnode = document.createElement('div');			// Create the layer.
	  tnode.style.position='absolute';						// Position absolutely
	  tnode.style.top='0px';								// In the top
	  tnode.style.left='0px';								// Left corner of the page
	  tnode.style.overflow='hidden';						// Try to avoid making scroll bars
	  tnode.style.display='none';							// Start out Hidden
	  tnode.id='darkenScreenObject';						// Name it so we can find it later
	  tbody.appendChild(tnode);								// Add it to the web page
	  dark=document.getElementById('darkenScreenObject');	// Get the object.
	}
	
	var offsetHeightAdjustment = 50;
	
	if (vis) {
	  // Calculate the page width and height
	  var screenW = 0;
	  var screenH = 0;
	  if (screen) {
    	screenW = screen.availWidth;
   		screenH = screen.availHeight;
  	  }
	  
	  if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
	    if (document.body.scrollWidth < screenW) var pageWidth = screenW+'px';
		else var pageWidth = document.body.scrollWidth+'px';
		
		if (document.body.scrollHeight + offsetHeightAdjustment < screenH) var pageHeight = screenH+'px';
		else var pageHeight = (document.body.scrollHeight + offsetHeightAdjustment)+'px';		
	  } else if( document.body.offsetWidth ) {
	    if (document.body.offsetWidth < screenW) var pageWidth = screenW+'px';
		else var pageWidth = document.body.offsetWidth+'px';
		
		if (document.body.offsetHeight < screenH) var pageHeight = screenH+'px';
		else var pageHeight = document.body.offsetHeight+'px';		
	  } else {
	    var pageWidth='100%';
		var pageHeight='100%';
	  }
  
	  //set the shader to cover the entire page and make it visible.
	  dark.style.opacity=opaque;
	  dark.style.MozOpacity=opaque;
	  dark.style.filter='alpha(opacity='+opacity+')';
	  dark.style.zIndex=zindex;
	  dark.style.backgroundColor=bgcolor;
	  dark.style.width= pageWidth;
	  dark.style.height= pageHeight;
	  dark.style.display='block';
	} else {
	  dark.style.display='none';
	}
  }
  
  function displayDialogue (objName) {
    var offsetHeightAdjustment = 50;
    var diaObj = document.getElementById(objName);
	if (diaObj && diaObj.style) {
	  var screenW = 800;
  	  var screenH = 600;
  	  if (screen) {
  	    screenW = screen.availWidth;
	    screenH = screen.availHeight;
 	  }
	  var dialogueBoxW=parseInt(diaObj.style.width);
	  var dialogueBoxH=parseInt(diaObj.style.height);
	  var leftPos = Math.ceil((screenW-dialogueBoxW)/2);
      var topPos = Math.ceil((screenH-offsetHeightAdjustment-dialogueBoxH)/2);
	  
	  diaObj.style.position="absolute";
	  diaObj.style.zIndex = 1000;
      diaObj.style.display = "block";
	  diaObj.style.left = leftPos+"px";
	  diaObj.style.top = topPos+"px";
	  grayOut(true);
    }
  }
  
  function closeDialogue (objName) {
    var diaObj = document.getElementById(objName);
	if (diaObj && diaObj.style) {
      diaObj.style.display = "none";
	  grayOut (false);
    }
  }
  
  function displayHTMLDialogue (htmlCodes, boxWidth, boxHeight) {
    var closeCommandHTML = "<p align=\"right\"><a href=\"javascript:closeHTMLDialogue()\">Close</a></p>";
	var offsetHeightAdjustment = 50;
	var screenW = 800;
  	var screenH = 600;
  	if (screen) {
  	  screenW = screen.availWidth;
	  screenH = screen.availHeight;
 	}
	var leftPos = Math.ceil((screenW-boxWidth)/2);
    var topPos = Math.ceil((screenH-offsetHeightAdjustment-boxHeight)/2);

    var dialogueObj = document.getElementById("HTMLDialogueObj");
    if (dialogueObj && dialogueObj.style) {
	  dialogueObj.style.top=topPos+'px';
	  dialogueObj.style.left=leftPos+'px';
	  dialogueObj.style.width=boxWidth+"px";
	  dialogueObj.style.height=boxHeight+"px";	
	  dialogueObj.innerHTML = closeCommandHTML + htmlCodes;
	  dialogueObj.style.display="block";
	} else {
	  var tbody = document.getElementsByTagName("body")[0];
	  var tnode = document.createElement('div');
	  tnode.style.position='absolute';						
	  tnode.style.top=topPos+'px';
	  tnode.style.left=leftPos+'px';
	  tnode.style.width=boxWidth+"px";
	  tnode.style.height=boxHeight+"px";
	  tnode.id='HTMLDialogueObj';
	  tnode.style.backgroundColor="#ffffff";
	  tnode.style.paddingTop="20px";
	  tnode.style.paddingRight="20px";
	  tnode.style.paddingBottom="20px";
	  tnode.style.paddingLeft="20px";
	  tnode.innerHTML = closeCommandHTML + htmlCodes;

	  tbody.appendChild(tnode);
	  tnode.style.zIndex=1000;
	  tnode.style.display='block';	  
	}
	grayOut(true);
  }
  
  function closeHTMLDialogue () {
    var dialogueObj = document.getElementById("HTMLDialogueObj");
	if (dialogueObj && dialogueObj.style) dialogueObj.style.display="none";
	grayOut(false);
  }