
window.addEvent('domready', function() {
    var departments = departments || $('more-departments-wrap');
       
    if($('view-more-departments')) {
        $('view-more-departments').addEvent('click', function() {
            this.blur();
            if ($('more-depts').hasClass('active')) {
                $('more-depts').removeClass('active');
                departments.setStyle('display', 'none');
            } else {
                departments.setStyle('display', 'block');
                $('more-depts').addClass('active');
            }
            return false;
        });
        $(document.body).addEvent('click', function() {
            if ($('more-depts').hasClass('active')) {
                $('more-depts').removeClass('active');
                if (departments.getParent()) 
                    departments.setStyle('display', 'none');
            }
        });  
    }
});

String.implement({
    encodeNonChar: function() {
        var newString = "";
        
        this.split("").each(function(c) {
            newString += (c.match(/[a-zA-Z0-9]/) ? c : "&#" + c.charCodeAt(0) + ";");
        });
        
        return newString.toString();
    },
    
    cleanASCII: function() {
        var newString = new String(this.toString());
        var regexp = new RegExp("(?:&#([0-9]+);)");
        var result = regexp.exec(newString.toString());
        while(result != null && $type(result[1]) != 'undefined') {
            newString = newString.replace("&#" + result[1] + ";", String.fromCharCode(result[1]));
            result = regexp.exec(newString.toString());
        }
        return newString;
    }
});
