function externalFlashWriter (flashBannerSource){
    document.write(flashBannerSource);
}

var popup_uid_name = 0;

function openWin(wUri, wName, wWidth, wHeight, Scroll, wMenu, Resize) {
	var pid = wUri.firstChild.getAttribute("popup-image-data");
	if(wName==''){
		popup_uid_name++;
		wName=popup_uid_name;
	}
	wWidth = 552;
	wHeight = 700;
	var resizable = (Resize==0) ? 0 : 1;
	var scrollBars = (Scroll!=0) ? 1 : 0;
	var menuBars = (wMenu) ? 1 : 0;
	var positionLeft = (screen.width - wWidth)/2;
	var positionTop = (screen.height - wHeight)/2;
	var myW = window.open(wUri+'&popup_image_data=' + pid,wName,'width='+wWidth+',height='+wHeight+',top='+positionTop+',left='+positionLeft+',location=0,menubar='+menuBars+',resizable=false,scrollbars=yes,status=0,titlebar=0,toolbar=0,directories=0,hotkeys=0')
	myW.focus();
}


	function listActor(actor_id)
	{
		location.href = '/stars.html?article_id=' + actor_id;
	}

new function(){
  /** @id ra */
  var ra = {
    'event':
    /** @id ra.event */
    {
      'attach': document.addEventListener ?
      /** @id ra.event.attach */
      function(callback, eventType, rootEventNode){
        var handler = function(e){
          callback(e.target, {'x': e.pageX, 'y': e.pageY}, e) === false && e.preventDefault()
        };
        rootEventNode.addEventListener(eventType, handler, false);
        return handler
      }:
      function(callback, eventType, rootEventNode){
        var handler = function(){
          var e = window.event,
          t = document.documentElement,
          o = {'X':'Left','Y':'Top'},
          pos = {}, k, scroll = 'scroll';
          for (k in o) {
            pos[k] = e['client'+k]+t[scroll+o[k]]
          }
          if (t = document.body) for (k in o) {
            pos[k] += t[scroll+o[k]]
          };
          callback(e.srcElement || document, pos, e) === false && (e.returnValue = false)
        };
        rootEventNode.attachEvent('on' + eventType, handler);
        return handler
      },
      'detach': document.addEventListener ?
      /** @id ra.event.detach */
      function(handler, eventType, rootEventNode){
        rootEventNode.removeEventListener(eventType, handler, false)
      }:
      function(handler, eventType, rootEventNode){
        rootEventNode.detachEvent('on'+eventType, handler)
      },
      'Watcher':
      /** @id ra.event.Watcher */
      function(eventType, fNodeSelectors, intoSelectorsMethod, outSelectorsMethod){
        var thisObj = this, callback = function(currentNode, pos, e){
          var nods = fNodeSelectors(currentNode, pos, e),
          returnValue, i;
          if (nods) {
            if (intoSelectorsMethod) {
              for (i = nods.length; i--;) {
                thisObj[intoSelectorsMethod](nods[i], pos, e) === false && (returnValue = false)
              }
              return returnValue
            }
          } else if (outSelectorsMethod) {
            return thisObj[outSelectorsMethod](currentNode, pos, e)
          }
        },
        handler;
        (this.attach = function(){
          handler = ra.event.attach(callback, eventType, document)
        })();
        this.detach = function(){
          ra.event.detach(handler, eventType, document);
        }
      }
    },
    'getAttr':
    /** @id ra.getAttr */
    function(oNode, attrName){
      var getAttr='getAttribute', getAttrNode=getAttr+'Node';
      return oNode.nodeType == 1 && oNode[getAttr](attrName, 2)||((oNode[getAttrNode]&&(oNode=oNode[getAttrNode](attrName)))?oNode.nodeValue:'')
    },
    'contains': function(a, b){
      return (ra.contains = a.contains ?
      function (a, b){
        return a == b || a.contains(b)
      }:
      function (a, b){
        return a == b || (a.compareDocumentPosition(b) & 16)
      })(a, b)
    }
  };
  var k, w = window;
  w.ra || (w.ra = {});
  for (var k in ra) {
    w.ra[k] || (w.ra[k] = ra[k]);
  }
};

