//<script language="JScript">

/*------------------------------------------------------------------
	Purpose:
	Uses xmlHttpRequest to post populate the Positional and Skills lists
  ------------------------------------------------------------------*/

var oXMLHTTP = null;
var fldName = '';

/*------------------------------------------------------------------
	populate field with value
  ------------------------------------------------------------------*/
function getFieldValue(FieldId) {
	var oField = document.getElementById(FieldId);
	if (oField) { 
		return oField.value;
	}
	else {
		return '';
	}
}

/*------------------------------------------------------------------
	Call the web service method get the Positions from the Industry
  ------------------------------------------------------------------*/
var comboselections = '';
var allName = 'All';
function populateField(fname, fkey, pname, pkey, URLprefix, childSelection, allNameParam) {
	
	var URL;
	var Resp;
	if(childSelection&&childSelection!=null){
		comboselections += childSelection+';';
	}
	if(allNameParam&&allNameParam!=null){
		allName = allNameParam;
	}
	
	fldName = fname; //Field to populate
	
	pfield = document.getElementById(pname); //Parent field
	
	//alert(document.getElementById(fname).value);
	var pvalue = pfield.value;
	if(pvalue=='Any'){
		pvalue = '';
	}
	URL = URLprefix + 'ResWebSvc/JobBoardValues.asp?fname=' + fkey + '&pval=' + pvalue + '&pkey=' + pkey;
	try {	
		Resp = submitQueryJSON(URL);
		
	}
	catch (exception) {
		throw exception;
	}
}
/*------------------------------------------------------------------
	Call the web service method get the Skills from the Positions
  ------------------------------------------------------------------*/
function populateSkills(field1, field2) {

	var URL;
	var Resp;
	var opts = document.getElementById(field1).options;
	var vals = '';
	
	fldName = field2
	
	for (i=0; i < opts.length; i++) 
	{
		if (opts[i].selected)
		{
			if (vals != '') { vals += ','; }
			vals += opts[i].value;
		}
	}
	
	URL = './ResWebSvc/getSkills.asp?Posn=' + vals;
	try {
		Resp = submitQueryJSON(URL);
		
	}
	catch (exception) {
		throw exception;
	}
}


/*------------------------------------------------------------------
	Submit the query to the web service
  ------------------------------------------------------------------*/
function submitQueryJSON(url) {

	var StatusMessage;
	var Response;

	// code for Mozilla, etc.
	if (window.XMLHttpRequest) {
		oXMLHTTP = new XMLHttpRequest();
	}
	// code for IE
	else if (window.ActiveXObject) {
		oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (oXMLHTTP != null) {
	
		try {
			oXMLHTTP.open ('GET', url, true);			
			oXMLHTTP.onreadystatechange = callbackJSON;
			oXMLHTTP.send(null);
		}
		catch (exception) {
			throw exception;
		}
	}
	else
	{
		alert("Your browser does not support XMLHTTP.")
	}
}

function callbackJSON(response)
{
	if (oXMLHTTP.readyState == 4) 
	{
		if (oXMLHTTP.status == 200)
		{
			resp = oXMLHTTP.responseText;
			resp = resp.slice(resp.indexOf('{\"Results\":'));
			eval("var objResults = " + resp);
			
			emptySelect(fldName);
			appendSelect(fldName,'',allName,false);
			if(fldName=='PrefLocn'){
				appendSelect(fldName,'Any','Any Location',false);
			}			
			for (var i=0; i<objResults.Results.codes.length; i++)
			{
				appendSelect(fldName,objResults.Results.codes[i].FieldCode,objResults.Results.codes[i].FieldValue,(comboselections.indexOf(objResults.Results.codes[i].FieldCode+';')>-1));
			}
		}
	}
}
			

function appendSelect(fld,val,txt,sel)
{
  var elOptNew = document.createElement('option');
  elOptNew.text = txt;
  elOptNew.value = val;
  if (sel==true) { elOptNew.selected = true;}
  
  var elSel = document.getElementById(fld);

  try {
    elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    elSel.add(elOptNew); // IE only
  }
}

function emptySelect(fld)
{
  var elSel = document.getElementById(fld);
  while (elSel.length > 0)
  {
    elSel.remove(0);
  }
}
