﻿var stickers = {

      s1: {
          mx: -220, my: -100,  //смещение блока
          w: 240, h: 110,  //ширина и высота блока
          bx: 5, by: 10,  //смещение пузыря относительно блока
          bw: 145, bh: 90,  //ширина и высота пузыря

          br: -3, ip: 'br',
          ox: 230, oy: 100,  //смещение свободной точки
          lc: 0x045781,     //цвет линии
          fa: 45,           //угол отклонения точки внутри пузыря -360 до 360
          fr: 40,           //длина плеча
          ta: 35,           //угол отклонения свободной точки от  -360 до 360
          tr: 30,           //длина плеча 
          ls: 50
      },          //положение точки перегиба от 0 до 100

      s2: {
          mx: -75, my: -113,
          w: 200, h: 130,

          bx: 30, by: 4,
          bw: 145, bh: 90,

          br: 6, ip: 'bl',
          ox: 65, oy: 123,
          lc: 0xF59B06,
          fa: 45,
          fr: 15,
          ta: -55,
          tr: 20,
          ls: 50
      },

      s3: {
          mx: -17, my: 0,
          w: 270, h: 122,

          bx: 100, by: 10,
          bw: 145, bh: 90,

          br: -3, ip: 'tl',
          ox: 5, oy: 11,
          lc: 0x9B0BA8,
          fa: 45,
          fr: 40,
          ta: 35,
          tr: 30,
          ls: 50
      },

      s4: {
          mx: -253, my: -50,
          w: 230, h: 110,

          bx: 10, by: 3,
          bw: 145, bh: 90,

          br: 4, ip: 'br',
          ox: 220, oy: 105,
          lc: 0x9B0BA8,
          fa: 45,
          fr: 40,
          ta: 35,
          tr: 30,
          ls: 50
      },

      s5: {
          mx: -15, my: -47,
          w: 370, h: 110,
          border: true,

          bx: 230, by: 20,
          bw: 135, bh: 90,

          br: -3, ip: 'tl',
          ox: 5, oy: 41,
          lc: 0x07578C,
          fa: 45,
          fr: 40,
          ta: 35,
          tr: 15,
          ls: 50
      },

      s6: {
          mx: -14, my: -3,
          w: 250, h: 110,
          zIndex: 2, opacity: 0.5,

          bx: 80, by: 20,
          bw: 145, bh: 90,

          br: -3, ip: 'tl',
          ox: 5, oy: 9,
          lc: 0x79B900,
          fa: 45,
          fr: 40,
          ta: 35,
          tr: 30,
          ls: 50
      },

      s7: {
          mx: -220, my: -65,
          w: 240, h: 110,

          bx: 10, by: 13,
          bw: 145, bh: 90,

          br: 4, ip: 'tr',
          ox: 230, oy: 71,
          lc: 0xD33B12,
          fa: -40,
          fr: 50,
          ta: -45,
          tr: 30,
          ls: 50
      },

      s9: {
          mx: -14, my: -22,
          w: 250, h: 110,

          bx: 80, by: 10,
          bw: 145, bh: 90,

          br: 4, ip: 'tl',
          ox: 5, oy: 21,
          lc: 0x07578C,
          fa: 45,
          fr: 40,
          ta: 35,
          tr: 30,
          ls: 50
      },

      s10: {
          mx: -220, my: -24,
          w: 240, h: 115,

          bx: 5, by: 24,
          bw: 145, bh: 90,

          br: -4, ip: 'tr',
          ox: 230, oy: 30,
          lc: 0x9B0BA8,
          fa: 45,
          fr: 30,
          ta: -45,
          tr: 30,
          ls: 50
      },

      s11: {
          mx: -14, my: -22,
          w: 220, h: 180,

          bx: 50, by: 50,
          bw: 145, bh: 90,

          br: 5, ip: 'tl',
          ox: 5, oy: 21,
          lc: 0xF59B06,
          fa: 45,
          fr: 40,
          ta: 35,
          tr: 5,
          ls: 50
      },

      s12: {
          mx: -17, my: 0,
          w: 270, h: 122,

          bx: 100, by: 10,
          bw: 135, bh: 90,

          br: -3, ip: 'tl',
          ox: 5, oy: 11,
          lc: 0x07578C,
          fa: 45,
          fr: 40,
          ta: 35,
          tr: 30,
          ls: 50
      }
  };

