﻿setGlobalOnLoad(initialization);
//********** Служебные
//Кроссбраузерная установка onload
function setGlobalOnLoad(f) {
   var root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null
   if (root){
      if(root.addEventListener) root.addEventListener("load", f, false)
      else if(root.attachEvent) root.attachEvent("onload", f)
   } else {
      if(typeof window.onload == 'function') {
         var existing = window.onload
         window.onload = function() {
            existing()
            f()
         }
      } else {
         window.onload = f
      }
   }
}
function addHandler(object, evt, handler)
{
  if (typeof object.addEventListener != 'undefined')
    object.addEventListener(evt, handler, false);
  else if (typeof object.attachEvent != 'undefined')
    object.attachEvent('on' + evt, handler);
  else
    throw "Incompatible browser";
}
function removeHandler(object, evt, handler)
{
  if (typeof object.removeEventListener != 'undefined')
    object.removeEventListener(evt, handler, false);
  else if (typeof object.detachEvent != 'undefined')
    object.detachEvent('on' + evt, handler);
  else
    throw "Incompatible browser";
}
//******** Статические
var rszblSwf=new Array();

function findSwf(id)
{
var ret=null,a=rszblSwf;
    for(var i in a)
        if(a[i].id == id) {ret=a[i]; break;}
    return ret;
}
function initialization()
{
var i,j,d,t=getElementsByClassName("placeflash","TABLE");
    for(i=0; i<t.length; i++)
    {
        d=getElementsByClassName("placeflash","DIV",t[i]);
        for(j=0; j<d.length; j++)
        {
        var place=layer(d[j]);
        var parent=layer(d[j].parentNode);
        var swf=d[j].firstChild;
        var o=findSwf(swf.id);
            if(!o) continue;
            o.swf=swf;
            d[j].style.width=o.width+"px";
            d[j].style.height=o.height+"px";
            place.moveTo(parent.getAbsoluteLeft(),parent.getAbsoluteTop());
            place.show();
            if(!swf.IsPlaying()) createOverDiv(place,parent,o);
            else
            {
                addHandler(swf, "mouseover", swfOver);
                addHandler(swf, "mouseout", swfOut);
                if(isMSIE) {swf.StopPlay(); swf.Play();}
            }
        }
    }
}
function createOverDiv(place,parent,objSwf)
{
var odiv=document.createElement("DIV");
    parent.object.appendChild(odiv);
    odiv.className="overflash";
    odiv.style.width=place.object.style.width;
    odiv.style.height=place.object.style.height;
    odiv.style.cursor="pointer";
    if(objSwf.back != "") odiv.style.backgroundImage="url("+objSwf.back+")";
    addHandler(odiv, "click", swfRun);
    layer(odiv).moveTo(parent.getAbsoluteLeft(),parent.getAbsoluteTop());
    layer(odiv).show();
}
function swfRun(evt)
{
var ev= (window.event) ? window.event : evt;
var src= (ev.srcElement) ? ev.srcElement : ev.target;
var swf=src.parentNode.getElementsByTagName("OBJECT");
    if(!swf.length) swf=src.parentNode.getElementsByTagName("EMBED");
    if(swf.length)
    {
        src.parentNode.removeChild(src);
        for(var i=0; i<rszblSwf.length; i++)
            if(rszblSwf[i].swf.id == swf[0].id)
            {
                addHandler(swf[0], "mouseover", swfOver);
                addHandler(swf[0], "mouseout", swfOut);
                swf[0].LoadMovie(0,rszblSwf[i].play);
                swf[0].Play();
                swfOverCont(swf[0]);
            }
            else
                if(rszblSwf[i].swf.IsPlaying())
                {
                    removeHandler(rszblSwf[i].swf, "mouseover", swfOver);
                    removeHandler(rszblSwf[i].swf, "mouseout", swfOut);
                    swfOutCont(rszblSwf[i].swf);
                    rszblSwf[i].swf.StopPlay();
                    rszblSwf[i].swf.LoadMovie(0,rszblSwf[i].stop);
                    createOverDiv(layer(rszblSwf[i].swf.parentNode),layer(rszblSwf[i].swf.parentNode.parentNode),rszblSwf[i]);
                }
    }
}
function swfOver(evt)
{
var ev= (window.event) ? window.event : evt;
var swf= (ev.srcElement) ? ev.srcElement : ev.target;
    swfOverCont(swf);
}
function swfOut(evt)
{
var ev= (window.event) ? window.event : evt;
var swf= (ev.srcElement) ? ev.srcElement : ev.target;
    swfOutCont(swf);
}
function swfOverCont(swf)
{
var parent=swf.parentNode;
var o=findSwf(swf.id)
    if(o)
    {
        parent.style.width=swf.style.width=o.zwidth+"px";
        parent.style.height=swf.style.height=o.zheight+"px";
        parent.style.zIndex=20;
    }
}
function swfOutCont(swf)
{
var parent=swf.parentNode;
var o=findSwf(swf.id)
    if(o)
    {
        parent.style.width=swf.style.width=o.width+"px";
        parent.style.height=swf.style.height=o.height+"px";
        parent.style.zIndex=0;
    }
}
//******** Расширение класса SWFObject
function resizeableSwf(swf, id, w, h, ver, c, quality, xiRedirectUrl, redirectUrl, detectKey)
{
var o=new SWFObject(swf,id,w,h,ver,c,quality,xiRedirectUrl,redirectUrl,detectKey);
    o.id= id || "";
    o.width= w || 200;
    o.height= h || 150;
    o.zwidth= 400;
    o.zheight= 300;
    o.back= "";
    o.play=o.stop= swf;
    rszblSwf.push(o);
    return o;
}
var dsp=deconcept.SWFObject.prototype;
dsp.setZWidth=function(value)
{
var o=findSwf(this.id);
    if(o) o.zwidth=value;
}
dsp.setZHeght=function(value)
{
var o=findSwf(this.id);
    if(o) o.zheight=value;
}
dsp.setBack=function(value)
{
var o=findSwf(this.id);
    if(o) o.back=value;
}
dsp.setSwfPlay=function(value)
{
var o=findSwf(this.id);
    if(o) o.play=value;
}
dsp.setSwfStop=function(value)
{
var o=findSwf(this.id);
    if(o) o.stop=value;
}

