﻿function updateResumeTitleState()
{
    if(document.getElementById('Resume_JobTitle').value == '')
    {
        displayRequired(document.getElementById('Resume_JobTitle'));
    }
    else
    {
        clearRequired(document.getElementById('Resume_JobTitle'));
    }
}

function ValidateCategory(ddl, nCounter) {
   var bError = false;
   var val = ddl.value;
	if (val.length > 0) {
       for(var i = 0; i < document.MyForm.elements.length; i++) {
           if(document.MyForm.elements[i].tagName.toLowerCase() == 'select') {
               if ((document.MyForm.elements[i] != ddl) && (val == document.MyForm.elements[i].value))	{
                   bError = true;
               }
           }
       }
       if (bError) {
           alert("This Category has already been selected.  Please choose another.");
           ddl.options[0].selected = true;
       }
       else {
           var val = document.getElementById('ucResumeGeneralExperience_Resume_ResumeCategory~' + nCounter + '~year').value;
           if (val.trim() == '') { 
               document.getElementById('ucResumeGeneralExperience_Resume_ResumeCategory~' + nCounter + '~year').value = '0';
 	        }
       }
   }
}

function SetCurrentYear(ddlEndMonth, nCounter) {
   var val = ddlEndMonth.value;
   if (val.toLowerCase()  == 'present') {
       document.getElementById('ucResumeGeneralExperience_CompanyExperience~EndYear~' + nCounter).options[1].selected = true;
   }
}

function showJobCat()
{
        if (getControl('trCat0').style.display == 'none') {getControl('trCat0').style.display = '';}
        else if (getControl('trCat1').style.display == 'none') {getControl('trCat1').style.display = '';}
        else if (getControl('trCat2').style.display == 'none') {
            getControl('trCat2').style.display = ''; 
            getControl('catAdd').style.display = 'none'; 
        }
        getControl('catDelete').style.display = '';
}

function showSchool()
{
    if (getControl('trSchool0').style.display == 'none') {
        getControl('trSchool0').style.display = '';
        getControl('trAddSchool').style.visibility = 'visible';
        getControl('trDeleteSchool').style.visibility = 'hidden';
    } else if (getControl('trSchool1').style.display == 'none') {
        getControl('trSchool1').style.display = '';
        getControl('trAddSchool').style.visibility = 'visible';
        getControl('trDeleteSchool').style.visibility = 'visible';
    } else if (getControl('trSchool2').style.display == 'none') {
        getControl('trSchool2').style.display = '';
        getControl('trAddSchool').style.visibility = 'hidden';
        getControl('trDeleteSchool').style.visibility = 'visible';
    }
}

function deleteSchool() {
    if (getControl('trSchool2').style.display == '') {
        getControl('trSchool2').style.display = 'none';
        getControl('trAddSchool').style.visibility = 'visible';
        getControl('trDeleteSchool').style.visibility = 'visible';
    } else if (getControl('trSchool1').style.display == '') {
        getControl('trSchool1').style.display = 'none';
        getControl('trAddSchool').style.visibility = 'visible';
        getControl('trDeleteSchool').style.visibility = 'hidden';
    } else if (getControl('trSchool0').style.display == '') {
        getControl('trSchool0').style.display = 'none';
        getControl('trAddSchool').style.visibility = 'visible';
        getControl('trDeleteSchool').style.visibility = 'hidden';
    }
}

function deleteJobCat()
{
        if (getControl('trCat2').style.display == '') {
            getControl('trCat2').style.display = 'none';
            getControl('trCat2').getElementsByTagName('select').item(0, null).selectedIndex = 0;
            getControl('ucResumeGeneralExperience_Resume_ResumeCategory~2~year').selectedIndex = 0;
            getControl('catDelete').style.display = '';
            getControl('catAdd').style.display = '';
        }
        else if (getControl('trCat1').style.display == '') {
            getControl('trCat1').style.display = 'none';
            getControl('trCat1').getElementsByTagName('select').item(0, null).selectedIndex = 0;
            getControl('ucResumeGeneralExperience_Resume_ResumeCategory~1~year').selectedIndex = 0;
            getControl('catDelete').style.display = 'none';
            getControl('catAdd').style.display = '';
        }
        else if (getControl('trCat0').style.display == '') {
            getControl('catDelete').style.display = 'none';
            getControl('catAdd').style.display = '';
        }
}