var stickerSwfName = '/Images/sticker.swf',
    stickerBlocks = [],
    stickerIds = [],
    stickerIdPrefix = 0;

function addStickers(delayBefore, delayBetween) {
    var i = 0;
    for (var id in stickers) {
        showSticker(id, (delayBefore == null ? null : delayBefore + (i++) * delayBetween));
    }
}

function showSticker(id, delay) {
    var sticker = stickers[id];
    var el = document.getElementById(id);

    if (!el) return;
    
    el.style.display = 'block';
    el.style.position = 'absolute';
    
    /*if (sticker.border) el.style.border = '1px dashed red';*/
    if (sticker.mx != null) el.style.marginLeft = sticker.mx + 'px';
    if (sticker.my != null) el.style.marginTop = sticker.my + 'px';
    if (sticker.tx == '') sticker.tx = '<empty>';

    var pd = el.parentNode.parentNode;
    
    if (sticker.zIndex) {
        el.style.zIndex = sticker.zIndex;
        pd.style.backgroundColor = '#E2ECC7';
        pd.style.position = 'relative';
        pd.style.zIndex = sticker.zIndex;
    }

    var width = sticker.w;
    var height = sticker.h;
    var so = new SWFObject(stickerSwfName, 'flash_' + id, width, height, 7);
    
    so.addParam('wmode', 'transparent');
    so.addParam('scale', 'noscale');
    so.addParam('salign', 'tl');
    
    for (var i in sticker) {
        if (i == 'tx')
            so.addVariable(i, escape(sticker[i]).replace(/%/g, '!'));
        else
            so.addVariable(i, sticker[i]);
    }

    if (stickerIdPrefix == 0) stickerIdPrefix = new Date().getTime();

    var stId = stickerIdPrefix + '_' + id;

    so.addVariable('id', stId);

    if (delay != null) so.addVariable('delay', delay);

    so.write(id);

    /*if (!isIE) setupEvent($('flash_' + id), 'mouseover', stickerMouseOver);*/
    
    stickerBlocks.push(el);
    stickerIds.addItem(stId); // test & push
}

/*
function addStickerParams(id, text, url) {
    var s = stickers[id];
    if (s) {
        s.tx = text;
        s.ur = url;
    }
}

function stickerMouseOver(event) {
    var el = event.target || event.srcElement;
    while (el && el.tagName != 'DIV') el = el.parentNode;
    if (el) {
        el.zIndex = 1 - el.zIndex || 0;
        el.style.zIndex = el.zIndex;
    }
}

var stickerProxyNum = -1;

function callStickersFunc(funcName, stId) {
    var so = new SWFObject('/Images/proxy.swf', 'sticker_proxy_' + (++stickerProxyNum), 1, 1, 6);
    so.addParam('wmode', 'transparent');
    so.addVariable('id', stId || stickerIds.join(','));
    so.addVariable('fn', funcName);
    so.write('proxy_container');
}

function setupEvent(el, eventType, handler, capture) {
    if (el.attachEvent) el.attachEvent('on' + eventType, handler)
    else if (el.addEventListener) el.addEventListener(eventType, handler, capture);
}*/



/*var userAgent = navigator.userAgent,
    isKHTML = (userAgent.indexOf('KHTML') >= 0),
    isOpera = (userAgent.indexOf('Opera') >= 0),
    isIE = (!isOpera && userAgent.indexOf('MSIE') >= 0),
    isIE50 = (isIE && /MSIE 5\.0/.test(userAgent) && navigator.platform == 'Win32'),
    isMozilla = (!isKHTML && !isOpera && userAgent.indexOf('Gecko') >= 0);*/

if (!Array.prototype.indexOf) {
    Array.prototype.indexOf = function(item, first) {
        for (var i = first || 0; i < this.length; i++) {
            if (this[i] == item) return i;
        }
        return -1;
    }
}

Array.prototype.addItem = function(item) {
    var i = this.indexOf(item);
    if (i < 0) {
        i = this.length;
        this.push(item);
    }
    return i;
}

