
oCanvas = document.getElementsByTagName((document.compatMode && document.compatMode == "CSS1Compat") ? "HTML" : "BODY")[0];

var addEvent = (function(){
	if (document.addEventListener){
        	return function(obj, type, fn, useCapture){
                	obj.addEventListener(type, fn, useCapture);
	}
	} else if (document.attachEvent){ // для Internet Explorer
	return function(obj, type, fn, useCapture){
	        obj.attachEvent("on"+type, fn);
	}
	} else {
	return function(obj, type, fn, useCapture){
	        obj["on"+type] = fn;
	}
	}
})();

function show(a){var c=document.getElementById(a); c.style.display=(c.style.display=="block"?"none":"block");}

jtop=0;	// при открытии нового окна старое закрыть
function InWin(a){
a.target='_blank';
jtop=window.open(a.href,'', 'height=640,width=640,location=no,toolbar=no,directories=no,menubar=no,status=yes,scrollbars=1,resizable=yes');
jtop.focus();
jtop.name='example';
return false;
}

function IsMail(mail, EnableEmpty)
{
 if (EnableEmpty && (mail=="") ) return true;
 if (mail=="")  return false;
 if (mail.indexOf(".") == -1) return false;
 dog = mail.indexOf("@");
 if (dog == -1) return false; 
 if ((dog < 1) || (dog > mail.length - 5)) return false;
 if ((mail.charAt(dog - 1) == '.') || (mail.charAt(dog + 1) == '.')) return false; 
 return true;
}

function ajaxLoad(obj,url,defMessage,post,callback){
  var ajaxObj;
  if(typeof(obj)!="object")obj=document.getElementById(obj);
  if(defMessage)obj.innerHTML=defMessage;
  //var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  if(window.XMLHttpRequest){ 
      ajaxObj = new XMLHttpRequest(); 
  } else if(window.ActiveXObject){ 
      ajaxObj = new ActiveXObject("Microsoft.XMLHTTP");  
  } else { 
      return; 
  } 
  ajaxObj.open ((post?'POST':'GET'), url);
  if (post&&ajaxObj.setRequestHeader)
      ajaxObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=windows-1251;");
  ajaxObj.setRequestHeader("Referer", location.href);
  ajaxObj.onreadystatechange=ajaxCallBack(obj,ajaxObj,(callback?callback:null));
  ajaxObj.send(post); 
  return false;
} 
function updateObj(obj, data, bold, blink){
   if(bold)data=data.bold();
   if(blink)data=data.blink();
   if(typeof(obj)!="object")obj=document.getElementById(obj); if(!obj)return;
   if(obj.tagName=='INPUT') obj.value=data;
   else if(obj.tagName=='SELECT'){
	  obj.options.length = 0;
	  var re=new RegExp ("<option([^<]+)</option>","img");
	  data=data.match(re);
	  if(data){
	     for(i=0;i<data.length;i++){
		var re0 = new RegExp ("value=[\'\"]([^\'\"]+)[\'\"]","i"); value=re0.exec(data[i]);
			if(value==null)var re0 = new RegExp ("value=([^>]+)>","i"); value=re0.exec(data[i]);
			 value= value==null? '' : value[1];
		var re1=new RegExp ("<option [^>]+>([^<]+)</option>","i"); text=re1.exec(data[i]); text= text==null? null : text[1];
		var re4 = new RegExp ("class=[\'\"]([^\'\"]+)[\'\"]","i"); defclass=re4.exec(data[i]);
		j=obj.options.length;
		if (text !=null){
		   var re2 = /selected/i; defSelected=re2.test(data[i]);
		   obj.options[j] = new Option(text, value,defSelected,defSelected);
		   var re3 = /disabled/i; if(re3.test(data[i]))obj.options[j].disabled=true;
		   if(defclass!=null) obj.options[j].className=defclass[1];
		   }//else obj.options[j] = new Option('ОШИБКА!', '' );
		}
	 } 	
   }else {obj.innerHTML = data;
	 if(data.indexOf("<")>-1)tooltip.d();
	}
} 
function ajaxCallBack(obj, ajaxObj, callback){
return function(){
    if(ajaxObj.readyState == 4){
       if(callback) if(!callback(obj,ajaxObj))return;
       if (ajaxObj.status==200){
            if(ajaxObj.getResponseHeader("Content-Type").indexOf("application/x-javascript")>=0)
		eval(ajaxObj.responseText);
	    else updateObj(obj, ajaxObj.responseText);
	    }
       else updateObj(obj, ajaxObj.status+' '+ajaxObj.statusText,1,1);
    }
}}

window.setTimeout('oef()',500);
function oef(){// Цикл по всем ссылкам
for(i=0; i<document.links.length; i++) if (document.links[i].hostname.indexOf(window.location.hostname)<0) document.links[i].target='_blank';
}