function updateJobCatState()
{
    var tdCat2 = getControl('tdCat2');
    var trAddCat = getControl('catAdd');
    
    //have to reference the table cell that holds the jobcat ddl because
    //all jobcat ddls have the same id
    
    if(tdCat2.getElementsByTagName('select').item(0, null).selectedIndex == 0
        && getControl('ucResumeGeneralExperience_Resume_ResumeCategory~2~year').value.trim() == '')
    {
        var trCat2 = getControl('trCat2');
        trCat2.style.display = 'none';
        
        //check to see if jobcat 1 should be hidden
        var tdCat1 = getControl('tdCat1');
    
        if(tdCat1.getElementsByTagName('select').item(0, null).selectedIndex == 0
            && getControl('ucResumeGeneralExperience_Resume_ResumeCategory~1~year').value.trim() == '')
        {
            var trCat1 = getControl('trCat1');
            trCat1.style.display = 'none';
        }
        
        trAddCat.style.display = '';
       
    }
    else
    {
//        var spanCat2Delete = getControl('spanCat2Delete');
//        spanCat2Delete.style.display = '';
    
        // hide the adding of more JobCategories
        trAddCat.style.display = 'none';        
         getControl('catDelete').style.display = '';
    }
    
    showRequiredJobCat();
}

function showRequiredJobCat()
{
    var ddlTotalExpYrs = getControl('ucResumeGeneralExperience_Resume_ExperienceYrsRW');
    if(ddlTotalExpYrs.value == '')
    {
        ddlTotalExpYrs.className = 'requiredField';
    }
    else
    {
        ddlTotalExpYrs.className = '';
    }
    
    var tdCat0 = getControl('tdCat0');
    if(tdCat0.getElementsByTagName('select').item(0, null).selectedIndex == 0)
    {
        tdCat0.getElementsByTagName('select').item(0, null).className = 'requiredField';
    }
    else
    {
        tdCat0.getElementsByTagName('select').item(0, null).className = '';
    }
    
    var txtCatYrsExp0 = getControl('ucResumeGeneralExperience_Resume_ResumeCategory~0~year');
    if(txtCatYrsExp0.value.trim() == '')
    {
        txtCatYrsExp0.className = 'requiredField';
    }
    else
    {
        txtCatYrsExp0.className = '';
    }
}

function clearRequired(control)
{
    control.className = control.className.replace(/requiredField/, '');
}

function displayRequired(control)
{
    if(control.className == '')
    {
        control.className = 'requiredField';
    }
    else
    {
        control.className += ' requiredField';
    }
}

function deleteCompanyState(i) {
    getControl("ucResumeGeneralExperience_CompanyExperience~CompanyName~" + i).value = "";
    getControl("ucResumeGeneralExperience_CompanyExperience~JobTitle~" + i).value = "";
    getControl("ucResumeGeneralExperience_CompanyExperience~StartMonth~" + i).selectedIndex = 0;
    getControl("ucResumeGeneralExperience_CompanyExperience~StartYear~" + i).selectedIndex = 0;
    getControl("ucResumeGeneralExperience_CompanyExperience~EndMonth~" + i).selectedIndex = 0;
    getControl("ucResumeGeneralExperience_CompanyExperience~EndYear~" + i).selectedIndex = 0;
    getControl("ucResumeGeneralExperience_CompanyExperience~CompanyName~" + i).className = "";
    getControl("ucResumeGeneralExperience_CompanyExperience~JobTitle~" + i).className = "";
    getControl("ucResumeGeneralExperience_CompanyExperience~StartMonth~" + i).className = "";
    getControl("ucResumeGeneralExperience_CompanyExperience~StartYear~" + i).className = "";
    getControl("ucResumeGeneralExperience_CompanyExperience~EndMonth~" + i).className = "";
    getControl("ucResumeGeneralExperience_CompanyExperience~EndYear~" + i).className = "";
}

function moveCompanyState(i,j) {
    getControl("ucResumeGeneralExperience_CompanyExperience~CompanyName~" + j).value = getControl("ucResumeGeneralExperience_CompanyExperience~CompanyName~" + i).value.trim();
    getControl("ucResumeGeneralExperience_CompanyExperience~JobTitle~" + j).value = getControl("ucResumeGeneralExperience_CompanyExperience~JobTitle~" + i).value.trim();
    getControl("ucResumeGeneralExperience_CompanyExperience~StartMonth~" + j).selectedIndex = getControl("ucResumeGeneralExperience_CompanyExperience~StartMonth~" + i).selectedIndex;
    getControl("ucResumeGeneralExperience_CompanyExperience~StartYear~" + j).selectedIndex = getControl("ucResumeGeneralExperience_CompanyExperience~StartYear~" + i).selectedIndex;
    getControl("ucResumeGeneralExperience_CompanyExperience~EndMonth~" + j).selectedIndex = getControl("ucResumeGeneralExperience_CompanyExperience~EndMonth~" + i).selectedIndex;
    getControl("ucResumeGeneralExperience_CompanyExperience~EndYear~" + j).selectedIndex = getControl("ucResumeGeneralExperience_CompanyExperience~EndYear~" + i).selectedIndex;

    deleteCompanyState(i);
}

