﻿// JScript File

function JobClearSearch(that) {
    if(that.value=='Enter keywords...')
    {
        that.value='';
    }
}

function JobResetSearch(that)
{
    if(that.value=='')
    {
        that.value='Enter keywords...';
    }
}

function JobEnterSubmit(url, e)
{
    if(!e) 
    {
        e = window.event;
    }
    if (e && e.keyCode == 13) {
        QuickJobSearch(url);
        //return false;
        document.forms[0].submit();
    }
    else
    {
        return true;
    }
}
function QuickJobSearch(url) 
{
    document.forms[0].action=url;
}

function JobNewXmlDom()
{
    var xmlDoc;
    // code for IE
    if (window.ActiveXObject)
    {
        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    }// code for Mozilla, Firefox, Opera, etc.
    else if ((document.implementation) && (document.implementation.createDocument))
    {
        xmlDoc=document.implementation.createDocument("","",null);
    }
    else
    {
        alert('Your browser cannot handle this script');
    }
    xmlDoc.async=false;
    xmlDoc.load('<?xml version="1.0" encoding="ISO-8859-1" ?>');
    return(xmlDoc);
}
function JobGenerateXmlForAjax()
{
    var xmlDoc = JobNewXmlDom();
    			
    var xmlTable= xmlDoc.createElement('data');
    xmlDoc.appendChild(xmlTable);
    
    var xmlRow = xmlDoc.createElement('row');
    xmlTable.appendChild(xmlRow);
    var xmlField = xmlDoc.createElement('action');
    xmlField.appendChild(xmlDoc.createTextNode('Duration'));
    xmlRow.appendChild(xmlField);
    
    var xmlRow = xmlDoc.createElement('row');
    xmlTable.appendChild(xmlRow);
    var xmlField = xmlDoc.createElement('action');
    xmlField.appendChild(xmlDoc.createTextNode('Location'));
    xmlRow.appendChild(xmlField);
    
    var xmlRow = xmlDoc.createElement('row');
    xmlTable.appendChild(xmlRow);
    var xmlField = xmlDoc.createElement('action');
    xmlField.appendChild(xmlDoc.createTextNode('Category'));
    xmlRow.appendChild(xmlField);
    
    var xmlRow = xmlDoc.createElement('row');
    xmlTable.appendChild(xmlRow);
    var xmlField = xmlDoc.createElement('action');
    xmlField.appendChild(xmlDoc.createTextNode('Branch'));
    xmlRow.appendChild(xmlField);    
    
    return xmlDoc;
}
function JobAjaxPost(strUrl)
{
    var xmlDoc = JobGenerateXmlForAjax();


    var strXml = '';

    if(xmlDoc.xml)
    {
        strXml = xmlDoc.xml;
    }
    else 
    {
        //create a new XMLSerializer
        var objXMLSerializer = new XMLSerializer;
        
        //get the XML string
        strXml = objXMLSerializer.serializeToString(xmlDoc);
    }
    ajaxCall(strUrl, strXml, 'JobAjaxReceive');
}            



function JobAjaxReceive(objResponse)
{

    var intStatus = GetXmlNodeText(objResponse.getElementsByTagName('status')[0]);
    var strErrorMessage = GetXmlNodeText(objResponse.getElementsByTagName('error_message')[0]);
    
    try
    {
        if(intStatus != 0)
        {
            raiseMessage('stoperror', strErrorMessage, '');
        }
        else
        {
            /* Quick Search */
            var datRow  = objResponse.getElementsByTagName('result-Duration');
            var objSelect = document.getElementById('jobSelDuration');
            if(objSelect) 
            {
                var opts = datRow[0].getElementsByTagName('option');
                for(var intIndex=0;intIndex<opts.length;intIndex++)
                {
                    appendToSelect(objSelect, GetXmlNodeText(opts[intIndex]), GetXmlNodeText(opts[intIndex]));
                }
            }
            
            var datRow  = objResponse.getElementsByTagName('result-Location');
            var objSelect = document.getElementById('jobSelLocation');
            
            if(objSelect) 
            {
                var opts = datRow[0].getElementsByTagName('option');
                for(var intIndex=0;intIndex<opts.length;intIndex++)
                {
                    appendToSelect(objSelect, GetXmlNodeText(opts[intIndex]), GetXmlNodeText(opts[intIndex]));
                }
            }   
            
            var datRow  = objResponse.getElementsByTagName('result-Category');
            var objSelect = document.getElementById('jobSelCategory');
            
            if(objSelect) 
            {
                var opts = datRow[0].getElementsByTagName('option');
                for(var intIndex=0;intIndex<opts.length;intIndex++)
                {
                    appendToSelect(objSelect, GetXmlNodeText(opts[intIndex]), GetXmlNodeText(opts[intIndex]));
                }
            }   
            
            var datRow  = objResponse.getElementsByTagName('result-Branch');
            var objSelect = document.getElementById('jobSelBranch');
            
            if(objSelect) 
            {
                var opts = datRow[0].getElementsByTagName('option');
                for(var intIndex=0;intIndex<opts.length;intIndex++)
                {
                    appendToSelect(objSelect, GetXmlNodeText(opts[intIndex]), GetXmlNodeText(opts[intIndex]));
                }
            }               
            
            /* BROWSE BY */
            var datRow  = objResponse.getElementsByTagName('result-Duration');
            var objSelect = document.getElementById('jobBrowseSelDuration');
            if(objSelect) 
            {
                var opts = datRow[0].getElementsByTagName('option');
                for(var intIndex=0;intIndex<opts.length;intIndex++)
                {
                    appendToSelect(objSelect, GetXmlNodeText(opts[intIndex]), GetXmlNodeText(opts[intIndex]));
                }
            }
            var datRow  = objResponse.getElementsByTagName('result-Location');
            var objSelect = document.getElementById('jobBrowseSelLocation');
            
            if(objSelect) 
            {
                var opts = datRow[0].getElementsByTagName('option');
                for(var intIndex=0;intIndex<opts.length;intIndex++)
                {
                    appendToSelect(objSelect, GetXmlNodeText(opts[intIndex]), GetXmlNodeText(opts[intIndex]));
                }
            }           
        }
    }
    catch(ex)
    {
        raiseMessage('stoperror', ex.description, '');
    }
}