    $(document).ready(function() {
        if (typeof(serverDate) != 'undefined') {
            var timeDifference = serverDate.getTime() - new Date().getTime();

            setInterval(function(){
                var date = new Date(new Date().getTime() + timeDifference);
                document.getElementById('systemTime').innerHTML = PadDigits(date.getHours(), 2) + ':' + PadDigits(date.getMinutes(), 2) + ':' + PadDigits(date.getSeconds(), 2);
            }, 1000);
        }

        chFrontImg(document.getElementById('frontImg'));
        if (typeof(commentsType) != 'undefined') comments(commentsType, 'fb-root');
    });


    function PadDigits(n, totalDigits) {
        n = n.toString();
        var pd = '';

        if (totalDigits > n.length) for (i=0; i < (totalDigits-n.length); i++) pd += '0';

        return pd + n.toString();
    }


    function chFrontImg(obj) {
        if (obj) {
            var jqObj = $(obj);
            var width = jqObj.width();

            if (width >= 775) jqObj.css("background-image", "url(/design/site/images/lang/" + language + "/front775.png)").height(477).css("min-width", "775px");
            else if (width >= 680) jqObj.css("background-image", "url(/design/site/images/lang/" + language + "/front680.png)").height(419).css("min-width", "680px");
            else jqObj.css("background-image", "url(/design/site/images/lang/" + language + "/front440.png)").height(271).css("min-width", "440px");
        }
    }


    function comments(type, id) {
        var obj = document.getElementById(id);
        if (!obj) return;

        var set = {
            width: $(obj).width(),
            limit: 10
        };

        switch (type) {
            case 'fb':
                fb_comments(obj, set);
                break;
            case 'vk':
                vk_comments(id, set);
                break;
        }
    }


    function fb_comments(obj, set) {
        obj.innerHTML += '<fb:comments href="' + window.location.href.replace(window.location.host, 'dune-2.com') + '" num_posts="' + set.limit + '" width="' + set.width + '" colorscheme="dark"></fb:comments>';
    }


    function vk_comments(id, set) {
        if (typeof(VK) == 'undefined') return;
        VK.Widgets.Comments(id, {limit:set.limit, width:set.width, attach: "*"});
    }

/*
    function vk_comments_toggle(id) {
        var obj = document.getElementById(id);
        if (!obj) return;

        if (obj.style.display == 'block') $(obj).fadeOut('slow');
        else $(obj).fadeIn('slow');
    }
*/



    function print_r(arr, level) {
        var print_red_text = "";
        if(!level) level = 0;
        var level_padding = "";
        for(var j=0; j<level+1; j++) level_padding += "    ";
        if(typeof(arr) == 'object') {
            for(var item in arr) {
                var value = arr[item];
                if(typeof(value) == 'object') {
                    print_red_text += level_padding + "'" + item + "' :\n";
                    print_red_text += print_r(value,level+1);
                }
                else print_red_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
            }
        }

        else  print_red_text = "===>"+arr+"<===("+typeof(arr)+")";
        return print_red_text;
    }




    function in_array(needle, haystack) {
        for (key in haystack) {
            if (haystack[key] == needle) return true;
        }
    }




    function translate(str, obj) {
        for (key in obj) str = str.split('<#'+key+'#>').join(obj[key]);
        return str;
    }