function updateCompanyState()
{
    var start = 0;
    for (var i=1;i<5;i++) {
        var cname = getControl("ucResumeGeneralExperience_CompanyExperience~CompanyName~" + i).value.trim();
        var jtitle = getControl("ucResumeGeneralExperience_CompanyExperience~JobTitle~" + i).value.trim();
        var smonth = getControl("ucResumeGeneralExperience_CompanyExperience~StartMonth~" + i).selectedIndex;
        var syear = getControl("ucResumeGeneralExperience_CompanyExperience~StartYear~" + i).selectedIndex;
        var emonth = getControl("ucResumeGeneralExperience_CompanyExperience~EndMonth~" + i).selectedIndex;
        var eyear = getControl("ucResumeGeneralExperience_CompanyExperience~EndYear~" + i).selectedIndex;
        if (cname != "" || jtitle != "" || smonth != 0  || syear != 0 || emonth != 0 || eyear != 0) {
            var test = start+1;
            if (test == i) { 
                getControl('ucResumeGeneralExperience_fsCompanyExp' + i).style.display = '';
            } else {
                moveCompanyState(i,test);
                getControl('ucResumeGeneralExperience_fsCompanyExp' + test).style.display = '';
            }
            start = test;
        }    
    }
    
    if (getControl('ucResumeGeneralExperience_fsCompanyExp0').style.display == '') {
        getControl('compAdd').style.visibility = 'visible'; 
        getControl('compDelete').style.visibility = 'hidden'; 
        showCompanyFieldValidity(0);
    }
    if (getControl('ucResumeGeneralExperience_fsCompanyExp1').style.display == '') {
        getControl('compAdd').style.visibility = 'visible'; 
        getControl('compDelete').style.visibility = 'visible'; 
        showCompanyFieldValidity(1);
    }
    if (getControl('ucResumeGeneralExperience_fsCompanyExp2').style.display == '') {
        getControl('compAdd').style.visibility = 'visible'; 
        getControl('compDelete').style.visibility = 'visible'; 
        showCompanyFieldValidity(2);
    }
    if (getControl('ucResumeGeneralExperience_fsCompanyExp3').style.display == '') {
        getControl('compAdd').style.visibility = 'visible'; 
        getControl('compDelete').style.visibility = 'visible'; 
        showCompanyFieldValidity(3);
    }
    if (getControl('ucResumeGeneralExperience_fsCompanyExp4').style.display == '') {
        getControl('compAdd').style.visibility = 'visible'; 
        getControl('compDelete').style.visibility = 'visible'; 
        showCompanyFieldValidity(4);
    }       
}

function updateEducationState()
{
    var tbSchool3 = getControl('ucResumeEducation_Resume_EducationV2~2~school');
    var tbMajor3 = getControl('ucResumeEducation_Resume_EducationV2~2~major');
    var ddlDegree3 = getControl('ucResumeEducation_Resume_EducationV2~2~degree');
    
    var tbSchool2 = getControl('ucResumeEducation_Resume_EducationV2~1~school');
    var tbMajor2 = getControl('ucResumeEducation_Resume_EducationV2~1~major');
    var ddlDegree2 = getControl('ucResumeEducation_Resume_EducationV2~1~degree');
    
    var trAddSchool = getControl('trAddSchool');
    var trDeleteSchool = getControl('trDeleteSchool');
    
    if(tbSchool3.value == '' && tbMajor3.value == '' && ddlDegree3.selectedIndex == 0)
    {
        var trSchool2 = getControl('trSchool2');
        trSchool2.style.display = 'none';
        
        if(tbSchool2.value == '' && tbMajor2.value == '' && ddlDegree2.selectedIndex == 0)
        {
            var trSchool1 = getControl('trSchool1');
            trSchool1.style.display = 'none';
            
            trDeleteSchool.style.visibility = 'hidden';
        }
        
        trAddSchool.style.visibility = 'visible';
    }
    else
    {
        var spanSchool3Delete = getControl('spanSchool3Delete');
        trDeleteSchool.style.visibility = 'visible';
    
        // hide the adding of schools
        trAddSchool.style.visibility = 'hidden';
    }
}

