
//var TOOLBAR_ID = 0;
//var TOOLBAR_GUID = '';
//var TOOLBAR_DOMAIN = '';
//var METABAR_HOST = '';

var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
try{
    var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-16723928-1']);
    _gaq.push(['_trackPageview', "/partners/" + TOOLBAR_DOMAIN]);
} catch(err) {}

var IS_IE = /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
var IS_IE9 = /msie 9\./i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
var IS_FF3 = /Firefox[\/\s](3\.\d+)/i.test(navigator.userAgent);
var IS_FF = /Firefox[\/\s](\d+\.\d+)/i.test(navigator.userAgent);
var IS_OPERA = /opera/i.test(navigator.userAgent);

var install_button_click_timout_id = 0;
var INSTALL_URL = 'http://'+METABAR_HOST+'/toolbar/download/'+TOOLBAR_ID+'/?rnd='+(parseInt(Math.random()*Math.pow(10, 16)))+'&download=1';
var BUTTON_CLICK_URL = '';
var INSTALL_CALLBACK = null;

function isPSMode() {
    var psModeMessage = "Вы запустили браузер через ссылку на панели задач. В этом режиме Internet Explorer не поддерживает работу расширений. Для установки приложения откройте Internet Explorer через меню кнопки «Пуск» и еще раз зайдите на эту страницу.";
    try {
        if (window.external.msIsSiteMode()) {
            alert(psModeMessage);
            return true;
        }
    } catch (ex) {}

    return false;
}

function metabar_toolbar_callback(data) {
    /* У пользователя уже установлен тулбар */
    var CONFIGURE_URL = 'http://'+METABAR_HOST+'/account/edit_toolbar/'+data.toolbar_id+'/?from_toolbar=1';
    var COMBINE_URL = CONFIGURE_URL + '&combined_toolbar_id='+TOOLBAR_ID;
    $(function () {
        if (parseInt(data.toolbar_id) == TOOLBAR_ID || parseInt(data.source_toolbar_id) == TOOLBAR_ID) {
            $('.METABAR-INSTALL, .METABAR-CONFIGURE, .METABAR-ADD-WIDGETS, .METABAR-DISABLED').hide();
            $('.METABAR-CONFIGURE').show();
            $('.METABAR-BUTTON').click(function (e) {
                if (isPSMode()) {
                    return;
                }
                if (e.isDefaultPrevented() || e.isPropagationStopped()) return;
                clearTimeout(install_button_click_timout_id);
                window.location = CONFIGURE_URL;
                e.preventDefault();
                return false;
            });
        } else {
            $('.METABAR-INSTALL, .METABAR-CONFIGURE, .METABAR-ADD-WIDGETS, .METABAR-DISABLED').hide();
            $('.METABAR-ADD-WIDGETS').show();
            $('.METABAR-BUTTON').click(function (e) {
                if (isPSMode()) {
                    return;
                }
                if (e.isDefaultPrevented() || e.isPropagationStopped()) return;
                clearTimeout(install_button_click_timout_id);
                window.location = COMBINE_URL;
                e.preventDefault();
                return false;
            });
        }
    });
    if (data.install_callback) {
        INSTALL_CALLBACK = data.install_callback;
    }
}


$(function () {
    $('.METABAR-INSTALL, .METABAR-CONFIGURE, .METABAR-ADD-WIDGETS, .METABAR-DISABLED').hide();

    $('.widget').each(function () {
        var properties = $(this).attr('properties');
        if (properties) {
            append_properties($(this), JSON.parse(properties));
        }
    });

    if (!OPERA_SUPPORT) {
        $('.opera_support').hide();
    }

    if (IS_FF || IS_IE || (OPERA_SUPPORT && IS_OPERA)) {
        $('.METABAR-INSTALL').show();

        $('.METABAR-BUTTON').click(function (event) {
            if (isPSMode()) {
                return;
            }
            try {
                try {
                    pageTracker._trackPageview('/partners/' + TOOLBAR_DOMAIN + '/install_button_click');
                } catch (e) { }

                if (INSTALL_CALLBACK) {
                    var canContinue = INSTALL_CALLBACK.method(INSTALL_CALLBACK.arguments);
                    if (!canContinue) {
                        event.preventDefault();
                        event.stopPropagation();
                        return false;
                    }
                }

                install_button_click_timout_id = setTimeout(function () {
                    if (IS_FF && IS_FF3) {
                        $('.allow_ff_install').show();
                    }
                    if (IS_IE && !IS_IE9) {
                        $('.allow-note_ie').show();
                    }

                    if (IS_IE) {
                        window.location = '?download=1';
                    }
                    else {
                        window.location = INSTALL_URL;
                    }
                }, 100);
            } catch (e) {
                alert("An error occured: " + e.message);
            }
        });
    } else {
        $('.METABAR-DISABLED').show();
    }

    if (document.URL.search('fb_xd_fragment') == -1 && document.URL.search('\\?download') != -1 && IS_IE) {
        if (!IS_IE9) {
            $('.allow-note_ie').show();
        }
        if (isPSMode()) {
            return;
        }
        setTimeout(function () {
            window.location = INSTALL_URL;
        }, 500);

    }

    if (OPERA_SUPPORT && IS_OPERA && "undefined" != typeof (widgets_config)) {
        try {
            $.support.cors = true;
            if (!widgets_config.widgets || Array != widgets_config.widgets.constructor) throw new Error("widget_config.widgets is empty");
            for (var i = 0; i < widgets_config.widgets.length; i++) {
                var widget = widgets_config.widgets[i];
                $.ajax({
                    crossDomain: true,
                    url: widgets_config.settings.host + "/static/platform/" + widgets_config.settings.version + "/widgets/" + widget.identity.family + "/" + widget.identity.className + "/files.json",
                    complete: function (xhr, textStatus) {
                        try {
                            var files = JSON.parse(xhr.responseText);
                            if (Array == files.constructor) {
                                for (var j = 0; j < files.length; j++) {
                                    files[j] = files[j].replace(/\%VERSION\%/, widgets_config.settings.version);
                                    $.ajax({
                                        url: widgets_config.settings.host + "/" + files[j].replace(/^\/+/, "")
                                    });
                                }
                            }
                        } catch (e) {
                            ;
                        }
                    }
                });
            }

            var platform = ($.browser.opera) ? "opera" : null;
            if (platform) {
                $.ajax({
                    crossDomain: true,
                    url: widgets_config.settings.host + "/static/platform/" + widgets_config.settings.version + "/app/" + platform + "/files.js",
                    complete: function (xhr, textStatus) {
                        try {
                            var json = xhr.responseText.replace(/^[^\[\{]+/, "").replace(/[^\]\}]+$/, "");
                            var files = JSON.parse(json);
                            for (var j = 0; j < files.length; j++) {
                                files[j] = files[j].replace(/\%VERSION\%/, widgets_config.settings.version);
                                $.ajax({
                                    url: widgets_config.settings.host + "/" + files[j].replace(/^\/+/, "")
                                });
                            }
                        } catch (e) {

                        }
                    }
                });
            }
        } catch (e) {
            //caching failed
            ;
        }
    }
});