function SendComment(){ 
  formComment=document.frmcomment;
  if(!formComment.comment.value){updateObj('answer', 'Пустой комментарий!',1,1); return;}
  if (!IsMail(formComment.mail.value, true)){updateObj('answer', 'Mail или пустой или корректный!',1,1); return;}
 str=''
 for (i=0; i<formComment.length; i++) if(formComment[i].name){
     str=str+encodeURIComponent(formComment[i].name)+'='+encodeURIComponent(formComment[i].value)+'&';
     }
  str=str.slice(0,-1);
  ajaxLoad('answer','/send.php','Отправка...', str)
 }

function trim(f){return f.toString().replace(/^[ ]+/, '').replace(/[ ]+$/, '');}


function SendForm(obj,frm){ // универсальная отправка формы
 str=''
 for (i=0; i<frm.length; i++) if(frm[i].name){
	if(frm[i].tagName=='SELECT') str=str+encodeURIComponent(frm[i].name)+'='+encodeURIComponent(frm[i].options[frm[i].selectedIndex].value)+'&';
	else if((frm[i].tagName=='INPUT')&& ((frm[i].type=='radio')|| (frm[i].type=='checkbox'))) {if(frm[i].checked)str=str+encodeURIComponent(frm[i].name)+'='+encodeURIComponent(frm[i].value)+'&';}
	else str=str+encodeURIComponent(frm[i].name)+'='+encodeURIComponent(frm[i].value)+'&';
     }
 str=str.slice(0,-1);
 ajaxLoad(obj,frm.action,'Отправка...', str)
 return false;
}


var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all
var dragswitch=0
var nsx, nsy, nstemp
function drag_dropns(name){
	if (!ns4) return
	temp=eval(name)
	temp.captureEvents(Event.MOUSEDOWN | Event.MOUSEUP)
	temp.onmousedown=gons
	temp.onmousemove=dragns
	temp.onmouseup=stopns
}
function gons(e){
	temp.captureEvents(Event.MOUSEMOVE)
	nsx=e.x
	nsy=e.y
}
function dragns(e){
	if (dragswitch==1){
	   temp.moveBy(e.x-nsx,e.y-nsy)
	   return false
	}
}
function stopns(){
	temp.releaseEvents(Event.MOUSEMOVE)
}
function drag_drop(e){
if (ie4&&dragapproved){
	crossobj.style.left=tempx+event.clientX-offsetx
	crossobj.style.top=tempy+event.clientY-offsety
	return false
}else if (ns6&&dragapproved){
	crossobj.style.left=tempx+e.clientX-offsetx+"px"
	crossobj.style.top=tempy+e.clientY-offsety+"px"
	return false
	}
}

var old_scroll=0;
function drag_scroll(e){
	crossobj=getObj('bskt');
	var st = self.pageYOffset || (document.compatMode=="CSS1Compat") && document.documentElement.scrollTop || document.body.scrollTop;
	crossobj.style.top=(parseInt(crossobj.style.top)+st-old_scroll)+"px";
	old_scroll=st;
}

function getObj(objID)
{
    if (document.getElementById) {return document.getElementById(objID);}
    else if (document.all) {return document.all[objID];}
    else if (document.layers) {return document.layers[objID];}
}

function getText(o)
{
if(!o)return '';
if(o.nodeValue)return o.nodeValue;
if(o.innerText)return o.innerText;
if(o.outerText)return o.outerText;
if(!document.all&&o.textContent)return o.textContent;
if(o.text)return o.text;
if(o.innerHTML)return o.innerHTML;
}

function initializedrag(e,o){
	crossobj=getObj(o);
	e = e||window.event;
	offsetx=e.clientX;
	offsety=e.clientY;
	tempx=parseInt(crossobj.style.left)
	tempy=parseInt(crossobj.style.top)
	dragapproved=true
	addEvent(document, 'mousemove', drag_drop);
	addEvent(document, 'mouseup', new Function("dragapproved=false"));
}


function hidebox(o){
getObj(o).style.visibility="hidden"
if(ie4)removeEvent(window, 'scroll', drag_scroll);
}

function visibox(o){
getObj(o).style.visibility="visible";
if(ie4)addEvent(window, 'scroll', drag_scroll);
}

tww=null;
function offWaitWind(){ tww=window.setTimeout("hidebox('WaitWind')",5000);}


