


/**
 * Common javascripts that are used by rendering/ves-display-form/*Question.jsp.
 * 
 * If you add any new javascripts, you need add it to the VES stubbed 
 * version under /includes/js/ves/answer-questions-stub.js.
 */
// MultiSelectionChoiceQuestion.jsp
// SingleSelectChoiceQuestion.jsp

CHOICE = new Object();

CHOICE.syncOtherOptionText = function(qid) {
  var option = document.getElementById("otherOption-" + qid);
  if (option != null) {
    var input = document.getElementById("otherOptionInput-" + qid);
    if (! option.checked) {
      input.value = "";
    }    
  }
}

CHOICE. checkOther = function(qid) {
  var option = document.getElementById("otherOption-" + qid);
  if (option != null) {
    option.checked = true;
  }
}

// RankingQuestion.jsp
// Ranking Question Javascript "namespace"
RANKING = new Object();

RANKING.getSelectedValue = function(selectControl) {  
  var value = null;            
  if (selectControl && selectControl.options) {
    value = selectControl.options[selectControl.selectedIndex].value;
  }
  
  return value;
}

RANKING.getRankingMessageSpan2 = function( num) {
    var msgElement = "";
    var errorDiv = "RankingMessage" + num;
    msgElement=document.getElementById(errorDiv);

    return msgElement;
}

RANKING.validateRankingSelection = function(form, id) {     
  // gather select values for test        
  var selectBoxes = new Array();
  for (var i = 0; i < form.elements.length; i++) {
    var selectEl = form.elements[i];
    
    if (selectEl.type == 'select-one' &&
        selectEl.className == '_rankingQuestionSelect_' + id) 
    {
      selectBoxes[ selectBoxes.length] = {
        selectBox: selectEl,
        value: RANKING.getSelectedValue( selectEl)
      };         
    }     
  }
  // clear
  for (var i = 0; i < selectBoxes.length; i++) {    
    var msgElement = RANKING.getRankingMessageSpan2(i)
    msgElement.innerHTML = '<img src="http://img.constantcontact.com/ui/images/spacer.gif" width="16" height="14" border="0"  />';
  }
  
  document.getElementById('RANKING_error_message_' + id).innerHTML = "&nbsp;";
                  
  var hasValidationError = false;
  var isIdup = "false";
  for (var i = 0; i < selectBoxes.length; i++) {        
    if (selectBoxes[i].value != '-1') { // ignore empties
    	
      for (var x = i + 1; x < selectBoxes.length; x++) {
        if ( (selectBoxes[x].value != '-1') && (x != i)) {
                   
          if (selectBoxes[i].value == selectBoxes[x].value) {
            var msgElement = RANKING.getRankingMessageSpan2(i);
            msgElement.style.display='inline';
            msgElement.innerHTML = ' <img src="http://img.constantcontact.com/ui/images1/icon_error.gif" width="16" height="16" border="0" alt="Error" title="Error"  /> ';
            
            msgElement = RANKING.getRankingMessageSpan2(x);
            msgElement.style.display='inline';
            msgElement.innerHTML = ' <img src="http://img.constantcontact.com/ui/images1/icon_error.gif" width="16" height="16" border="0" alt="Error" title="Error"  /> ';
                                                
            document.getElementById('RANKING_error_message_' + id).innerHTML = 
               document.getElementById('RANKING_error_message_text_' + id).innerHTML;
            hasValidationError = true;
            isIdup = "true";   
          }            
        }
        if(isIdup == "false"){
        	var msgElement = RANKING.getRankingMessageSpan2(i);
            msgElement.style.display='inline';
            msgElement.innerHTML = ' <img src="http://img.constantcontact.com/ui/images/spacer.gif" width="15" height="14" border="0"  /> ';
        }
      }
    }
  }
}