ra.Dynamic=function(drawMethod, t){
  t || (t=this);
  t.play.drawMethod = drawMethod
};
ra.Dynamic.runTicker = function(o,from,to,drawMethod){
  function ticker(){
    var timeInterval=20,interval=to-from;
    o[drawMethod](o.current=(from+o.type(ticker.currentTime/o.duration)*interval));
    if(ticker.currentTime < o.duration){
      (interval=o.duration-ticker.currentTime)<timeInterval && (timeInterval=interval);
      ticker.currentTime += timeInterval;
      o.timerID = setTimeout(ticker,timeInterval)
    }else{
      o.playBack=!o.playBack;
      o.current = null;
      o.timerID = null
    }
  };
  ticker.currentTime=0;
  ticker();
};
ra.Dynamic.prototype = {
  'play': function(){
    var t = this, runTicker = ra.Dynamic.runTicker, a = ['from', 'to'], drawMethod = t.play.drawMethod;
    if (t.playBack) {
      a = a.reverse()
    }
    a[0] = t[a[0]];
    a[1] = t[a[1]];
    if (t.current == null) {
      runTicker(t, a[0], a[1],drawMethod)
    }
    else {
      t.playBack = !t.playBack;
      runTicker(t, t.current, a[0],drawMethod)
    }
  },
  'stop': function(){
    this.timerID != null && clearTimeout(this.timerID)
  },
  'timerID': null,
  'type': function(p){return 1-Math.sin(Math.acos(p))},
  'duration':110
};
ra.getUniqueId = function(nod) {
  if (nod.uniqueID)
    return nod.uniqueID
  return nod.uniqueID = 'uId'+ra.getUniqueId.last++;
};
ra.getUniqueId.last = 0;
new function(){
  var k,
  arrowWatcher = new ra.event.Watcher(
    'click',
    function(currentNode){
      while(!/(?:^| )(?:prevButton|nextButton)(?: |$)/.test(currentNode.className) && (currentNode = currentNode.parentNode));
      return currentNode && [[currentNode]]
    },
    'doScroll'
  ),
  lastDate = new Date(),
  hoverScrollWatcher = new ra.event.Watcher(
    'mousemove',
    function(currentNode){
      var n;//, d = new Date();
      //if (d-lastDate < 50) return false;
      while(currentNode.nodeName != 'TD' && (currentNode = currentNode.parentNode));
      if (!currentNode || /(?:^| )current(?: |$)/.test(currentNode.className)) return false;
      n=currentNode;
      while(!/(?:^| )kvadratiki(?: |$)/.test(currentNode.className) && (currentNode = currentNode.parentNode));
      return currentNode && [[n,currentNode]]
    },
    'doScroll',
    'outScroll'
  ),
  offsetWidth='offsetWidth',
  offsetLeft='offsetLeft',
  dynamicScrollers = {};
  function c(t,o,p){
    var a=o.getElementsByTagName('LI'),k,w=a.length-1,i=p?0:w,r;
    if(p.constructor == Number){
      p=a[p][offsetLeft]
    }else{
      if(p)
        while(i<w && a[i][offsetLeft]-t.to<=0){i++}
      else
        while(i && a[i][offsetLeft]-t.to>=0){i--};
      p=a[i][offsetLeft]
    }
    t.from=o.scrollLeft;
    k=a[w][offsetWidth]+a[w][offsetLeft]-o[offsetWidth];
    t.to=(k>0&&p>k)?k:p;
    t.playBack=!1;
    delete t.current;
    t.play();
    return t.to ? (p>=k ? 2 : 0): 1
  }
  function scrollListTo(p,m){
    var a, n, t, i=2, d;
    if (!(t=dynamicScrollers[d=ra.getUniqueId(m)])) {
      t = dynamicScrollers[d] = new DynamicScroller();
      t.nod = m.getElementsByTagName('DIV')[0];
      t.to = t.nod.scrollLeft = 0;
    }
    n = c(t,t.nod,p);
    for(a=m; i && (a=a.previousSibling);){
      a.nodeType==1 && (a.style.visibility = i==n?'hidden':'',i--)
    }
    for(a=m; (a=a.nextSibling) && a.nodeType !=1;);
    a = a.getElementsByTagName('TD');
    if (p.constructor == Number){
      for (i=a.length, n=0; i--;){
        if (a[i].className=='current'){
          n++
        }else if (n){
          break
        }
      }
      for (i=0; i < p; i++) a[i].className='';
      for (i+=n; p < i; p++) a[p].className='current';
      for (i=a.length; p < i; p++) a[p].className='';
    } else {
      for (
        i = p ? 0 : a.length-1;
        a[i].className != 'current';
        i+=p ? 1 :-1
      );
      a[i].className = '';
      while (a[i+=p ? 1 :-1].className == 'current');
      a[i].className = 'current'
    }
  }
  function DynamicScroller() {
    ra.Dynamic('draw', this)
  }
  DynamicScroller.prototype = {
    'draw':function(pos){
      this.nod.scrollLeft=Math.round(pos)
    },
    'duration':140
  }
  for (k in ra.Dynamic.prototype) {
    if (!DynamicScroller.prototype[k])
      DynamicScroller.prototype[k] = ra.Dynamic.prototype[k]
  }
  arrowWatcher.doScroll = function(ns){
    var m;
    for (m=ns[0]; !/(?:^| )previewList(?: |$)/.test(m.className) && (m=m.nextSibling););
    scrollListTo(/(?:^| )nextButton(?: |$)/.test(ns[0].className), m);
    return false
  };
  hoverScrollWatcher.doScroll = function(ns){
    var m, i, n;
    for (m=ns[1]; !/(?:^| )previewList(?: |$)/.test(m.className) && (m=m.previousSibling););
    for (
      i=0, n=ns[0];
      n=n.previousSibling;
    ){
      if (n.nodeType==1){
        if (/(?:^| )current(?: |$)/.test(n.className)) break;
        i++
      }
    };
    if (n) {
      i++;
      while ((n.nodeType!=1 || /(?:^| )current(?: |$)/.test(n.className))&&(n=n.previousSibling));
      if (n){
        i++;
        while (n=n.previousSibling){
          if (n.nodeType==1) i++
        }
      }
    }
    typeof this.timer != 'undefined' && clearTimeout(this.timer);
    this.timer = setTimeout(
      function(){
        scrollListTo(i, m)
      },
      100
    );
  };
  hoverScrollWatcher.outScroll = function(){
    typeof this.timer != 'undefined' && clearTimeout(this.timer)
  }
};

