var defaultStr = 'Type your question here';
 
function isBlank(q) {
  var whitespace = new String(" \t\n\r");
 
  for (var i = 0; i<q.length; i++) {
    if (whitespace.indexOf(q.charAt(i)) == -1) {
      return false;
    }
  }
 
  return true;
}

function hasSpecial(str) {
var re = /\W+/;
var position = str.search(re);
if (position >= 0) {
	for (i = position; i < str.length; i++) {
		var subString = str.substring(i, i+1);
		if (subString.search(re) >= 0) {
			if (subString.indexOf('-') >= 0 || subString.indexOf('_') >= 0 || subString.indexOf(',') >= 0 || 
				subString.indexOf(';') >= 0 || subString.indexOf(':') >= 0 || subString.indexOf('"') >= 0 || 
				subString.indexOf("'") >= 0 || subString.indexOf('?') >= 0 || subString.indexOf('.') >= 0 ||
				subString.indexOf('%') >= 0 || subString.indexOf(' ') >= 0 || subString.indexOf('&') >= 0 || 
				subString.indexOf('$') >= 0) {
			} else {
				alert("You have entered an invalid character in your question. Please enter a valid question.");
				return false;
			}
		}
	}
} else {
}
return true;
}


function noPercent(str) {

var finalstr = "";
for (i = 0; i < str.length; i++) {
	var subString = str.substring(i, i+1);
	if (subString == '%') {
		if (str.substring(i-1, i) == " ") {
			finalstr = finalstr + "percent";
		} else {
			finalstr = finalstr + " percent";
		}
	} else if (subString == ' ') {
		finalstr = finalstr + '+';
	} else {
		finalstr = finalstr + str.substring(i, i+1);
	}
}

return finalstr;
}


function submitForm(){
  var d = document.questionForm;
  if (!isValidForm()){
    return;
  }
  d.submit();
}
 
function typeChar(questionId,i){
    document.questionForm.question.value=questionArray[questionId];
    document.questionForm.source.value=4;
    document.questionForm.id.value=responseIDArray[questionId];
    popResults();
}


function isValidForm(){
  var d = document.questionForm;
  if (d.question.value==defaultStr  ||  isBlank(d.question.value)) {
    return false;
  }
 
  d.action='https://td.intelliresponse.com/mortgages/results.jsp';
  d.requestType.value='NormalRequest';
  return true;
}
 
function topTen(){
  var d = document.questionForm;
  var v1 = d.interfaceID.value;
  var v2 = d.id.value;
  var popchild = window.open('https://td.intelliresponse.com/mortgages/topQuestions.jsp?interfaceID=' + v1 + '&id=' + v2 + '&source=4' + "&userOrigin=" + document.location.href, 'help', 'width=475,height=450,toolbar=0,location=0,directories=0,status=0,menuBar=0,scrollBars=yes,resizable=1' );	
  clearForm();
  d.source.value = "";
  popchild.focus();
}
 
function clearForm(){
  var d = document.questionForm;
  d.id.value=-1;
  d.reset();
  d.question.focus();
  d.question.value='';
}

function popResults() {
	if (isValidForm()) {
		var d = document.questionForm;
		if (hasSpecial(d.question.value)) {
		var v = noPercent(d.question.value);
		var v1 = d.interfaceID.value;
		var v2 = d.id.value;
		if (d.source.value == "") {
			var v3 = "1";
		} else {
			var v3 = d.source.value;
		}
		var popchild = window.open("https://td.intelliresponse.com/mortgages/results.jsp?question=" + v + "&interfaceID=" + v1 + "&id=" + v2 + "&source=" + v3 + "&userOrigin=" + document.location.href, "help", "width=475,height=450,resizable=yes,scrollbars=yes");
		} else {
			return;
		}
	    	clearForm();
		d.source.value = "";
		popchild.focus();
	} else {
		topTen();
	}
}

