window.onerror = null;

basket = {
attr_name: "basket",
blank_text: "(ссылка откроется в новом окне)",
newline_entity: "~",
max_width: 0,
delay: 0,
t: document.createElement("DIV"),
c: null,
g: false,

m: function(e){
if (basket.g){
oCanvas = document.getElementsByTagName(
(document.compatMode && document.compatMode == "CSS1Compat") ? "HTML" : "BODY"
)[0];
x = window.event ? event.clientX + oCanvas.scrollLeft : e.pageX;
y = window.event ? event.clientY + oCanvas.scrollTop : e.pageY;
basket.a(x, y);
}
},
d: function(){
basket.t.setAttribute("id", "basket");
document.body.appendChild(basket.t);
a = document.all ? document.all : document.getElementsByTagName("*");
aLength = a.length;
for (var i = 0; i < aLength; i++){

if (!a[i]) continue;
basket_comment = a[i].getAttribute("comment"); 

if (basket_comment && typeof basket_comment != "string") basket_comment = "";
basket_blank = a[i].getAttribute("cash") && a[i].getAttribute("cash") == "_blank" && basket.blank_text;
if (basket_comment || basket_blank){
a[i].setAttribute(basket.attr_name, basket_blank ? (basket_comment ? basket_comment + " " + basket.blank_text : basket.blank_text) : basket_comment);
if (a[i].getAttribute(basket.attr_name)){
a[i].removeAttribute("comment");
if (basket_comment && a[i].complete) a[i].removeAttribute("comment");
basket.l(a[i], "mouseover", basket.s);
basket.l(a[i], "mouseout", basket.h);
}
}
if (!a[i].getAttribute(basket.attr_name) && basket_blank){
}
}
document.onmousemove = basket.m;
window.onscroll = basket.h;
basket.a(-99, -99);
},

s: function(e){
d = window.event ? window.event.srcElement : e.target;
if (!d.getAttribute(basket.attr_name)) return;
s = d.getAttribute(basket.attr_name);
if (basket.newline_entity){
s = s.replace(/\&/g,"&amp;");
s = s.replace(/\</g,"&lt;");
s = s.replace(/\>/g,"&gt;");
s = s.replace(eval("/" + basket.newline_entity + "/g"), "<br />");
basket.t.innerHTML = s;
}else{
if (basket.t.firstChild) basket.t.removeChild(basket.t.firstChild);
basket.t.appendChild(document.createTextNode(s));
//basket.t.innerText = s;
}
basket.c = setTimeout("basket.t.style.visibility = 'visible';", basket.delay);
basket.g = true;
},

h: function(e){
basket.t.style.visibility = "hidden";
if (!basket.newline_entity && basket.t.firstChild) basket.t.removeChild(basket.t.firstChild);
clearTimeout(basket.c);
basket.g = false;
basket.a(-99, -99);
},

l: function(o, e, a){
if (o.addEventListener) o.addEventListener(e, a, false);
else if (o.attachEvent) o.attachEvent("on" + e, a);
else return null;
},

a: function(x, y){
oCanvas = document.getElementsByTagName(
(document.compatMode && document.compatMode == "CSS1Compat") ? "HTML" : "BODY"
)[0];

w_width = oCanvas.clientWidth ? oCanvas.clientWidth + oCanvas.scrollLeft : window.innerWidth + window.pageXOffset;
w_height = window.innerHeight ? window.innerHeight + window.pageYOffset : oCanvas.clientHeight + oCanvas.scrollTop;

basket.t.style.width = ((basket.max_width) && (basket.t.offsetWidth > basket.max_width)) ? basket.max_width + "px" : "auto";

t_width = basket.t.offsetWidth;
t_height = basket.t.offsetHeight;

basket.t.style.left = x + 6 + "px";
basket.t.style.top = y + 16 + "px";

if (x + t_width > w_width-8) basket.t.style.left = w_width - t_width + "px";
if (y + t_height > w_height-8) basket.t.style.top = w_height - t_height + "px";
}
}
var root = window.addEventListener || window.attachEvent ? window : document.addEventListener ? document : null;
if (root){
if (root.addEventListener) root.addEventListener("load", basket.d, false);
else if (root.attachEvent) root.attachEvent("onload", basket.d);
}