function updateControlState()
{
    // update Job Categories control visiblity
    updateJobCatState();
    
    // update Company control validity
    updateCompanyState()
    
    // update Education control visibility
    updateEducationState();
}

function showCompanyFieldValidity(controlNum)
{
    var txtCompanyName = getControl('ucResumeGeneralExperience_CompanyExperience~CompanyName~' + controlNum);
    var txtJobTitle = getControl('ucResumeGeneralExperience_CompanyExperience~JobTitle~' + controlNum);
    var ddlStartMonth = getControl('ucResumeGeneralExperience_CompanyExperience~StartMonth~' + controlNum);
    var ddlStartYear = getControl('ucResumeGeneralExperience_CompanyExperience~StartYear~' + controlNum);
    var ddlEndMonth = getControl('ucResumeGeneralExperience_CompanyExperience~EndMonth~' + controlNum);
    var ddlEndYear = getControl('ucResumeGeneralExperience_CompanyExperience~EndYear~' + controlNum);

    var divStartMonth = getControl('divStartMonth' + controlNum);
    var divStartYear = getControl('divStartYear' + controlNum);
    var divEndMonth = getControl('divEndMonth' + controlNum);
    var divEndYear = getControl('divEndYear' + controlNum);

    
    if(txtCompanyName.value != '' || txtJobTitle.value != ''
        || ddlStartMonth.selectedIndex != 0 || ddlStartYear.selectedIndex != 0
        || ddlEndMonth.selectedIndex != 0 || ddlEndYear.selectedIndex != 0)
    {
        var showMsg = false;
        
        if(txtCompanyName.value == '')
        {
            txtCompanyName.className = 'requiredField';
            showMsg = true;
        }
        else
        {
            txtCompanyName.className = '';
        }
        
        if(txtJobTitle.value == '')
        {
            txtJobTitle.className = 'requiredField';
            showMsg = true;
        }
        else
        {
            txtJobTitle.className = '';
        }
        
        if(ddlStartMonth.selectedIndex == 0)
        {
            ddlStartMonth.className = 'requiredField';
            showMsg = true;
        }
        else
        {
            ddlStartMonth.className = '';
        }
        
        if(ddlStartYear.selectedIndex == 0)
        {
            ddlStartYear.className = 'requiredField';
            showMsg = true;
        }
        else
        {
            ddlStartYear.className = '';
        }
        
        if(ddlEndMonth.selectedIndex == 0)
        {
            ddlEndMonth.className = 'requiredField';
            showMsg = true;
        }
        else
        {
            ddlEndMonth.className = '';
        }
        
        if(ddlEndYear.selectedIndex == 0 && ddlEndMonth.value.toLowerCase() != 'present')
        {
            ddlEndYear.className = 'requiredField';
            showMsg = true;
        }
        else
        {
            ddlEndYear.className = '';
        }
    }
    else
    {
        txtCompanyName.className = '';
        txtJobTitle.className = '';
        ddlStartMonth.className = '';
        ddlStartYear.className = '';
        ddlEndMonth.className = '';
        ddlEndYear.className = '';            
    }
}


//Company Information

function hideCompanyExperience() {
    if (getControl('ucResumeGeneralExperience_fsCompanyExp4').style.display == '') {
        deleteCompanyState(4);
        getControl('ucResumeGeneralExperience_fsCompanyExp4').style.display = 'none';
        getControl('compDelete').style.visibility = 'visible';        
    } else if (getControl('ucResumeGeneralExperience_fsCompanyExp3').style.display == '') {
        deleteCompanyState(3);
        getControl('ucResumeGeneralExperience_fsCompanyExp3').style.display = 'none';
        getControl('compDelete').style.visibility = 'visible'; 
    } else if (getControl('ucResumeGeneralExperience_fsCompanyExp2').style.display == '') {
        deleteCompanyState(2);
        getControl('ucResumeGeneralExperience_fsCompanyExp2').style.display = 'none';
        getControl('compDelete').style.visibility = 'visible'; 
    } else if (getControl('ucResumeGeneralExperience_fsCompanyExp1').style.display == '') {
        deleteCompanyState(1);
        getControl('ucResumeGeneralExperience_fsCompanyExp1').style.display = 'none';
        getControl('compDelete').style.visibility = 'hidden'; 
    } else if (getControl('ucResumeGeneralExperience_fsCompanyExp0').style.display == '') {
        deleteCompanyState(0);
        getControl('compDelete').style.visibility = 'hidden'; 
    }
    getControl('compAdd').style.visibility = 'visible'; 
}