var ua=function(){var o={ie:0,opera:0,gecko:0,webkit:0,mobile:null,air:0};
var ua=navigator.userAgent,m;
if((/KHTML/).test(ua)){o.webkit=1}
m=ua.match(/AppleWebKit\/([^\s]*)/);
if(m&&m[1]){o.webkit=parseFloat(m[1]);
if(/ Mobile\//.test(ua)){o.mobile="Apple"}else{m=ua.match(/NokiaN[^\/]*/);
if(m){o.mobile=m[0]}}m=ua.match(/AdobeAIR\/([^\s]*)/);
if(m){o.air=m[0]}}
if(!o.webkit){m=ua.match(/Opera[\s\/]([^\s]*)/);
if(m&&m[1]){o.opera=parseFloat(m[1]);
m=ua.match(/Opera Mini[^;]*/);if(m){o.mobile=m[0]}}else{m=ua.match(/MSIE\s([^;]*)/);
if(m&&m[1]){o.ie=parseFloat(m[1])}else{m=ua.match(/Gecko\/([^\s]*)/);
if(m){o.gecko=1;m=ua.match(/rv:([^\s\)]*)/);if(m&&m[1]){o.gecko=parseFloat(m[1])}}}}}return o}();

var isOpera = ua.opera,
    isIE = ua.ie; 

function getScroll(){
   var scrOfX = 0, scrOfY = 0;
   if( typeof( window.pageYOffset ) == 'number' ) {
      // Netscape compliant
      scrOfY = window.pageYOffset;
      scrOfX = window.pageXOffset;
   } else if( document.body &&
   	    ( document.body.scrollLeft || document.body.scrollTop ) ) {
      // DOM compliant
      scrOfY = document.body.scrollTop;
      scrOfX = document.body.scrollLeft;
   } else if( document.documentElement &&
   	    ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
      // IE6 Strict
      scrOfY = document.documentElement.scrollTop;
      scrOfX = document.documentElement.scrollLeft;
   }
return { x:scrOfX, y:scrOfY };
}

function WaitWind(str, width){
        if(tww)clearTimeout(tww);
        if(width)getObj('WaitWind').style.width=width+'px'; else width=getObj('WaitWind').style.width;

	var s=getScroll();
	o=getObj('WaitWind')
	//o.style.top=Math.round(75+s.y)  + "px";	//(window.pageYOffset ? window.pageYOffset : document.body.scrollTop);
        //o.style.left=s.x + "px";	//(window.pageXOffset ? window.pageXOffset : document.body.scrollLeft);

	var coord = getCenter();
	o.style.left= Math.round(coord.x - 200) + "px";
	o.style.top= Math.round(coord.y - 20) + "px";

	getObj('ww').innerHTML=str;
	visibox('WaitWind');
	//moveToCursor('WaitWind',1,1);
	offWaitWind();
//http://htmlweb.ru/java/example/alt_podskazka.php
}

function getCenter(){
  var s=getScroll();
  return {
    x: getViewportWidth()/2 + s.x,
    y: getViewportHeight()/2 + s.y
  };
}

function getViewportHeight() {
    var height = self.innerHeight; // Safari, Opera
    var mode = document.compatMode;

    if ( (mode || isIE) && !isOpera ) { // IE, Gecko
        height = (mode == 'CSS1Compat') ?
                document.documentElement.clientHeight : // Standards
                document.body.clientHeight; // Quirks
    }

    return height;
}; 
      
function getViewportWidth() {
    var width = self.innerWidth;  // Safari
    var mode = document.compatMode;
    
    if (mode || isIE) { // IE, Gecko, Opera
        width = (mode == 'CSS1Compat') ?
                document.documentElement.clientWidth : // Standards
                document.body.clientWidth; // Quirks
    }
    return width;
};

function moveToCursor(obj,x,y,e){
t=getObj(obj);
x = window.event ? event.clientX + oCanvas.scrollLeft : e.pageX;
y = window.event ? event.clientY + oCanvas.scrollTop : e.pageY;
t.style.left = x + "px";
t.style.top = y + "px";
/*
w_width = window.event ? oCanvas.clientWidth : window.innerWidth;
w_height = window.event ? oCanvas.clientHeight : window.innerHeight;
t_width = window.event ? t.clientWidth : t.innerWidth;
t_height = window.event ? t.clientHeight : t.innerHeight;
t_extra_height=t_extra_width = 7; // padding + borderWidth;
while (x + t_width + t_extra_width > w_width){
        --x;
        t.style.left = x + "px";
        t_width = window.event ? t.clientWidth : t.innerWidth;
}
while (y + t_height + t_extra_height > w_height){
        --y;
        t.style.top = y + "px";
        t_height = window.event ? t.clientHeight : t.innerHeight;
}
*/
}
/*
  y = y+ window.pageYOffset ? window.pageYOffset : document.body.scrollTop;
  x = x+ window.pageXOffset ? window.pageXOffset : document.body.scrollLeft;
*/
function getScreenWidth(){
    var db=document.body;
    if(window.opera)return db.clientWidth;
    if (document.compatMode=='CSS1Compat')return document.body.parentNode.clientWidth;
    else return db.clientWidth;
}

