    function urldecode(utftext)
    {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length )
        {
            c = utftext.charCodeAt(i);

            if ( c < 128 )
            {
                string += String.fromCharCode(c);
                i++;
            }
            else if ( c > 191 && c < 224 )
            {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else
            {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }
        }

        return string;
    }
    
    function loadhtmlpane(module,method,formpars,outdiv)
    {
        $('#' + outdiv).html('<div style="text-align:center"><img src="www/public/default/img/pl.gif" /></div>');

        formpars.m = module;
        
        if ( method )
        {
            formpars.DO=method;
        }

        $.post('ajax.cgi', 
            formpars,
            function(data){ $('#' + outdiv).html(data) }
        );
    }

    function loadCatalogue(url)
    {
        $('#catalogue-wrapper:hidden').slideDown();
        $('#catalogue').empty();
        $('#catalogue').flash({
            swf: url.split('?')[0],
            height: 330,
            width: '100%',
            params: {
                allowfullscreen: true,
                menu: false,
                wmode: 'transparent',
                flashvars: url.split('?')[1] || {}
            }
        });
    }
    
    function swapOptionsCheck(object,idcode, selector)
    {
        var checked = $(object).is(':checked');
        
        $(selector).removeAttr('checked');
		$(selector+"-i").val('0');
		
        if ( checked ) {
            $(object).attr('checked', 'checked');
       		$(idcode+"-i").val('1');
        }

    }