/*
Array.prototype.removeItem = function(item) {
    var i = this.indexOf(item);
    if (i >= 0) this.removeItemByIndex(i, true);
    return i;
}

Array.prototype.removeItemByIndex = function(i, shrink) {
    if (shrink) {
        if (this.splice) this.splice(i, 1)
        else {
            for (var j = i + 1; j < this.length; j++) this[j - 1] = this[j];
            this.length = this.length - 1;
        }
    } else {
        if (i < this.length - 1) this[i] = null
        else {
            do { this.length = (i--) } while (i >= 0 && this[i] == null);
        }
    }
    return true;
}
*/

/* SWFObject */
if (typeof deconcept == "undefined") { var deconcept = new Object(); } if (typeof deconcept.util == "undefined") { deconcept.util = new Object(); } if (typeof deconcept.SWFObjectUtil == "undefined") { deconcept.SWFObjectUtil = new Object(); } deconcept.SWFObject = function(_1, id, w, h, _5, c, _7, _8, _9, _a) { if (!document.getElementById) { return; } this.DETECT_KEY = _a ? _a : "detectflash"; this.skipDetect = deconcept.util.getRequestParameter(this.DETECT_KEY); this.params = new Object(); this.variables = new Object(); this.attributes = new Array(); if (_1) { this.setAttribute("swf", _1); } if (id) { this.setAttribute("id", id); } if (w) { this.setAttribute("width", w); } if (h) { this.setAttribute("height", h); } if (_5) { this.setAttribute("version", new deconcept.PlayerVersion(_5.toString().split("."))); } this.installedVer = deconcept.SWFObjectUtil.getPlayerVersion(); if (!window.opera && document.all && this.installedVer.major > 7) { deconcept.SWFObject.doPrepUnload = true; } if (c) { this.addParam("bgcolor", c); } var q = _7 ? _7 : "high"; this.addParam("quality", q); this.setAttribute("useExpressInstall", false); this.setAttribute("doExpressInstall", false); var _c = (_8) ? _8 : window.location; this.setAttribute("xiRedirectUrl", _c); this.setAttribute("redirectUrl", ""); if (_9) { this.setAttribute("redirectUrl", _9); } }; deconcept.SWFObject.prototype = { useExpressInstall: function(_d) { this.xiSWFPath = !_d ? "expressinstall.swf" : _d; this.setAttribute("useExpressInstall", true); }, setAttribute: function(_e, _f) { this.attributes[_e] = _f; }, getAttribute: function(_10) { return this.attributes[_10]; }, addParam: function(_11, _12) { this.params[_11] = _12; }, getParams: function() { return this.params; }, addVariable: function(_13, _14) { this.variables[_13] = _14; }, getVariable: function(_15) { return this.variables[_15]; }, getVariables: function() { return this.variables; }, getVariablePairs: function() { var _16 = new Array(); var key; var _18 = this.getVariables(); for (key in _18) { _16[_16.length] = key + "=" + _18[key]; } return _16; }, getSWFHTML: function() { var _19 = ""; if (navigator.plugins && navigator.mimeTypes && navigator.mimeTypes.length) { if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "PlugIn"); this.setAttribute("swf", this.xiSWFPath); } _19 = "<embed type=\"application/x-shockwave-flash\" src=\"" + this.getAttribute("swf") + "\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\""; _19 += " id=\"" + this.getAttribute("id") + "\" name=\"" + this.getAttribute("id") + "\" "; var _1a = this.getParams(); for (var key in _1a) { _19 += [key] + "=\"" + _1a[key] + "\" "; } var _1c = this.getVariablePairs().join("&"); if (_1c.length > 0) { _19 += "flashvars=\"" + _1c + "\""; } _19 += "/>"; } else { if (this.getAttribute("doExpressInstall")) { this.addVariable("MMplayerType", "ActiveX"); this.setAttribute("swf", this.xiSWFPath); } _19 = "<object id=\"" + this.getAttribute("id") + "\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\"" + this.getAttribute("width") + "\" height=\"" + this.getAttribute("height") + "\" style=\"" + this.getAttribute("style") + "\">"; _19 += "<param name=\"movie\" value=\"" + this.getAttribute("swf") + "\" />"; var _1d = this.getParams(); for (var key in _1d) { _19 += "<param name=\"" + key + "\" value=\"" + _1d[key] + "\" />"; } var _1f = this.getVariablePairs().join("&"); if (_1f.length > 0) { _19 += "<param name=\"flashvars\" value=\"" + _1f + "\" />"; } _19 += "</object>"; } return _19; }, write: function(_20) { if (this.getAttribute("useExpressInstall")) { var _21 = new deconcept.PlayerVersion([6, 0, 65]); if (this.installedVer.versionIsValid(_21) && !this.installedVer.versionIsValid(this.getAttribute("version"))) { this.setAttribute("doExpressInstall", true); this.addVariable("MMredirectURL", escape(this.getAttribute("xiRedirectUrl"))); document.title = document.title.slice(0, 47) + " - Flash Player Installation"; this.addVariable("MMdoctitle", document.title); } } if (this.skipDetect || this.getAttribute("doExpressInstall") || this.installedVer.versionIsValid(this.getAttribute("version"))) { var n = (typeof _20 == "string") ? document.getElementById(_20) : _20; n.innerHTML = this.getSWFHTML(); return true; } else { if (this.getAttribute("redirectUrl") != "") { document.location.replace(this.getAttribute("redirectUrl")); } } return false; } }; deconcept.SWFObjectUtil.getPlayerVersion = function() { var _23 = new deconcept.PlayerVersion([0, 0, 0]); if (navigator.plugins && navigator.mimeTypes.length) { var x = navigator.plugins["Shockwave Flash"]; if (x && x.description) { _23 = new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".")); } } else { if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0) { var axo = 1; var _26 = 3; while (axo) { try { _26++; axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + _26); _23 = new deconcept.PlayerVersion([_26, 0, 0]); } catch (e) { axo = null; } } } else { try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"); } catch (e) { try { var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"); _23 = new deconcept.PlayerVersion([6, 0, 21]); axo.AllowScriptAccess = "always"; } catch (e) { if (_23.major == 6) { return _23; } } try { axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); } catch (e) { } } if (axo != null) { _23 = new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(",")); } } } return _23; }; deconcept.PlayerVersion = function(_29) { this.major = _29[0] != null ? parseInt(_29[0]) : 0; this.minor = _29[1] != null ? parseInt(_29[1]) : 0; this.rev = _29[2] != null ? parseInt(_29[2]) : 0; }; deconcept.PlayerVersion.prototype.versionIsValid = function(fv) { if (this.major < fv.major) { return false; } if (this.major > fv.major) { return true; } if (this.minor < fv.minor) { return false; } if (this.minor > fv.minor) { return true; } if (this.rev < fv.rev) { return false; } return true; }; deconcept.util = { getRequestParameter: function(_2b) { var q = document.location.search || document.location.hash; if (_2b == null) { return q; } if (q) { var _2d = q.substring(1).split("&"); for (var i = 0; i < _2d.length; i++) { if (_2d[i].substring(0, _2d[i].indexOf("=")) == _2b) { return _2d[i].substring((_2d[i].indexOf("=") + 1)); } } } return ""; } }; deconcept.SWFObjectUtil.cleanupSWFs = function() { var _2f = document.getElementsByTagName("OBJECT"); for (var i = _2f.length - 1; i >= 0; i--) { _2f[i].style.display = "none"; for (var x in _2f[i]) { if (typeof _2f[i][x] == "function") { _2f[i][x] = function() { }; } } } }; if (deconcept.SWFObject.doPrepUnload) { if (!deconcept.unloadSet) { deconcept.SWFObjectUtil.prepUnload = function() { __flash_unloadHandler = function() { }; __flash_savedUnloadHandler = function() { }; window.attachEvent("onunload", deconcept.SWFObjectUtil.cleanupSWFs); }; window.attachEvent("onbeforeunload", deconcept.SWFObjectUtil.prepUnload); deconcept.unloadSet = true; } } if (!document.getElementById && document.all) { document.getElementById = function(id) { return document.all[id]; }; } var getQueryParamValue = deconcept.util.getRequestParameter; var FlashObject = deconcept.SWFObject; var SWFObject = deconcept.SWFObject;