function showCompanyExperience() {
    if (getControl('ucResumeGeneralExperience_fsCompanyExp4').style.display == '') {
        getControl('compAdd').style.visibility = 'hidden'; 
        getControl('compDelete').style.visibility = 'visible'; 
        return;       
    } else if (getControl('ucResumeGeneralExperience_fsCompanyExp3').style.display == '') {
        getControl('ucResumeGeneralExperience_fsCompanyExp4').style.display = '';
        getControl('compAdd').style.visibility = 'hidden'; 
        getControl('compDelete').style.visibility = 'visible'; 
    } else if (getControl('ucResumeGeneralExperience_fsCompanyExp2').style.display == '') {
        getControl('ucResumeGeneralExperience_fsCompanyExp3').style.display = '';
        getControl('compAdd').style.visibility = 'visible'; 
        getControl('compDelete').style.visibility = 'visible'; 
    } else if (getControl('ucResumeGeneralExperience_fsCompanyExp1').style.display == '') {
        getControl('ucResumeGeneralExperience_fsCompanyExp2').style.display = '';
        getControl('compAdd').style.visibility = 'visible'; 
        getControl('compDelete').style.visibility = 'visible'; 
    } else if (getControl('ucResumeGeneralExperience_fsCompanyExp0').style.display == '') {
        getControl('ucResumeGeneralExperience_fsCompanyExp1').style.display = '';
        getControl('compAdd').style.visibility = 'visible'; 
        getControl('compDelete').style.visibility = 'visible'; 
    }
}

var isIE6 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 6.")!=-1)) ? true : false;

var isIE7 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 7.")!=-1)) ? true : false;

$CBSuggestion = function(da,o){
    if( !(da instanceof Array) ) da = [da];
	for (d in da) {	
	    if (!o) o = new Function();
	    var ob = new Object();
        //-----
        ob.cstart = (o.startCharNum && o.startCharNum > 0)?o.startCharNum:3;
        ob.timeOut = o.suggestionBoxTimeOut?o.suggestionBoxTimeOut:200;
        ob.ajax = o.ajax?o.ajax:null;
        ob.size = o.resultSize?o.resultSize:10;
        ob.qs = o.queryString?o.queryString:null;
        ob.onclick = o.onclick?o.onclick:null;
        //-----
        var b = document.getElementById(da[d]);
        ob.width = b.offsetWidth - 2; 
        ob.minWidth = b.offsetWidth - 2;
	    b.lastValue = b.value;
	    //b.autocomplete = "off";
	    b.setAttribute("autocomplete","off");
	    b.onkeyup = new Function("e","$CBSuggestion.showSuggestionBox(e,'"+da[d]+"')");
        b.onblur = new Function("e","timeoutID=window.setTimeout(\"$CBSuggestion.hideBox();\"," + ob.timeOut + ")");
	    $CBSuggestion._array[da[d]] =  ob
	}
}
$CBSuggestion._lastSelectValue = null;

$CBSuggestion._create = function(o) {
    var ob = new Object();
    ob.cstart = (o.startCharNum && o.startCharNum > 0)?o.startCharNum:3;
    ob.timeOut = o.suggestionBoxTimeOut?o.suggestionBoxTimeOut:200;
    ob.size = o.resultSize?o.resultSize:10;
    return ob;
}

$CBSuggestion._checkDowndropboxes = function(d,b) {
    var x = b?b:"hidden";
    var num = parseInt(d.substring(d.length-1));
    if (!isIE7)
        for (var j=num; j<6; j++) {
            if (document.getElementById("reloc" + j).style.display != "none") {
                document.getElementById("ucResDesiredPos_Relocation~RelocationCountry~0~"+j).style.visibility = x;
                document.getElementById("ucResDesiredPos_Relocation~RelocationWorkStatus~0~"+j).style.visibility = x;
            }    
        }
}


$CBSuggestion.hideBox = function() {  
    $CBSuggestion._autocomplete.style.visibility = "hidden"; 
    if($CBSuggestion._inputbox_num)
    {
        showRelocationFieldValidity($CBSuggestion._inputbox_num);   
    }     
    checkState($CBSuggestion._inputbox_num);
    if (isIE7) {
        for (var j=$CBSuggestion._inputbox_num; j<6; j++) {
            if (document.getElementById("reloc" + j).style.display != "none") {
                document.getElementById("ucResDesiredPos_Relocation~RelocationCountry~0~"+j).style.visibility = "visible";
                document.getElementById("ucResDesiredPos_Relocation~RelocationWorkStatus~0~"+j).style.visibility = "visible";
            }    
        }   
    } 
    if (timeoutID) {clearTimeout(timeoutID);} 

}

