function ResizeAreas(img_id) {
    function $(id) {
        return document.getElementById(id);
    }
    function getNaturalWH(img) {
        if (typeof img.naturalHeight == 'undefined') {
            var tmp_img = new Image();
            tmp_img.src = img.src;
            return {imgHeight: tmp_img.height,imgWidth: tmp_img.width};
        } else {

            return {imgHeight: img.naturalHeight,imgWidth: img.naturalWidth};
        }
    }


    var img = $(img_id);
    var wh = getNaturalWH(img);
    if ( !wh.imgHeight || !wh.imgWidth ) return;

    if ( img.onmousemove ) var hook_mouse_move = img.onmousemove;
    img.onmousemove = function( event ) {
        if ( hook_mouse_move ) hook_mouse_move( event );

        function resize_area(area) {
            var area_coord = area.coords;

            area_coord = area_coord.split(',');
            for (var i = 0; i < area_coord.length; i ++ ) {
                if ( ( i % 2 ) == 0 ) {
                    area_coord[i] = Math.round(area_coord[i].replace(/\s/,'') * coef_w);
                } else {
                    area_coord[i] = Math.round(area_coord[i].replace(/\s/,'') * coef_h);
                }
            }
            area.coords = area_coord.join(',');
        }

        var img = this;
        if (wh.imgHeight == img.clientHeight && wh.imgWidth == img.clientWidth) return;

        var coef_h = img.clientHeight / wh.imgHeight;
        var coef_w = img.clientWidth / wh.imgWidth;
        wh.imgHeight = img.clientHeight;
        wh.imgWidth = img.clientWidth;

        var map_name = img.useMap.split('#')[1];
        if ( !map_name ) return;
        var map = document.getElementsByName(map_name)[0];
        var map_areas = map.areas;
        for (i = 0; i < map_areas.length; i ++ ) {
            resize_area(map_areas[i]);
        }
    }
}