/*
// Плавное изменение прозрачности
function showElement(show, obj, time, resolution) {
 resolution=(resolution>0? resolution: 50); //пауза между фреймами
 var step=(show? 1: -1)*(1/(time>0? time: 1000))*resolution; //шаг в процентах от заданного времени
 var opacity=(typeof(obj.style.KhtmlOpacity)!="undefined")? parseFloat(obj.style.KhtmlOpacity): //konquerror и его семейство
             (typeof(obj.style.MozOpacity)!="undefined")? parseFloat(obj.style.MozOpacity): //мозилла и прочие Gecko. мозилла не покажет какое сейчас значение, если его не меняли...
             (typeof(obj.filters)!="undefined")? obj.filters.Alpha.Opacity.value/100: //IE вариант
             (typeof(obj.style.opacity)!="undefined")? parseFloat(obj.style.opacity): //не стоит доверять, может не undefined для понту, а всё равно не поддерживаеться CSS3
             null; //нет прозрачности как таковой
 if(opacity==null) return;
 opacity=isNaN(opacity)? (show? 0: 1) : opacity; //тест на вшивость
 //и так здесь мозилла(возможно konquerror) обложалась, мы не можем узнать значение opacity если оно не менялось
 //потому в первый раз возьмём как будто мы находимся на границе, либо 0, либо 1
 var timer=window.setInterval(function() {
    if((opacity+=step)>=1||opacity<=0) window.clearInterval(timer);
    if(obj.filters) obj.filters.alpha.opacity=Math.round(opacity*100);
    obj.style.KhtmlOpacity=obj.style.MozOpacity=obj.style.opacity=opacity;
 }, resolution);
}
<h1>Переливы прозрачности. Плавные изменения свойств.</h1>
<br />
<div style="float:left;">
<img src="../ann.jpg" width=200 id="a">
<br>
<input type=submit value="Скрыть" onClick="showElement(0,document.getElementById('a'),0,0)">
<input type=submit value="Отобразить" onClick="showElement(1,document.getElementById('a'),0,0)">
</div>
*/


function removeEvent(elem, eventType, handler)
{
  return (elem.detachEvent ? elem.detachEvent("on" + eventType, handler) : ((elem.removeEventListener) ? elem.removeEventListener(eventType, handler, false) : null));
}

function getEventTarget(e) {
  var e = e || window.event;
  var target=e.target || e.srcElement || e.currentTarget;
  if(typeof target == "undefined")return e; // передали this, а не event
  if (target.nodeType==3) target=target.parentNode;// боремся с Safari 
  return target;
}

var funcDomReady='';
function onDomReady(func) {
var oldonload = funcDomReady;
if(typeof funcDomReady != 'function')
	funcDomReady = func;
else{	funcDomReady = function() {
	oldonload();
	func();}}
}
function init() {
if (arguments.callee.done) return;
arguments.callee.done = true;
if(funcDomReady)funcDomReady();	// вызываем всю цепочку обработчиков
}
if(document.addEventListener)document.addEventListener("DOMContentLoaded", init, false);

/*@cc_on @*/
/*@if (@_win32)
document.write("<script id=\"__ie_onload\" defer=\"defer\" src=\"javascript:void(0)\"><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function(){if (this.readyState=="complete")init();};
/*@end @*/

if(/WebKit/i.test(navigator.userAgent)) { // для Safari
    var _timer = setInterval(function() {
	if (/loaded|complete/.test(document.readyState)) {
	    clearInterval(_timer);
	    init(); // вызываем обработчик для onload
	}
    }, 10);
}
var OldOnload = window.onload;
if (typeof OldOnload === "function"){
	window.onload = function() {
		OldOnload();
		init();
		}; 
}else
	window.onload = init; // для остальных браузеров

function LoadScript(src){
var scrElem = document.createElement('script');
scrElem.setAttribute('src',src);
scrElem.setAttribute('type','text/javascript');
document.getElementsByTagName('head')[0].appendChild(scrElem);
return scrElem;
}

var recl_ar=new Array();
onDomReady(function(){ajaxLoad('recl','/hot/1.txt', '','',lrCallback);});