$CBSuggestion.showSuggestionBox = function(e,d) {
    var a = $CBSuggestion._autocomplete;
    $CBSuggestion._inputbox_num = parseInt(d.substring(d.length-1)); 
            
	function _selectItemDown() {
        if (a.style.visibility == "hidden") { return; }
        if (a.activeIndex < a.childNodes.length-1) { a.activeIndex++; }
        else { a.activeIndex = a.childNodes.length-1; }
        if(a.activeIndex>0) { a.childNodes[a.activeIndex-1].className = ""; }
        a.childNodes[a.activeIndex].className = "activeLink";
        $CBSuggestion._setInputBoxValue(d,a.childNodes[a.activeIndex].firstChild.innerHTML);
    }
    function _selectItemUp() {
        if (a.style.visibility == "hidden") { return; }
        if (a.activeIndex > a.childNodes.length) {
            a.activeIndex = a.childNodes.length;
        }
        if (a.activeIndex < 1) {
	        a.activeIndex = -1;
	        var inputBox = document.getElementById(d);
	        inputBox.value = inputBox.lastValue; //value.substring(0,inputBox.lastValue.length);
	        a.childNodes[0].className = "";
	        return;
        }
        a.activeIndex--;
        if (a.activeIndex < a.childNodes.length-1) {
	        a.childNodes[a.activeIndex+1].className = "";
        }	
        a.childNodes[a.activeIndex].className = "activeLink";
        $CBSuggestion._setInputBoxValue(d,a.childNodes[a.activeIndex].firstChild.innerHTML);
    }
    if (!$CBSuggestion._array[d] || document.getElementById(d).value.trim().length < $CBSuggestion._array[d].cstart) {showRelocationFieldValidity($CBSuggestion._inputbox_num); return;} 
    if (document.all){ a.style.width = document.getElementById(d).style.width; }

   // a.style.minWidth = $CBSuggestion._array[d].minWidth + "px";
    var code;
	if (!e) var e = window.event;
	if (e.keyCode) code = e.keyCode;
	else if (e.which) code = e.which;
    
    switch(code) {
        case 13: //enter
        case 16: //Shift
        case 17: //Ctrl
        case 20: //Ctrl & t
        case 37: //left key
        case 39: //right key
            if ( window.event ) window.event.cancelBubble = true;
            if ( e.preventDefault ) e.preventDefault();
	        if (e.stopPropagation) e.stopPropagation();    
	        break;
        case 27: //escape key
	        $CBSuggestion.hideBox();
	        break;
        case 38: //up arrow
	        _selectItemUp();
	        break;
	    case 40: //down arrow
	        _selectItemDown();
	        break;
        default:

	        if (document.getElementById(d).lastValue == document.getElementById(d).value) {return;}
	        if (!$CBSuggestion._array[d].ajax) {return;}
            a.activeIndex = -1;
            document.getElementById(d).lastValue = document.getElementById(d).value;
            var core = new CB2.Framework.CBAtlasCore();
            var data = "";
            if ($CBSuggestion._array[d].qs) data = $CBSuggestion._array[d].qs + "=";
            data += document.getElementById(d).value;      
            var o = new Object();
            o.d = d;
            $CBSuggestion._inputbox = o;  //fix this later!!!! not efficient!!!
            var request = core.CreateAJAXRequestAdv($CBSuggestion._array[d].ajax+"?"+data, "get", data, $CBSuggestion.handleCbSuggestionResponse, null);
            core.InvokeAJAXRequest(request);
            break;
    }  
 }   
    	 
$CBSuggestion._setInputBoxValue = function (d,keyword) {
    var city = keyword.substring(0,keyword.indexOf(","));
    document.getElementById(d).value = city;
    var state = keyword.substring(keyword.indexOf(", ")+1);
    //changeState(d,state);
     var val = state + ", US";
    $CBSuggestion._lastSelectValue = val;
    //attempt to set selection range
    if (document.getElementById(d).lastValue)	{
        if (document.getElementById(d).createTextRange) {
            var selection = document.getElementById(d).createTextRange();
            selection.moveStart("character", document.getElementById(d).lastValue.length);
            selection.moveEnd("character", document.getElementById(d).value.length-1);
            selection.select();
        } else if (document.getElementById(d).setSelectionRange) {
            document.getElementById(d).setSelectionRange(document.getElementById(d).lastValue.length,document.getElementById(d).value.length);
        }
    }
}	     
    	 	
