var state = null;
var inc_url = location.href;
var xmlHttp = false;
var loadMsg = "Loading... Please wait.<br>&nbsp; &nbsp;<img src=\'_images/loading.gif\' alt=\'Loading...\'>";
var cgiPath = '/cgi-bin/DxR_GCC/';


try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}

if (inc_url.indexOf("?") > 0) {
	inc_url = inc_url.split("?");
	var param = inc_url[1].split("=");
	if (param[0] == 'st') {
		state = param[1];
	}
}

function setLiveHeader() {
    
	if (state != null) {
		var selObj = document.getElementById("state_select");
		
		for (var i=0; i<selObj.options.length; i++) {
			if (selObj.options[i].value == state) { selObj.options[i].selected = true; }
		}
		
		document.getElementById("liveHeader").innerHTML = "Loading...";
		callServer(0);
	} else {
		document.getElementById("liveHeader").innerHTML.style.display='none';
		/*document.getElementById('awardsCredit').checked = true;
		document.getElementById('restrictTesting').checked = true;*/
	}
}

function callServer(preview) {
	
	var url = cgiPath + "search_print.pl?preview=" + preview;
	
	var search_criteria = "";
	document.getElementById('liveContent').style.display='block';
	document.getElementById("liveHeader").innerHTML = loadMsg;
	
	if (state != null) {
		url += "&action=list&st=" + state;
		state = null;
	} else {
		var str = document.getElementById("searchString").value;
		var st = document.getElementById("state_select").value;
		if (st == 'CANADA') { str += ' canada'; st = 'INTL'; }
		url = url + "&action=search&search_string=" + str + "&state_select=" + st;
		
		/*
		if (document.getElementById("awardsCredit").checked) { search_criteria = search_criteria + "&awardsCredit=1"; }
		else { search_criteria = search_criteria + "&awardsCredit=0"; }
		
		if (document.getElementById("administersDSST").checked) { search_criteria = search_criteria + "&administersDSST=1"; }
		else { search_criteria = search_criteria + "&administersDSST=0"; }
		
		if (document.getElementById("restrictTesting").checked) { search_criteria = search_criteria + "&restrictTesting=1"; }
		else { search_criteria = search_criteria + "&restrictTesting=0"; }
		
		if (document.getElementById("militaryIBT").checked) { search_criteria = search_criteria + "&militaryIBT=1"; }
		else { search_criteria = search_criteria + "&militaryIBT=0"; }
		
		if (document.getElementById("ibt").checked) { search_criteria = search_criteria + "&ibt=1"; }
		else { search_criteria = search_criteria + "&ibt=0"; }*/
		
		// type 0 = awards credit for dssts
		// type 1 = delivers dssts
		// type 2 = dantes funded military test center

		if (document.getElementById("type0").checked) { search_criteria = search_criteria + "&type0=1"; }
		else { search_criteria = search_criteria + "&type0=0"; }
		
		if (document.getElementById("type1").checked) { search_criteria = search_criteria + "&type1=1"; }
		else { search_criteria = search_criteria + "&type1=0"; }
		
		if (document.getElementById("type2").checked) { search_criteria = search_criteria + "&type2=1"; }
		else { search_criteria = search_criteria + "&type2=0"; }

		if (search_criteria.indexOf('=1') == -1) {
/*		    url = null;
			document.getElementById('liveHeader').innerHTML = '';
			document.getElementById('liveContent').innerHTML = '<span style=\'color:#CC3333;text-transform:none;\'>Please choose a search criteria from the option buttons above.</span><br>'; */
		} else if (st == '-------') {
			url = null;
			document.getElementById('liveHeader').style.display = 'none';
			document.getElementById('liveContent').innerHTML = '<span style=\'color:#CC3333;text-transform:none;\'>Please select a valid region from the dropdown menu</span><br>';
		} else if (str == '' && st == 'ALL') {
			url = null;
			document.getElementById('liveHeader').style.display = 'none';
			document.getElementById('liveContent').innerHTML = '<span style=\'color:#CC3333;text-transform:none;\'>Please enter a search string or a region in which to limit your search to narrow the results.</span><br>';
		} /*else if (str == '' && st == 'STATES') {
			url = null;
			document.getElementById('liveHeader').innerHTML = '';
			document.getElementById('liveContent').innerHTML = '<span style=\'color:#CC3333;text-transform:none;\'>Please enter a search string or select a specific state to narrow your results.</span><br>';
		}*/ else if (search_criteria == '') {
		    url = null;
			document.getElementById('liveHeader').style.display = 'none';
			document.getElementById('liveContent').innerHTML = '<span style=\'color:#CC3333;text-transform:none;\'>Please choose a search criteria.</span><br>';
		}		
	}
	
    if (document.getElementById('custom_institution')) {
	    var customInstitution = document.getElementById('custom_institution').value;
		if (customInstitution) {
		    search_criteria = search_criteria + '&custom_institution=' + customInstitution;
		}
	}

	if (url) {
	    
	    url = url + search_criteria;
	    
		if (url.indexOf('?') > 0) { url += '&urlid=' + urlidgen(32); }
		else { url += '?urlid=' + urlidgen(32); }
		
		// Open a connection to the server
		xmlHttp.open("GET", url, true);
	
		// Setup a function for the server to run when it's done
		xmlHttp.onreadystatechange = updatePage;
	
		// Send the request
		xmlHttp.send(null);
	} else {
		$.scrollTo('#locate_institution', {duration:750});
	}
}

function updatePage() {
  if (xmlHttp.readyState == 4) {
    var response = xmlHttp.responseText;
	document.getElementById("liveHeader").style.display = 'none';
    document.getElementById("liveContent").innerHTML = response;
	$.scrollTo('#liveContent', {duration:750});
  } else {
    document.getElementById("liveHeader").innerHTML = "Searching...";
  }
}

function syncLimiters() {
	/*
	document.getElementById("awardsCredit").checked = document.getElementById("awardsCredit").checked;
	document.getElementById("administersDSST").checked = document.getElementById("administersDSST").checked;
	document.getElementById("restrictTesting").checked = document.getElementById("restrictTesting").checked;
	document.getElementById("militaryIBT").checked = document.getElementById("militaryIBT").checked;
	document.getElementById("ibt").checked = document.getElementById("ibt").checked;
	*/
}

function setFocus() {
	document.forms[0].searchString.focus();
}

function urlidgen(strlength) {
	var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
	var retstr = '';
	var i;
	
	for (i=0; i<strlength; i++) {
		var num = Math.floor(Math.random() * chars.length);
		retstr += chars.substring(num, num+1);
	}
	
	return retstr;
}

