// #@(#)advancedsearch.js	1.5 09:34:39,07/03/26 (yy/mm/dd)
function OpenMonitor(name)
{
	nname=navigator.userAgent;
	nversion=navigator.appVersion.substring(0,1);
	if ((nname.lastIndexOf("MSIE")==-1) || (nversion!=4))
	{
		myWindow = window.open(name,"my_jobsite_sub_window","toolbar=1,location=0,directories=0,status=0,menubar=1,scrollbars=1,copyhistory=0,width=640,height=400,top=20,left=0");
		myWindow.focus();
	}
	else // IE 4 (but not 3 or 5) throws a security exception
	{    // when focusing on a window on another domain
	     //
		myWindow = window.open(name,"","toolbar=1,location=0,directories=0,status=0,menubar=1,scrollbars=1,copyhistory=0,width=640,height=400,top=20,left=0");
	}
}

function cookie_exists(name)
{
    var arg = name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;

    while (i < clen)
    {
	var j = i + alen;
	if (document.cookie.substring(i, j) == arg)
	{
	    return true;
	}
	i = document.cookie.indexOf(" ", i) + 1;
	if (i == 0) break;
    }
    return false;
}

function getCookieVal(offset)
{
    var endstr = document.cookie.indexOf (";", offset);
    if (endstr == -1)
	endstr = document.cookie.length;
    return unescape(document.cookie.substring(offset, endstr));
}

function set_checked(this_select,this_value) 
{
    var total = this_select.length;

    for (i=0; i < total; i++) 
    {
        if (this_select[i].value == this_value)
        {
            this_select[i].checked = true;
            break;
        }
    }
}

function set_selected(this_select,this_value) 
{
    var total = this_select.length;

    for (i=0; i < total; i++) 
    {
        if (this_select[i].value == this_value)
        {
            this_select[i].selected = true;
            break;
        }
    }
}

function uncheck_all_checkboxes()
{
    var emp_mkt_total = document.psform.search_emp_mkt_cd.length;

    for (i = 0; i < emp_mkt_total; i++)
    {
	if (document.psform.search_emp_mkt_cd[i].value != "ALL")
        {
	    document.psform.search_emp_mkt_cd[i].checked = false;
	}
    }
}

function uncheck_searchboxall()
{
    var emp_mkt_total = document.psform.search_emp_mkt_cd.length;

    for (i = 0; i < emp_mkt_total; i++)
    {
	if (document.psform.search_emp_mkt_cd[i].value == "ALL")
        {
	    document.psform.search_emp_mkt_cd[i].checked = false;
        }
    }
}

function uncheck_all_jobtypes()
{
    var jobtype_total = document.psform.jobtype.length;

    for (i = 0; i < jobtype_total; i++)
    {
	if (document.psform.jobtype[i].value != "E")
        {
	    document.psform.jobtype[i].checked = false;
	}
    }
}

function uncheck_jobtype_all()
{
    var jobtype_total = document.psform.jobtype.length;

    for (i = 0; i < jobtype_total; i++)
    {
	if (document.psform.jobtype[i].value == "E")
        {
	    document.psform.jobtype[i].checked = false;
        }
    }
}

function check_jobtype_all()
{
    var jobtype_total = document.psform.jobtype.length;

    for (i = 0; i < jobtype_total; i++)
    {
	if (document.psform.jobtype[i].value == "E")
        {
	    document.psform.jobtype[i].checked = true;
        }
    }
}

function search_form_check(theform)
{
    empList = document.psform.search_emp_mkt_cd;
    sectorsExist = empList.length;
    selTotal = 0;

    if ( sectorsExist )
    {
	for (i = 0; i < empList.length; i++)
	{
	    if (empList[i].checked)
	    {
		selTotal++;    
	    }
	}
    }

    if (selTotal > 4)
    {
        alert("Please select 4 or fewer industry sectors");
	return false;
    }

    if ( (document.psform.skill_keywords.value == '')
	 && (document.psform.job_title_keywords.value == '')
	 && (document.psform.location_include.value == '')
	 && (document.psform.display_ref.value == '')
	 && (!sectorsExist || empList[0].checked) ) 
    {
        alert("Please enter some search criteria");
	return false;
    }

    return true;
}

