//
// Function Abbreviations:
//
function wp(strUrl, winWidth, winHeight) {
  return WinPopUp(strUrl, winWidth, winHeight);
}
function tsbmv(id) {
  return ToggleSideBarMenuVisible(id);
}
function tcbv(id) {
  return ToggleCollapsibleBlockVisible(id);
}
function hsac(questionId) {
  return HandleSelectedAnswerChanged(questionId);
}
function gsa(questionId) {
  return GetSelectedAnswer(questionId);
}
function sq(questionId) {
  return ShowQuestion(questionId);
}
function hq(questionId) {
  return HideQuestion(questionId);
}
function sm() {
  return SubmitMain();
}
function lc(theList) {
  return ListChanged(theList);
}

//
// Function Implementations:
//
function WinPopUp(strUrl, winWidth, winHeight) {
	var strToolbar
	strToolbar = "toolbar=no,menubar=no,top=2,left=2,location=no,directories=no,width=" + winWidth + ",height=" + winHeight +",resizable=1,status=yes";
	var newWindow = window.open(strUrl, "iFocusPopUp", strToolbar);	
	newWindow.focus();
}

function ToggleSideBarMenuVisible(id) {

  var menuId    = 'sbm' + id;
  var contentId = 'sbmc' + id;
  var imageId   = 'sbmhi' + id;

  var menu, content, image;

	if (document.all) {
	  menu = document.all[menuId];
	  content = document.all[contentId];
	  image = document.all[imageId];
	}
    
	if (!document.all && document.getElementById) {
	  menu = document.getElementById(menuId);
	  content = document.getElementById(contentId);
	  image = document.getElementById(imageId);
	}

  if (content.style.display == 'none') {
    content.style.display = 'block';
    image.src = image.src.replace('down', 'up');
  }
  else {
    content.style.display = 'none';
    image.src = image.src.replace('up', 'down');
  }
}

function ToggleCollapsibleBlockVisible(id) {

  var menuId    = 'cb' + id;
  var contentId = 'cbc' + id;
  var imageId   = 'cbhi' + id;

  var menu, content, image;

	if (document.all) {
	  menu = document.all[menuId];
	  content = document.all[contentId];
	  image = document.all[imageId];
	}
    
	if (!document.all && document.getElementById) {
	  menu = document.getElementById(menuId);
	  content = document.getElementById(contentId);
	  image = document.getElementById(imageId);
	}

  if (content.style.display == 'none') {
    content.style.display = 'block';
    image.src = image.src.replace('down', 'up');
  }
  else {
    content.style.display = 'none';
    image.src = image.src.replace('up', 'down');
  }
}

function HandleSelectedAnswerChanged(questionId) {

  var selectionId = 'Q' + questionId;
  var definitionId = 'Q' + questionId + 'D';
  var commentPromptControlId = 'Q' + questionId + 'CP';
  var commentRequiredControlId = 'Q' + questionId + 'CR';
  var selection, definition, commentPromptControl, commentRequiredControl;
  var selectedAnswer, commentPrompt, isCommentRequired

  if (document.all) {
	  selection = document.all[selectionId];
	  commentPromptControl = document.all[commentPromptControlId];
	  commentRequiredControl = document.all[commentRequiredControlId];
	}
	
	if (!document.all && document.getElementById) {
	  selection = document.getElementById(selectionId);
	  commentPromptControl = document.getElementById(commentPromptControlId);
	  commentRequiredControl = document.getElementById(commentRequiredControlId);
	}

  definition = eval(definitionId);
  selectedAnswer = gsa(questionId);

  for (var i = 0; i < definition.length; i++) {
    if (definition[i][0] == selectedAnswer) {
      commentPrompt = definition[i][1];
      isCommentRequired = definition[i][2];
      break;
    }
  }

  commentPromptControl.innerHTML = '' + commentPrompt + '';

  if (isCommentRequired) {
    commentRequiredControl.innerHTML = 'Comment Required';
    commentRequiredControl.style.color = 'red';
  }
  else {
    commentRequiredControl.innerHTML = '&nbsp;';
    commentRequiredControl.style.color = 'black';
  }
}

function GetSelectedAnswer(questionId) {

  var selectionId = 'Q' + questionId;
  var selection, result;

  if (document.all) {
	  selection = document.all[selectionId];
	}
	else if (!document.all && document.getElementById) {
	  selection = document.getElementById(selectionId);
	}
  
  result = '' + selection.options[selection.selectedIndex].value + '';
  
  return result;
}

function ShowQuestion(questionId) {

  var selectionId = 'Q' + questionId;
  var questionContainerId = 'Q' + questionId + 'C';
  var questionNotRequiredContainerId = 'Q' + questionId + 'N';

  var questionContainer, questionNotRequiredContainer;

  if (document.all) {
	  questionContainer = document.all[questionContainerId];
	  questionNotRequiredContainer = document.all[questionNotRequiredContainerId];
	}
	else if (!document.all && document.getElementById) {
	  questionContainer = document.getElementById(questionContainerId);
	  questionNotRequiredContainer = document.getElementById(questionNotRequiredContainerId);
	}
  
  questionContainer.style.display = 'block';
  questionNotRequiredContainer.style.display = 'none';
}

function HideQuestion(questionId) {
  var selectionId = 'Q' + questionId;
  var questionContainerId = 'Q' + questionId + 'C';
  var questionNotRequiredContainerId = 'Q' + questionId + 'N';

  var questionContainer, questionNotRequiredContainer;
  
  if (document.all) {
	  questionContainer = document.all[questionContainerId];
	  questionNotRequiredContainer = document.all[questionNotRequiredContainerId];
	}
	else if (!document.all && document.getElementById) {
	  questionContainer = document.getElementById(questionContainerId);
	  questionNotRequiredContainer = document.getElementById(questionNotRequiredContainerId);
	}

  questionContainer.style.display = 'none';
  questionNotRequiredContainer.style.display = 'block';
}

function SubmitMain() {
		var theform;
		if (window.navigator.appName.toLowerCase().indexOf("netscape") > -1) {
			theform = document.forms["mf"];
		}
		else {
			theform = document.mf;
		}
		theform.submit();
}

function ListChanged(selectControl) {

  var NO_SELECTION = 'CUKUM83R'; // this is a sentinel value, must be same as defined in BaseHttpHandler.
  
  var otherControlId;
  var otherControl;
  
  otherControlId = selectControl.id + 'other';
  
  if (document.all) {
	  otherControl = document.all[otherControlId];
	}
	else if (!document.all && document.getElementById) {
    otherControl = document.getElementById[otherControlId];
	}
	
	if (selectControl.value == NO_SELECTION) {
    otherControl.style.display = 'block';
	}
	else {
    otherControl.style.display = 'none';
	}

}
