//preloader
var URL_PATTERN = /url\([\"\'](.+)[\"\']\)/i
var images = [];
var preloader = $(
    '<div id="preloader">\n' + 
    '<div id="preloader-back">\n'+
    '<div id="preloader-front"></div></div>\n' +
    '<div id="preloader-text"></div>\n' +
    '</div>');

var loaded = 0;
var total = 0;
var wraper = null;

function onLoad() {
    loaded++;
    if (loaded < total) {
        $('#preloader-text').html(MSG_LOADING_IMAGES + ': ' + 
            loaded + '/' + total);
        $('#preloader-front').width(Math.floor(loaded / total * 100) + '%');
    }
    else {
        preloader.remove();
        wraper.css('display', 'block');
    }
}

function preload(element) {
    wraper = element;
    var urls = [];
    $(wraper.selector + ' *').each(function() {
        var url = $(this).css('background-image');
        var match = URL_PATTERN.exec(url);
        if (match) {
            urls.push(match[1]);
        }
    });
    total = urls.length;
    if (total) {
        loaded = 0;
        wraper.css('display', 'none');
        wraper.before(preloader);
        $('#preloader-text').html(MSG_LOADING_IMAGES + ': 0/' + total);
        $('#preloader-front').width(0);
        $.each(urls, function() {
            var image = $(new Image())
                .load(onLoad)
                .attr('src', this);
            images.push(image);
            /*
            if (image.complete) {
                onLoad();
            }
            */
        });
    }
    else {
        wraper.css('display', 'block');
    }
}

//make document width even
function firstAdopt() {
    var wraper = $('#wraper');
    width = Math.floor(wraper.width() / 2) * 2;
    wraper.width(width);
}

function adopt() {
    var width = $(window).width();
    width = Math.floor(width / 2) * 2;
    $('#wraper').width(width);
}