$CBSuggestion.setIndex = function (d,index) {
    for (var i = 0; i < $CBSuggestion._autocomplete.childNodes.length; i++) { $CBSuggestion._autocomplete.childNodes[i].className = ""; }
    $CBSuggestion._autocomplete.activeIndex = index;
    $CBSuggestion._autocomplete.childNodes[index].className = "activeLink";
    $CBSuggestion._setInputBoxValue(d,$CBSuggestion._autocomplete.childNodes[index].firstChild.innerHTML);
}
         
$CBSuggestion.handleCbSuggestionResponse = function(requestBack, eventArgs) {
    try {
	    if(requestBack.get_responseAvailable() && "200" == requestBack.get_statusCode()) {
            var arr = eval("(" + requestBack.get_responseData() + ")"); //JSON Array
            //var o = requestBack.get_userContext();
            var o = $CBSuggestion._inputbox;
            $CBSuggestion._ajaxSetSuggestions(o.d,arr);
        }
    } catch (e) {
        //nothing
    }    
}

$CBSuggestion._ajaxSetSuggestions = function(d,arr) {
    var suggestions = "";
    var o = $CBSuggestion._array[d];
    var len = o.size<arr.length?o.size:arr.length;
    for (var i = 0; i < len; i++) {
        var f = "$CBSuggestion.hideBox();";
        if (o.onclick) { f += o.onclick + "('" + i + "')";}
        suggestions += "<a href=\"javascript:void(0)\" onclick=\"" + f + "\" onmouseover=\"$CBSuggestion.setIndex('" +d +"'," + i +")\"><span>" + arr[i].city + ", " + arr[i].state + "</span></a>";
    }
    var coord = $CBSuggestion.getAnchorPosition(d);
    o.x = coord.x + 1;
    o.y = coord.y + document.getElementById(d).offsetHeight + 1;
    $CBSuggestion._checkDowndropboxes(d,"hidden");
    $CBSuggestion._autocomplete.style.left = o.x + "px";
    $CBSuggestion._autocomplete.style.top = o.y + "px";
    $CBSuggestion._autocomplete.innerHTML = suggestions;
    $CBSuggestion._autocomplete.style.visibility = "visible";
    CB.Tally('ResumeDesiredPosition', 'setSuggestions', 'recommend cities');
}

$CBSuggestion.getAnchorPosition = function(anchorname) {
    function AnchorPosition_getPageOffsetLeft (an) {
		var ol=an.offsetLeft;
	    while ((an=an.offsetParent) != null) { ol += an.offsetLeft; }
	    return ol;
	}
	
    function AnchorPosition_getPageOffsetTop (an) {
		var ot=an.offsetTop;
	    while((an=an.offsetParent) != null) { ot += an.offsetTop; }
	    return ot;
	}
	// This function will return an Object with x and y properties
	var useWindow=false;
	var coordinates=new Object();
	var x=0,y=0;
	// Browser capability sniffing
	var use_gebi=false, use_css=false, use_layers=false;
	if (document.getElementById) { use_gebi=true; }
	else if (document.all) { use_css=true; }
	else if (document.layers) { use_layers=true; }
	// Logic to find position
 	if (use_gebi && document.all) {
		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
		}
	else if (use_gebi) {
		var o=document.getElementById(anchorname);
		x=AnchorPosition_getPageOffsetLeft(o);
		y=AnchorPosition_getPageOffsetTop(o);
		}
 	else if (use_css) {
		x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);
		y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);
		}
	else if (use_layers) {
		var found=0;
		for (var i=0; i<document.anchors.length; i++) {
			if (document.anchors[i].name==anchorname) { found=1; break; }
			}
		if (found==0) {
			coordinates.x=0; coordinates.y=0; return coordinates;
			}
		x=document.anchors[i].x;
		y=document.anchors[i].y;
		}
	else {
		coordinates.x=0; coordinates.y=0; return coordinates;
		}
	coordinates.x=x;
	coordinates.y=y;
	return coordinates;
}
 
function checkState(n) {
    if (!$CBSuggestion._lastSelectValue) return;
    d = document.getElementById("ucResDesiredPos_Relocation~RelocationCity~0~" + n);
    if (d.value.trim() != "") {
        CB.Tally('ResumeDesiredPosition', 'checkState', 'recommend selected');
        var x = document.getElementById("ucResDesiredPos_Relocation~RelocationStateProvince~0~" + n);
        var val = $CBSuggestion._lastSelectValue.toLowerCase().trim();
        for (var i=0; i< x.options.length; i++) {    
          if (x.options[i].value.toLowerCase().trim() == val) {
            x.options[i].selected = true;
            SetCountry(x,"ucResDesiredPos_Relocation~RelocationCountry~0~" + n);
           break;
          }
        }
    }
}  