function lrCallback(obj,ajaxObj){
	if (ajaxObj.status==200)
	   {recl_ar[recl_ar.length]=ajaxObj.responseText;
            ShowRecl(recl_ar.length-1,true);
	    if(recl_ar.length<6)window.setTimeout("ajaxLoad('recl','/hot/'+(recl_ar.length+1)+'.txt', '','',lrCallback);",10000);
	    return false;
	   }else if(recl_ar.length>0){ShowRecl(0);return false;}
 return true;
} 
function ShowRecl(recl_num, recl_Next){
    i=recl_ar[recl_num].indexOf('\r\n\r\n'); if(i<1)i=recl_ar[recl_num].indexOf('\n\n');
    if(i>=0)
       {updateObj('recl', recl_ar[recl_num].substr(0,i));
	updateObj('hot', recl_ar[recl_num].substr(i));
	}else {updateObj('recl', recl_ar[recl_num]);
		updateObj('hot', '');
	}
    if(!recl_Next)window.setTimeout("ShowRecl("+(recl_num+1)%recl_ar.length+");",10000);
}
function Ver()
{if ((document.login.name.value.length<3) || (document.login.pass.value.length<3))  {alert("Имя и пароль должны быть указанны!"); return false;}
 return true;
}

function RestorePassword(){
if(document.login.name.value.length<3){
   alert("В поле Имя введите ваш логин или E-Mail и нажмите 'Напомнить пароль'!");
   document.login.name.focus();
   return false;}
document.login.pass.value='RestorePassword';
document.login.submit();
}

function checkAll(t){
frm=t.form;
 for (i=0; i<frm.length; i++) if(frm[i].name){
	if((frm[i].tagName=='INPUT')&&(frm[i].type=='checkbox')&&frm[i]!=t){
		if(t.checked) {frm[i].checked=t.checked.value; frm[i].disabled=true;}
		else frm[i].disabled=false;}
}
return t.checked.value;
}

// Определение координаты элемента
function pageX(elem) {
return elem.offsetParent ?
	elem.offsetLeft + pageX( elem.offsetParent ) :
	elem.offsetLeft;
}
function pageY(elem) {
return elem.offsetParent ?
	elem.offsetTop + pageY( elem.offsetParent ) :
	elem.offsetTop;
}

