function ya_escape(str,l) {
    if (!l) l = 256;
    if (str==null) return '';
    if (str.length>l) str=str.substr(0,l);
    return escape(str).replace(/\+/g, '%2B');
}
function ya_hit(goal_url, lcid, lclass) {
    if(typeof(ya_cid)=='undefined' && lcid == null) return false;
    var qs='rn='+Math.floor(Math.random()*1000000);
    if (lclass!=null) qs+='&cnt-class='+lclass;
    var w=window,d=w.document,n=w.navigator,l=d.location;
    if (n.javaEnabled()) qs+='&j=1';
    if (w.screen) qs+='&s='+screen.width+'x'+screen.height+'x'+(screen.colorDepth?screen.colorDepth:screen.pixelDepth);
    var p=n.plugins;
    if (p && p.length) {
        for(var i=0;i<p.length;i++) {
            if (p[i].name.indexOf('Shockwave Flash')>=0) {
                qs+='&f='+escape(p[i].description.substr(16));
                break;
            }
        }
    } else if (w.ActiveXObject) {
        for(var i=10;i>=2;i--) {
            try {
                new ActiveXObject('ShockwaveFlash.ShockwaveFlash.'+i);
                qs+='&f='+i+'.0';
                break;
            } catch(e) {}
        }
    }
    if (w!=top) qs+='&fr=1';
    if (goal_url != null) {
        qs+='&page-ref='+ya_escape(l.href,512);
        qs+='&page-url='+ya_escape('goal://'+d.domain+'/'+goal_url,512);
    } else {
        qs+='&page-ref='+ya_escape(d.referrer,512);
        qs+='&page-url='+ya_escape(l.href,512);
    }
    if (d.title) qs+='&t='+ya_escape(d.title,100);
    if (lcid==null) lcid=ya_cid;
    var hr=(l.protocol=='https:'?'https:':'http:')+"//bs.yandex.ru/watch/"+lcid+'?'+qs;
    if (d.createElement && d.body && d.body.firstChild) {
	var st = d.createElement("link");
	st.setAttribute("rel","stylesheet");
	st.setAttribute("href",hr+'&wmode=1');
	d.body.insertBefore(st,d.body.firstChild);
    } else {
	var i=new Image(1,1);
	i.src=hr;
    }
    if (goal_url != null) {
        var date = new Date();
        var start = date.getTime();
        for(var j = 1; j > 0; j++) {
          if (j % 1000 == 0) {
                date = new Date;
                var end = date.getTime();
                if(end - start > 100) break;
          }
        }
    }
    return true;
}
ya_hit();
