var myXMLHTTPRequest;
var xmlAJAXResult;
var xslAJAXResult;
var intAjaxStartPoint = 0;
var intAjaxDataLength = 15;
var targetAJAXResultLayer;

function ClearField(objField, strTest)
{
 if (objField.value == strTest)
  objField.value = '';
} 


function ToggleAjaxSearch()
{
 if (window.ActiveXObject || window.xmlHTTPRequest)
 {
  xmlAJAXResult = new ActiveXObject("Msxml2.DOMDocument.4.0");
  xslAJAXResult = new ActiveXObject("Msxml2.DOMDocument.4.0");
  document.getElementById('divAjaxSearch').style.display = 'block';
  document.getElementById('divStandardSearch').style.display = 'none';

  xmlAJAXResult.async           = false;
  xmlAJAXResult.validateOnParse = true;
  xslAJAXResult.async           = false;
  xslAJAXResult.validateOnParse = true;
 }
 else
 {
  myXMLHTTPRequest = new XMLHttpRequest();
  if (myXMLHTTPRequest)
  {
   xmlAJAXResult = document.implementation.createDocument("", "", null);
   xslAJAXResult = document.implementation.createDocument("", "", null);
   document.getElementById('divAjaxSearch').style.display = 'block';
   document.getElementById('divStandardSearch').style.display = 'none';

   xmlAJAXResult.async           = false;
   xmlAJAXResult.validateOnParse = true;
   xslAJAXResult.async           = false;
   xslAJAXResult.validateOnParse = true;
  }
 }
}

function ToggleImage(linkID)
{
 if(document.getElementById(linkID).src.indexOf('on.gif') > -1)
  document.getElementById(linkID).src = '../images/jigsawoff.gif';
 else
  document.getElementById(linkID).src = '../images/jigsawon.gif';
}

function doAJAXBranchQuery(intBranchID)
{
 targetAJAXResultLayer = 'divAJAXBranch';
 document.getElementById(targetAJAXResultLayer).innerHTML = '<span class="linkInline" style="font-size:8pt;">Working ...</span>'; 

 if (window.ActiveXObject)
 {
  myXMLHTTPRequest = new ActiveXObject("Microsoft.XMLHTTP");
  xslAJAXResult.load('xsl/branch.xsl');
  if(xslAJAXResult.parseError.errorCode != 0)
  {
   document.getElementById(targetAJAXResultLayer).innerHTML = '1<br>' + strAJAXQueryURL + '<br />' + xslAJAXResult.parseError.line + '\n' + xslAJAXResult.parseError.reason + '\n' + xslAJAXResult.text.replace(/</gi,'&lt;');
   return;
  }
 }
 else
 {
  myXMLHTTPRequest = false;
  myXMLHTTPRequest = new XMLHttpRequest();
  if (myXMLHTTPRequest.overrideMimeType)
   myXMLHTTPRequest.overrideMimeType('text/xml')
  myXMLHTTPRequest.open('GET', 'xsl/branch.xsl', false);
  myXMLHTTPRequest.send(null);
  xslAJAXResult = myXMLHTTPRequest.responseXML;
 }

 strAJAXQueryURL = 'branch.search.php?uid=' + Math.random() + '&id=' + intBranchID;    
 myXMLHTTPRequest.onreadystatechange = showAJAXQuery;
 myXMLHTTPRequest.open('GET', strAJAXQueryURL, true);
 myXMLHTTPRequest.send(null);
 document.getElementById(targetAJAXResultLayer).innerHTML = ''; //strAJAXQueryURL;
}


function doAJAXQuery(intStartPoint)
{
 targetAJAXResultLayer = 'divVacancyList';

 intAjaxStartPoint = intStartPoint;
 if (document.getElementById('kw').value == '')
  return;

 if (window.ActiveXObject)
 {
  myXMLHTTPRequest = new ActiveXObject("Microsoft.XMLHTTP");
  xslAJAXResult.load('xsl/vacancyresult.xsl');
  if(xslAJAXResult.parseError.errorCode != 0)
  {
   document.getElementById(targetAJAXResultLayer).innerHTML = '1<br>' + strAJAXQueryURL + '<br />' + xslAJAXResult.parseError.line + '\n' + xslAJAXResult.parseError.reason + '\n' + xslAJAXResult.text.replace(/</gi,'&lt;');
   return;
  }
 }
 else
 {
  myXMLHTTPRequest = false;
  myXMLHTTPRequest = new XMLHttpRequest();
  if (myXMLHTTPRequest.overrideMimeType)
   myXMLHTTPRequest.overrideMimeType('text/xml')
  myXMLHTTPRequest.open('GET', 'xsl/vacancyresult.xsl', false);
  myXMLHTTPRequest.send(null);
  xslAJAXResult = myXMLHTTPRequest.responseXML;
 }

 strAJAXQueryURL = 'vacancy.search.php?sp=' + intAjaxStartPoint + '&rs=' + intAjaxDataLength + '&uid=' + Math.random() + '&kw=' + document.getElementById('kw').value;
 myXMLHTTPRequest.onreadystatechange = showAJAXQuery;
 myXMLHTTPRequest.open('GET', strAJAXQueryURL, true);
 myXMLHTTPRequest.send(null);
 document.getElementById(targetAJAXResultLayer).innerHTML = ''; //strAJAXQueryURL;
}

function showAJAXQuery()
{
 if (myXMLHTTPRequest.readyState == 4)
 {
  if (window.ActiveXObject)
  {
   xmlAJAXResult.loadXML(myXMLHTTPRequest.responseText);
   if(xmlAJAXResult.parseError.errorCode != 0)
   {
    document.getElementById(targetAJAXResultLayer).innerHTML = strAJAXQueryURL + '<br />' + xmlAJAXResult.parseError.line + '\n' + xmlAJAXResult.parseError.reason + '<br>' + '\n.' + xmlAJAXResult.text.replace(/</gi,'&lt;');
    return;
   }
  }
  else
   xmlAJAXResult = myXMLHTTPRequest.responseXML;

  if (myXMLHTTPRequest.status == 200)
  {
   if (window.ActiveXObject)
   {
    document.getElementById(targetAJAXResultLayer).innerHTML = xmlAJAXResult.transformNode(xslAJAXResult);
   }
   else
   {
    var processor = new XSLTProcessor();
    processor.importStylesheet(xslAJAXResult);
    var strXMLFragment = processor.transformToFragment(xmlAJAXResult, document);
    document.getElementById(targetAJAXResultLayer).appendChild(strXMLFragment);       
   }
  }
 }
}


function UpperCase(strField)
{
 document.getElementById(strField.id).value = document.getElementById(strField.id).value.toUpperCase();
}


function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}


function ValidateForm(strForm)
{
 errorMessage = '';
 fieldCount = document.getElementsByTagName('input');
 for (x=0; x<fieldCount.length; x++)
  if (fieldCount[x].className == 'inputRequired' && trim(fieldCount[x].value) == '')
	 errorMessage += ' - ' + fieldCount[x].name.substr(3) + '\n';

 fieldCount = document.getElementsByTagName('textarea');
 for (x=0; x<fieldCount.length; x++)
  if (fieldCount[x].className == 'inputRequired' && trim(fieldCount[x].value) == '')
	 errorMessage += ' - ' + fieldCount[x].name.substr(3) + '\n';

 if (errorMessage != '')
 {
  alert('Before we can process your request, please complete the following fields:\n' + errorMessage);
  return false;
 }
 if (strForm.name == 'frmSubmitCV')
  return AgreeTerms();
}