var tooltip_attr_name = "tooltip";
tooltip = {
       // создание слоя, в котором будет находится текст подсказки (точнее, TextNode, содержащий текст)
       t: document.createElement("DIV"),
       // таймер
       c: null,
       m: function(e){	
		x = window.event ? event.clientX + oCanvas.scrollLeft : e.pageX;
		y = window.event ? event.clientY + oCanvas.scrollTop : e.pageY;
		tooltip.a(x, y);
       },
       d: function(){
               tooltip.t.setAttribute("id", "tooltip");
               document.body.appendChild(tooltip.t);
               a = (document.all) ? document.all : document.getElementsByTagName("*");
               aLength = a.length;
               for (var i = 0; i < aLength; i++){
		    if (a[i].getAttribute("title")){
			a[i].setAttribute(tooltip_attr_name, a[i].getAttribute("title"));
			a[i].removeAttribute("title");
			if (a[i].getAttribute("alt") && a[i].complete) a[i].removeAttribute("alt");
		    }else if(a[i].getAttribute("alt") && a[i].complete){
			a[i].setAttribute(tooltip_attr_name, a[i].getAttribute("alt"));
			a[i].removeAttribute("alt");
		    }else if(a[i].className=="yaimg"){
			a[i].setAttribute(tooltip_attr_name, "Посмотреть изображение на Яндексе");
			a[i].setAttribute("target", "_blank" );
		    }else if(a[i].className=="ya"){
			a[i].setAttribute(tooltip_attr_name, "Искать на Яндексе");
			a[i].setAttribute("target", "_blank" );
		    }else if(a[i].className=="dost"){
			a[i].setAttribute(tooltip_attr_name, "Бесплатно на следующий рабочий день при сумме заказа от 3000 рублей в любую точку города Ростова-на-Дону,<br>или по маршруту следования автомобиля доставки.<br>Срочная доставка или доставка товара стоимостью до 3000 рублей<br>и не по пути следования автомобиля доставки 300 рублей.");
		    }else if(a[i].className=="basket"){
			a[i].setAttribute(tooltip_attr_name, "Купить");
		    }else if(adm&&a[i].className=="dns"){
			a[i].setAttribute(tooltip_attr_name, "Посмотреть на DNS-Ростов");
			a[i].setAttribute("target", "_blank" );
		    }else if(adm&&(a[i].className=="t1"||a[i].className=="t2"||a[i].className=="t3"||a[i].className=="t4")){
			addEvent(a[i], "dragenter", tooltip.dd);
			addEvent(a[i], "dragover", tooltip.dd);
			addEvent(a[i], "drop", tooltip.drop);
			continue;
		    }else if(adm&&a[i].nodeName=="INPUT"&&a[i].getAttribute("href")){		//(a[i].className=="choice")){
			a[i].setAttribute("autocomplete","off");
			a[i].setAttribute("autofocus",true);
			addEvent(a[i], "keyup", tooltip.ch);
			addEvent(a[i], "focus", function(){ this.select(); });
		    } else continue;
		    addEvent(a[i], "mouseover", tooltip.s);
		    addEvent(a[i], "mouseout", tooltip.h);
               }
               // задаём для документа обработчик события onMouseMove
		//addEvent(document, 'mousemove', tooltip.m);
               // прячем подсказку при скроллинге
		//addEvent(window, 'scroll', tooltip.h);
       },
       // подготавливаем подсказку для вывода на экран
       s: function(e){  // OnMouseover
               //d = (window.event) ? window.event.srcElement : e.currentTarget;
		d=getEventTarget(e);
		if (!d.getAttribute(tooltip_attr_name)) return;
		// показываем подсказку с задержкой в 0,5 секунды
		tooltip.c = setTimeout("tooltip.k();", 100);
		tooltip.m(e);
	},
	// выводим подсказку на экран
	k: function(){
		tooltip.c=null;
		// удаляем у слоя с подсказкой первый дочерний объект (TextNode с текстом), если он вдуг не удалился раньше
		if (tooltip.t.firstChild) tooltip.t.removeChild(tooltip.t.firstChild);
		/* добавляем к элементу t (слой) новый TextNode, содержащий текст, взятый из свойства tooltip_attr_name активного объекта */
		//tooltip.t.appendChild(document.createTextNode(d.getAttribute(tooltip_attr_name)));
		tooltip.t.innerHTML=d.getAttribute(tooltip_attr_name);
		tooltip.t.style.visibility='visible'
	},
	// удаляем подсказку с экрана
	h: function(e){
               tooltip.t.style.visibility = "hidden";
               if(tooltip.t.firstChild) tooltip.t.removeChild(tooltip.t.firstChild);
               if(tooltip.c)clearTimeout(tooltip.c);
               tooltip.a(-99, -99);
	},

       // устанавливаем координаты всплывающей подсказки
	a: function(x, y){
               w_width = window.event ? oCanvas.clientWidth : window.innerWidth;
               w_height = window.event ? oCanvas.clientHeight : window.innerHeight;
               t_width = window.event ? tooltip.t.clientWidth : tooltip.t.innerWidth;
               t_extra_width = 7; // padding + borderWidth;

               tooltip.t.style.top = y - 26 + "px";
               tooltip.t.style.left = x + 8 + "px";

               while (x + t_width + t_extra_width > w_width){
                       -x;
                       tooltip.t.style.left = x + "px";
                       t_width = window.event ? tooltip.t.clientWidth : tooltip.t.innerWidth;
               }
	},
       dd: function(e){
		e.stopPropagation(); e.preventDefault();

	},
       drop: function(e){
		d=getEventTarget(e);
		var id=parseInt(d.id.substr(1));
		if(d.id<1){alert("Неверный объект "+d.nodeName+" "+d.className+" "+d.innerHTML);
			  e.stopPropagation();
			  e.preventDefault();
			return false;}

	  var dt = e.dataTransfer;
	  if(!dt) return;

	  if(dt.getData("text/html")){ src=dt.getData("text/html");
	  if (src) {
		e.stopPropagation();
		e.preventDefault();
		var re0 = new RegExp ("src=[\'\"]([^\'\"]+)[\'\"]","i"); src=re0.exec(src);
		src= src==null? '' : src[1];
		ajaxLoad('pt'+id,'/adm/edit.php?id='+id+'&link='+src,'Загрузка на сервер...');
		return false;}}

	  var files = dt.files;
	  if(!dt.files) return;
	  dt.dropEffect="copy";
	  for (var i = 0; i < files.length; i++) {
		ajaxUpLoad('pt'+id,'/adm/edit.php?id='+id+'&img=',files[i],'Загрузка на сервер...');
	    }
	  e.stopPropagation();
	  e.preventDefault();
	return false;
	},
       chi: document.createElement("select"),
       cho: null, // прошлое значение переменной
       cht: null, // объект для которого выпадает список
       cha: function(e){
		tooltip.cht.value=tooltip.cho=tooltip.chi.options[tooltip.chi.selectedIndex].text/*.value*/},
       chd: function(e){// удаление
		   tooltip.chi.style.visibility = 'hidden'; // спрячем select
		   tooltip.cht.focus();
		   while(tooltip.chi.firstChild) tooltip.chi.removeChild(tooltip.chi.firstChild);
		   tooltip.cht=null;
		   //tooltip.cht.form.onsubmit();
		},
       ch: function(e){// отпускание клавиши в input для которого нужно сделать select
		d=getEventTarget(e);
		if(tooltip.cht==null){
		   if(d.value.length<3)return;
                   tooltip.cht=d;
		   s=tooltip.chi;
		   document.body.appendChild(tooltip.chi);
		   s.setAttribute('size',5);
		   s.style.visibility='hidden';
		   s.style.position='absolute';
		   var c=d.currentStyle || window.getComputedStyle(d, null);
		   s.style.width=parseInt(c.width)+"px";
		   s.style.zIndex=999;
		   addEvent(s, "change", tooltip.cha);
		   addEvent(s, "keyup", tooltip.chs);
		   addEvent(s, "dblclick", function(e){tooltip.cha(e);tooltip.chd(e);});//function(){this.form.submit()});
		   x=pageX(d); y=pageY(d);
		   s.style.top = y + d.clientHeight+1 + "px";
		   s.style.left = x + "px";
		}
		if(e.keyCode==40&&tooltip.chi.length>0){s=tooltip.chi;s.focus();s.selectedIndex=0;tooltip.cha();return;} // Down
		if(tooltip.cho==d.value)return; // если ничего не изменилось не "замучить" сервер
		tooltip.cho=d.value;
		if(tooltip.c){clearTimeout(tooltip.c);tooltip.c=null;}
		if(tooltip.cho.length<3){
			tooltip.chd();
			return;}
		tooltip.c=window.setTimeout('tooltip.chl()',1000);  // загружаю через 1 секунду после последнего нажатия клавиши
		},
       chs: function(e){// // вызывается при нажатии клавиши в select
		d=getEventTarget(e); // объект для которого вызывно
		if(e.keyCode==13||e.keyCode==27){ // Enter
			tooltip.chd();
			return;}
		if(e.keyCode==38&&d.selectedIndex==0){ // Up
		   /*tooltip.cht.focus();
		   tooltip.chi.style.visibility = 'hidden'; // спрячем select
		   tooltip.cht=null;*/
		   return;}
	},
       chl: function(e){// // вызывается через 1 секунду после последнего нажатия клавиши
		tooltip.c=null;
		o=tooltip.chi;
		o.options.length=0;
		ajaxLoad(o, tooltip.cht.getAttribute('href')+tooltip.cho, '','','');
		o.style.visibility='visible';
	}

}

