CFrame = function(header, b_class, request) {
    b_class = b_class == undefined ? 'b-frameRoundWhite-width' : b_class;
    var self = this;
    var fader = new CFader();
    var frame = document.createElement('div');
    frame.style.top = (document.body.scrollTop || document.documentElement.scrollTop) + 100 + 'px';
    frame.id        = 'b-frameRoundWhite-wrapper';
    frame.className = 'b-frameRoundWhite-wrapper';
    frame.innerHTML = '<div class="'+b_class+'" style="margin:0 auto">\n\
    <div class="b-frameRoundWhite">\n\
        <!-- S Верхняя часть -->\n\
        <div class="b-frameRoundWhite-top png">\n\
            <div class="b-frameRoundWhite-top-lt png"></div>\n\
            <h1 class="b-frameRoundWhite-top-header">'+header+'</h1>\n\
            <div class="b-frameRoundWhite-top-rt png" id="b-frameRoundWhite-close" title="Закрыть"></div>\n\
        </div>\n\
        <!-- F Верхняя часть -->\n\
        <!-- S Контент -->\n\
        <div class="b-frameRoundWhite-lt png">\n\
            <div class="b-frameRoundWhite-rt png">\n\
                <div class="b-frameRoundWhite-content" id="b-frameRoundWhite-content">\n\
                    <div class="b-frameRoundWhite-preloder"></div>\n\
                </div>\n\
            </div>\n\
        </div>\n\
        <!-- F Контент -->\n\
        <!-- S Нижняя часть -->\n\
        <div class="b-frameRoundWhite-bot png">\n\
            <div class="b-frameRoundWhite-bot-lt png"></div>\n\
            <div class="b-frameRoundWhite-bot-rt png"></div>\n\
        </div>\n\
        <!-- F Нижняя часть -->\n\
    </div>\n\
</div>';
    document.body.appendChild(frame);
    var close = byId('b-frameRoundWhite-close');
    var content = byId('b-frameRoundWhite-content');
    
    close.onclick = function() {
        self.destroy();
    }
    
    this.eldom = frame;
    
    this.setContent = function(html) {
        content.innerHTML = html;
        reinitScripts(frame);
        return self;
    }
    
    this.setImage = function(src, width) {
        self.setContent('<img width="'+width+'" alt="Изображение '+src+'" src="'+src+'"/>');
        var div = byId('b-frameRoundWhite-wrapper').getElementsByTagName('div')[0];
        div.style.width = width + 80 + 'px';
        return self;
    }
    
    this.setPreloader = function() {
        var div = document.createElement('div');
        div.className = 'b-frameRoundWhite-preloder';
        content.appendChild(div);
        return self;
    }
    
    if(request !== undefined)
        Ajax(request, this.setContent);
    
    this.destroy = function() {
        try {
            fader.destroy();
        } catch (e) {}
        if (frame.parentNode !== null)
            frame.parentNode.removeChild(frame);
        return self;
    }
    
    function reinitScripts(el)
    {
        var tags = el.getElementsByTagName("script");
        var count = tags.length;
        var removeAr = [];
        for(var j = 0; j < count; j++)
        {
            var old = tags[j];
            var newScript = document.createElement('script');
            newScript.type = "text/javascript";
            if(old.src) newScript.src = old.src
            else newScript.text = old.text;
            el.appendChild(newScript);
            removeAr.push(old);
        }
        for(var i = 0; i < removeAr.length; i++)
        {
            var old = removeAr[i];
            old.parentNode.removeChild(old);
        }
    }
    return self;
}