function do_prev(p_cookie_name)
{
    var arg = p_cookie_name + "=";
    var alen = arg.length;
    var clen = document.cookie.length;
    var i = 0;
    var CookieString;
    var StartPos = 0;
    var EndPos = 0;
    var SearchArray = new Array ("&shd=","&ski=","&ske=","&ska=","&jti=","&jte=","&jta=","&loi=","&loe=","&low=","&day=","&rjt=","&rqs=","&ref=","&scc=","&ind=","&cln=","&cls=");
    var ValArray = new Array;
    var x = 0;
    var search_form;
    
    while (i < clen)
    {
	var j = i + alen;
	if (document.cookie.substring(i, j) == arg)
	{
	    CookieString = getCookieVal(j);
	    break;
	}
	i = document.cookie.indexOf(" ", i) + 1;
	if (i == 0) break;
    }

    if (CookieString == '')
    {
	return;
    }

    for (x=0;x<16;x++)
    {
	StartPos = CookieString.indexOf(SearchArray[x]);
	EndPos = CookieString.indexOf(SearchArray[x+1]);
	if (x<15)
	{
	    ValArray[x] = CookieString.substring(StartPos+5,EndPos);
	}
	else
	{
	    ValArray[x] = CookieString.substring(StartPos+5);
	}
    }

    if (ValArray[1] != '')
    {
	document.psform.skill_keywords.value = ValArray[1];
        set_checked(document.psform.skill_match,'ALL');
    }
    else if (ValArray[3] != '')
    {
	document.psform.skill_keywords.value = ValArray[3];
        set_checked(document.psform.skill_match,'ANY');
    }
    else
    {
	document.psform.skill_keywords.value = '';
        set_checked(document.psform.skill_match,'ANY');
    }
    
    if (ValArray[4] != '')
    {
	document.psform.job_title_keywords.value = ValArray[4];
        set_checked(document.psform.job_title_match,'ALL');
    }
    else if (ValArray[6] != '')
    {
	document.psform.job_title_keywords.value = ValArray[6];
        set_checked(document.psform.job_title_match,'ANY');
    }
    else
    {
	document.psform.job_title_keywords.value = '';
        set_checked(document.psform.job_title_match,'ANY');
    }

    if ((ValArray[2] == '') && (ValArray[5] == '') && (ValArray[8] == ''))
    {
	document.psform.exclude_keywords.value = '';
	set_checked(document.psform.exclude_type,'T');
    }
    else
    {
        if ((ValArray[2] != '') && (ValArray[2] != '') && (ValArray[5] != ''))
        {
	    document.psform.exclude_keywords.value = ValArray[2];
	    set_checked(document.psform.exclude_type,'A');
        }
	else if (ValArray[2] != '')
	{
	    document.psform.exclude_keywords.value = ValArray[2];
	    set_checked(document.psform.exclude_type,'S');
	}
	else if (ValArray[5] != '')
	{
	    document.psform.exclude_keywords.value = ValArray[5];
	    set_checked(document.psform.exclude_type,'T');
	}
	else if (ValArray[8] != '')
	{
	    document.psform.exclude_keywords.value = ValArray[8];
	    set_checked(document.psform.exclude_type,'L');
	}
    }
    
    document.psform.location_include.value = ValArray[7];
    document.psform.display_ref.value = ValArray[13];
    set_checked(document.psform.location_within,ValArray[9]);
    set_checked(document.psform.daysback,ValArray[10]);

    if (document.psform.scc)
    {
        set_checked(document.psform.scc,ValArray[14]);
    }
    
    set_salary_fields(ValArray[12]);
    set_checked(document.psform.show_desc,ValArray[0]);

    set_jobtype_boxes(ValArray[11]);
    
    do_emp_list(ValArray[15]);
}