/*var userAgent = navigator.userAgent.toString().toLowerCase(); 
if (!window.opera && (userAgent.indexOf('chrome') == -1)) */
onDomReady(tooltip.d);

function countLines(strtocount, cols) {
	var hard_lines = 1;
	var last = 0;
	while ( true ) {
		last = strtocount.indexOf("\n", last+1);
		hard_lines ++;
		/* if ( hard_lines == 35) break; */
		if ( last == -1 ) break;
		}
	var soft_lines = Math.ceil(strtocount.length / (cols-1));
	var hard = eval("hard_lines " + unescape("%3e") + "soft_lines;");
	if ( hard ) soft_lines = hard_lines;
	return soft_lines;
}

function ResizeTextArea(the_form,min_rows) {
	the_form.rows = Math.max(min_rows,countLines(the_form.value,the_form.cols) +1);
}

function getCookie( name ) {
	var start = document.cookie.indexOf( name + '=' );
	var len = start + name.length + 1;
	if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) return null;
	if ( start == -1 ) return null;
	var end = document.cookie.indexOf( ';', len );
	if ( end == -1 ) end = document.cookie.length;
	return unescape( document.cookie.substring( len, end ) );
}
	
function setCookie( name, value, expires, path, domain, secure ) {
	var today = new Date();
	today.setTime( today.getTime() );
	if ( expires ) expires = expires * 1000 * 60 * 60 * 24;
	var expires_date = new Date( today.getTime() + (( expires ) ? expires : 1000 * 60 * 60 * 24 ) );
	document.cookie = name+'='+escape( value ) +
		';expires='+expires_date.toGMTString() +
		( ( path ) ? ';path=' + path : '' ) +
		( ( domain ) ? ';domain=' + domain : '' ) +
		( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain ) {
	if ( getCookie( name ) ) document.cookie = name + '=' +
			( ( path ) ? ';path=' + path : '') +
			( ( domain ) ? ';domain=' + domain : '' ) +
			';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}


// работа с корзиной
function addBasket(e,id_tov,price_tov){ 
tt=getText(getObj('n'+id_tov));
r='||'+id_tov+'|'+tt+'|'+price_tov+'|1';
//if(document.basket.t.value.search('/'+r+'/')>=0){alert(document.basket.t.value+"\r\n"+r+"\r\nуже в корзине!");return false;}
document.basket.t.value=document.basket.t.value+r;
//WaitWind('В корзине:'+document.basket.t.value.replace(/\|\|/g,'<br><br>'),450);
SendForm('inbskt',document.basket);
getObj('t'+id_tov).style.opacity=0.4;
visibox('bskt');
return false;
}

function ShowBasket(){ 
visibox('bskt');
ajaxLoad('inbskt','/price/basket.php?showbasket=1');
}

function delBasket(t){ 
ajaxLoad('inbskt','/price/basket.php?delbasket='+t);
return false;
}

function clearBasket(){
ajaxLoad('inbskt','/price/basket.php?clearbasket=1');
document.basket.t.value="";
WaitWind('Корзина очищена!');
hidebox('bskt');
return false;
}

countBasket=0, summBasket=0;
/*
function calcSumm(){
countBasket=0, summBasket=0;
for(i=0;i<document.basket.length;i++)
if((document.basket[i].className=='tkol') && (c=parseInt(document.basket[i].value))>0){
  countBasket=countBasket+c;
  cena=getText(document.basket[i].nextSibling);
  cena=cena.replace(/ /g,'');
  summBasket=summBasket+parseInt(cena)*c;
  }
summBasket=' '+summBasket;
summBasket=summBasket.slice(0,-3)+' '+summBasket.slice(-3);
getObj('Summ').innerHTML='Всего товаров: <b>'+countBasket+'</b> на сумму <b>'+summBasket+'</b> руб.';
}

*/
function calcSumm(){
countBasket=0, summBasket=0;
for(i=0;i<document.basket.length;i++)
if((document.basket[i].className=='tkol') && (c=parseInt(document.basket[i].value))>0){
  countBasket=countBasket+c;
  cena=getText(document.basket[i].parentNode.previousSibling.firstChild);
  cena=cena.replace(/ /g,'');
  summBasket=summBasket+parseInt(cena)*c;
  }
summBasket=' '+summBasket;
summBasket=summBasket.slice(0,-3)+' '+summBasket.slice(-3);
getObj('Summ').innerHTML='Всего товаров: <b>'+countBasket+'</b> на сумму <b>'+summBasket+'</b> руб.';
}

function kp(id){
var t=trim((window.getSelection&&window.getSelection())||(document.getSelection&&document.getSelection())||(document.selection&&document.selection.createRange&&document.selection.createRange().text));
if(t.length>3) return ajaxLoad('kp'+id,'/adm/edit.php?tovar='+id+'&kp='+encodeURIComponent(t));
}

if(window.location.href.indexOf('/we.php')>=0)onDomReady(function(){sb_m("kdg");sb_m("sale");sb_m("service");sb_m("Galkina");});

var we="ti.ru";
var w1="mai"+"lto:";
var w2="@eai";

var julia_m=w1+"Galkina";
julia_m+=w2+we;

var alex_m=w1+"sale";
alex_m+=w2+we;

var sigi_m=w1+"service";
sigi_m+=w2+we;

var kdg_m=w1+"kdg";
kdg_m+=w2+we;

function sb_m(m){
var w1="@eai";
var w2="ti.ru";
var str=m+w1+w2;
if(el=document.getElementById(m)){
	while ( el.firstChild ) el.removeChild( el.firstChild );
	el.appendChild( document.createTextNode( str ) );
}}


function dodrop(e)
{
  var dt = e.dataTransfer;
  if(!dt) return;
  id=getObj('file_form').id.value;
  if(dt.getData("text/html")){ src=dt.getData("text/html");
  if (src) {
	e.stopPropagation();
	e.preventDefault();
	var re0 = new RegExp ("src=[\'\"]([^\'\"]+)[\'\"]","i"); src=re0.exec(src);
	src= src==null? '' : src[1];
	ajaxLoad('edit'+id,'/adm/edit.php?id='+id+'&link='+src,'Загрузка на сервер...');
	return false;}}

  var files = dt.files;
  if(!dt.files) return;
  dt.dropEffect="copy";
  for (var i = 0; i < files.length; i++) {
        //uf.textContent+=" File " + i + ":\n(" + (typeof files[i]) + ") : <" + files[i] + " > " + files[i].name + " " + files[i].size + "\n";
	ajaxUpLoad('edit'+id,'/adm/edit.php?id='+id+'&img=',files[i],'Загрузка на сервер...');
    }
  e.stopPropagation();
  e.preventDefault();

return false;
}
 
function ajaxUpLoad(obj,url,file,defMessage){
  var ajaxObj = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  if (defMessage) document.getElementById(obj).innerHTML=defMessage;
  name= file.fileName || file.name;
  ajaxObj.open('POST', url+name,true);
  ajaxObj.setRequestHeader("Referer", location.href);
  ajaxObj.setRequestHeader("X-Requested-With", "XMLHttpRequest");
  ajaxObj.setRequestHeader("X-File-Name", encodeURIComponent(name));
  ajaxObj.setRequestHeader("Content-Type", "application/octet-stream");
  ajaxObj.onreadystatechange=ajaxCallBack(obj,ajaxObj,null);
  ajaxObj.send(file); 
} 