//function changeState(d,state) {
//    var numid = d.substring(d.length-4);
//    var x = document.getElementById("ucResDesiredPos_Relocation~RelocationStateProvince" + numid);
//    var val = state + ", US";
//    val = val.toLowerCase();    
//    for (var i=0; i< x.options.length; i++) {    
//      if (x.options[i].value.toLowerCase().trim() == val) {
//        x.options[i].selected = true;
//        SetCountry(x,"ucResDesiredPos_Relocation~RelocationCountry" + numid);
//        break;
//      }
//    }
//}      
        
function showRelocationFieldValidity(controlNum)
{
    var txtRelocationCity = document.getElementById(clientId + "Relocation~RelocationCity~0~" + controlNum);
    var ddlRelocationStateProvince = document.getElementById(clientId + "Relocation~RelocationStateProvince~0~" + controlNum);
    var txtRelocationZip = document.getElementById(clientId + "Relocation~RelocationZip~0~" + controlNum);
    var ddlRelocationCountry = document.getElementById(clientId + "Relocation~RelocationCountry~0~" + controlNum); 
    var ddlRelocationWorkStatus = document.getElementById(clientId + "Relocation~RelocationWorkStatus~0~" + controlNum);

    var divRelocationWorkStatus = document.getElementById('divRelocationWorkStatus' + controlNum);
    
    if ((txtRelocationCity.value != "" || ddlRelocationStateProvince.selectedIndex != 0
        || txtRelocationZip.value != "" || ddlRelocationCountry.selectedIndex != 0)
        && ddlRelocationWorkStatus.selectedIndex == 0) 
    {
        ddlRelocationWorkStatus.className = 'requiredField';
        //divRelocationWorkStatus.className = 'requiredField';    
    }
    else
    {
        ddlRelocationWorkStatus.className = '';
        //divRelocationWorkStatus.className = '';
    }          
}

function checkShowHideLink() {
    if (lastOpenId == 0) {
        document.getElementById("relocAdd").style.display = "block";
        document.getElementById("relocDelete").style.display = "none";
    } else if (lastOpenId == 5) { 
        document.getElementById("relocAdd").style.display = "none";
        document.getElementById("relocDelete").style.display = "block";
    } else {
        document.getElementById("relocAdd").style.display = "block";
        document.getElementById("relocDelete").style.display = "block";
    }
}

function updateReloc() {
    for (var x=0;x<6;x++) {
        var city = document.getElementById(clientId + "Relocation~RelocationCity~0~" + x).value.trim();
        var state = document.getElementById(clientId + "Relocation~RelocationStateProvince~0~" + x).selectedIndex;
        var zip = document.getElementById(clientId + "Relocation~RelocationZip~0~" + x).value.trim();
        var country = document.getElementById(clientId + "Relocation~RelocationCountry~0~" + x).selectedIndex; 
        var status = document.getElementById(clientId + "Relocation~RelocationWorkStatus~0~" + x).selectedIndex;
        if (city != "" ||state != 0 || zip != "" || country != 0 || status != 0) {
            document.getElementById("reloc" + x).style.display = "";
        }
    }
}

function showReloc() {
    if (lastOpenId == 5) return;
    lastOpenId++;
    document.getElementById("reloc" + lastOpenId).style.display = "";
    checkShowHideLink();
}

function hideReloc() {
    if (lastOpenId == 0) return;
    
    // clearing all values
    var txtRelocationCity = document.getElementById(clientId + "Relocation~RelocationCity~0~" + lastOpenId);
    txtRelocationCity.value = '';
    var ddlRelocationStateProvince = document.getElementById(clientId + "Relocation~RelocationStateProvince~0~" + lastOpenId);
    ddlRelocationStateProvince.selectedIndex = 0;
    var txtRelocationZip = document.getElementById(clientId + "Relocation~RelocationZip~0~" + lastOpenId);
    txtRelocationZip.value = '';
    var ddlRelocationCountry = document.getElementById(clientId + "Relocation~RelocationCountry~0~" + lastOpenId); 
    ddlRelocationCountry.selectedIndex = 0;
    var ddlRelocationWorkStatus = document.getElementById(clientId + "Relocation~RelocationWorkStatus~0~" + lastOpenId);
    ddlRelocationWorkStatus.selectedIndex = 0;
    
    var divRelocationWorkStatus = document.getElementById('divRelocationWorkStatus' + lastOpenId);
    divRelocationWorkStatus.className = '';
    
    document.getElementById("reloc" + lastOpenId).style.display = "none";
    lastOpenId--;
    checkShowHideLink();
}
