	function changeDateForm(isGazette)
	{
        y  = document.getElementById('dfYear');
        m  = document.getElementById('dfMonth');
        d  = document.getElementById('dfDay');
        s1 = document.getElementById('ds1');
        s2 = document.getElementById('ds2');
        if (y && m && d && s1 && s2)
        {
            if (isGazette)
            {
                y.disabled = 'disabled';
                m.disabled = 'disabled';
                d.disabled = 'disabled';
                s1.checked = ''
                s2.checked = 'checked'
            }
            else
            {
                y.disabled = '';
                m.disabled = '';
                d.disabled = '';
                s1.checked = 'checked'
                s2.checked = ''
            }
        }
        saveResearchDate();
	}

	function resetDateForm()
	{
        y = document.getElementById('dfYear');
        m = document.getElementById('dfMonth');
        d = document.getElementById('dfDay');
        if (y && m && d)
        {
            dt = new Date();
            y.value = dt.getFullYear();
            m.selectedIndex = dt.getMonth();
            d.selectedIndex = dt.getDate()-1;
            changeDateForm(false);
        }
	}

	function getSuggestion(id)
	{
	    var o = document.getElementById(id);
	    if (o)
	    {
	        if (o.value.length >= 5)
	        {
	            xajax_getSuggestion(id,o.value);
	        }
	    }
	}

	function acceptSuggestion(id,oldText,newText)
	{
	    var o = document.getElementById(id);
	    if (o)
	    {
	        t = o.value.replace(oldText,newText);
	        o.value = t;
	        layerHide('suggestBubble')
	    }
	}

	function urlencode(string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }
        return escape(utftext);
    }