function do_emp_list(p_emp_mkts)
{
    var empList = document.psform.search_emp_mkt_cd;
    var len = empList.length;
    var i;
    var index;

    if (p_emp_mkts == 'ALL')
    {
        for(i = 0; i < len; i++) 
        {
            empList[i].checked = false;
        }

	empList[0].checked = true;

	return;
    }

    len = empList.length;
    
    for(i = 0; i < len; i++) 
    {
        empList[i].checked = false;
    }

    for(i = 0; i < empList.length; i++) 
    {
        if (p_emp_mkts.indexOf(empList[i].value) >=0) 
        {
            empList[i].checked = true;
        }
    }
}

function do_clear_form()
{
    if ( document.psform.search_emp_mkt_cd.length )
    {
	var emp_mkt_total = document.psform.search_emp_mkt_cd.length;

	for (i = 0; i < emp_mkt_total; i++)
	{
	    document.psform.search_emp_mkt_cd[i].checked = false;
	}

	document.psform.search_emp_mkt_cd[0].checked = true;
    }

    document.psform.skill_keywords.value = '';
    document.psform.job_title_keywords.value = '';
    document.psform.location_include.value = '';
    document.psform.exclude_keywords.value = '';
    document.psform.display_ref.value = '';
    set_checked(document.psform.job_title_match,'ANY');
    set_checked(document.psform.skill_match,'ANY');
    set_checked(document.psform.exclude_type,'T');
    set_checked(document.psform.location_within,'10');
    set_checked(document.psform.daysback,'7');

    if (document.psform.scc)
    {
        document.psform.scc[0].checked = true;
    }
    
    set_salary_fields('');
    document.psform.show_desc[0].checked = true;
    uncheck_all_jobtypes();
    check_jobtype_all();
}

function set_jobtype_boxes(p_reqd_jobtypes)
{
    var jtList = document.psform.jobtype;
    var len = jtList.length;

    if (p_reqd_jobtypes == '')
    {
        p_reqd_jobtypes = 'E';
    }

    for (i = 0; i < len; i++)
    {
        jtList[i].checked = false;
        if (p_reqd_jobtypes.indexOf(jtList[i].value) >=0) 
        {
            jtList[i].checked = true;
        }
    }
}

function set_salary_fields(p_reqd_salary)
{
    var s_low;
    var s_high;

    if (p_reqd_salary == '')
    {
        document.psform.annual_hourlyreqd_salary_low[0].checked = true;
        populate_salary_dropdownreqd_salary_low('Annual');
        document.psform.reqd_salary_low[0].selected = true;
        document.psform.reqd_salary_high[0].selected = true;
	return;
    }

    if (p_reqd_salary.indexOf('|') > 0)
    {
        s_low = p_reqd_salary.substr(0,p_reqd_salary.indexOf('|'));
	s_high = p_reqd_salary.substr(p_reqd_salary.indexOf('|')+1);
    }
    else
    {
        document.psform.annual_hourlyreqd_salary_low[0].checked = true;
        populate_salary_dropdownreqd_salary_low('Annual');
        document.psform.reqd_salary_low[0].selected = true;
        document.psform.reqd_salary_high[0].selected = true;
	return;
    }

    if (s_low.substr(3,1) == 'H' || s_high.substr(3,1) == 'H')
    {
        document.psform.annual_hourlyreqd_salary_low[1].checked = true;
        populate_salary_dropdownreqd_salary_low('Hourly');
        document.psform.reqd_salary_low[0].selected = true;
        document.psform.reqd_salary_high[0].selected = true;
    }
    else
    {
        document.psform.annual_hourlyreqd_salary_low[0].checked = true;
        populate_salary_dropdownreqd_salary_low('Annual');
        document.psform.reqd_salary_low[0].selected = true;
        document.psform.reqd_salary_high[0].selected = true;
    }

    if (s_low != 'ANY')
    {
        set_selected(document.psform.reqd_salary_low,s_low);
    }    

    if (s_high != 'ANY')
    {
        set_selected(document.psform.reqd_salary_high,s_high);
    }
}


