var origXoffset  = -60; // для измения позиции всплывающего окна
var origYoffset  = 20;  // изменить эти значения
var origMaxWidth = 500;

var Xoffset = origXoffset;
var Yoffset = origYoffset;
var old, iex, ns6, ie7;

// если используется описание, то используется другой div
var div_msg;
var div_msg_ref;
var div_msg_name;
var div_tooltip;
var div_tooltip_ref;
var div_tooltip_name;
var lyr;
var lyr_ref;
var lyr_name;


// смотрим что за броузер
if (document.getElementById && !document.all) {
	// mozilla, Opera
	ns6 = true;
} else if (document.all && window.XMLHttpRequest) {
	// ie7
	ns6 = true;
	ie7 = true;
} else if (document.all) {
	// ie6
	iex = true;
} else {
	old = true;
}


// устанавливаем обработчик событий
if ( !old ) {

	// получили наш div для tooltip, и дополнительно данные для ie6
	div_tooltip_name = 'tooltip';
	div_tooltip = get_div(div_tooltip_name);
	if ( iex ) div_tooltip_ref = document.getElementById(div_tooltip_name);

    if (ns6) {
		if (!ie7) document.addEventListener('mousemove', get_mouse, false);
	} else {
		document.onmousemove = get_mouse;
	}
}


function get_div (id) {

	if ( ns6 || ie7 ) {
		// mozilla, Opera, ie7
		div_id = document.getElementById(id).style;
	} else if ( iex ) {
		// ie6
		div_id_tmp = document.getElementById(id);
		div_id = div_id_tmp.style;
	} else {
		div_id = null;
	}

	return div_id;

} // function get_div


// показываем сплываюшую подсказку
function showTooltip (who, what, msg, is_msg) {

	Xoffset = origXoffset;
	Yoffset = origYoffset;
	var content;
	var x, y;

	if ( old || msg == "" ) return;
	else {

		if ( is_msg ) {
			lyr = div_msg;
			lyr_ref = div_msg_ref;
			lyr_name = div_msg_name;
		} else {
			lyr = div_tooltip;
			lyr_ref = div_tooltip_ref;
			lyr_name = div_tooltip_name;
		}

		if (iex) {

			//Reset the width
			lyr.width=0;
			//Set the content inside the layer
			document.all(lyr_name).innerHTML= '<table class="'+lyr_name+'" cellpadding=0 cellspacing=0 border=0><tr valign=top><td>' + msg + '</td></tr></table>';
			document.all(lyr_name).innerWidth = origMaxWidth;
			//if (document.all("tooltip").clientWidth > origMaxWidth) {
			//	lyr.width=origMaxWidth;
			//}

			//Set Position prior to showing
			if ( is_msg ) setPosCenter();
			else {
				if ( document.body.scrollTop != 0 ) setPos(event.x+document.body.scrollLeft, event.y+document.body.scrollTop);
				else setPos(event.x+document.body.scrollLeft, event.y+document.documentElement.scrollTop);
			}
			lyr.visibility = "visible";

			// fucking iex, print iframe
			var styleW = lyr_ref.offsetWidth-6;
			var styleH = lyr_ref.offsetHeight+6;

			var frameSrc = '<html><head><link href="/_css/main.css" rel="stylesheet" type="text/css"></head><body style="margin:0px; padding: 0px;"><table class="'+lyr_name+'" cellpadding=4 cellspacing=4 border=0 width="'+styleW+'px" height="'+styleH+'px"><tr valign=top><td>' + msg + '</td></tr></table></body></html>';
			document.all(lyr_name).innerHTML= '<iframe id="divShim_' + lyr_name + '" src="javascript:false;" scrolling="no" frameborder="0" width="'+styleW+'px" height="'+styleH+'px"></iframe>';

			var iframeWin;
			iframeWin = window.frames["divShim_"+lyr_name];
			//iframeWin.style.width = styleW;
			//iframeWin.style.height = styleH;
			iframeWin.document.open();
			iframeWin.document.write('');
			iframeWin.document.write(frameSrc);
			iframeWin.document.close();

		} else if (ns6) {

			lyr.width = "";
			var div = document.getElementById(lyr_name);
			//div.innerHTML = msg;
			div.innerHTML = '<table class="'+lyr_name+'" cellpadding=0 cellspacing=0 border=0><tr valign=top><td>' + msg + '</td></tr></table>';

			if (div.offsetWidth > origMaxWidth) {
				lyr.width = origMaxWidth+'px';
			}

			lyr.left = -450 + 'px';
			lyr.visibility = "visible";
		}

		if (is_msg) setPosCenter();
		else get_mouse(what);
	}

} // function showTooltip


function get_mouse (e) {

	lyr = div_tooltip;
	lyr_ref = div_tooltip_ref;
	lyr_name = div_tooltip_name;

	var x ,y;
	if (iex || ie7) {

		x = event.x+document.body.scrollLeft;
		if (document.body.scrollTop != 0) y = event.y+document.body.scrollTop;
		else y = event.y+document.documentElement.scrollTop;
		if (lyr.visibility == "visible") {
			setPos(x, y);
		}

	} else if (ns6) {

		x = e.pageX;
		y = e.pageY;

		if (lyr.visibility == "visible") {
			setPos(x, y);
		}

	}

} // function get_mouse


function setPos (x, y) {

	lyr = div_tooltip;
	lyr_ref = div_tooltip_ref;
	lyr_name = div_tooltip_name;

	var layTop = y + Yoffset;
	var layLeft = x + Xoffset;
	var layWidth;
	var layHeight;
	var winHeight;
	var winWidth;

	if (iex || ie7) {

		winWidth = document.body.offsetWidth;
		winHeight = document.body.scrollTop+document.body.offsetHeight;
		layWidth = document.all(lyr_name).clientWidth;
		layHeight = document.all(lyr_name).clientHeight;

	} else if (ns6) {

		winWidth = window.innerWidth;
		winHeight = window.pageYOffset+window.innerHeight;

		var div = document.getElementById(lyr_name);
		layWidth = div.offsetWidth;
		layHeight = div.offsetHeight;

	}

	if (winWidth - layLeft < layWidth) {
		Xoffset = Xoffset + ((winWidth - layLeft) - (layWidth+40));
	} else if (layLeft < 0) {
		Xoffset = origXoffset;
	}
	if (winHeight - layTop < layHeight) {
		Yoffset = Yoffset + (-1)*(layHeight+30);
	} else if (layTop < 0) {
		Yoffset = origYoffset;
	}

	lyr.left = x + Xoffset + 'px';
	lyr.top = y + Yoffset + 'px';

} // function setPos


// показать окошко с сообщением посреди экрана
function setPosCenter () {

	// ширина
	if (document.compatMode && document.compatMode != "BackCompat")
		theWidth = document.documentElement.clientWidth;
	else
		// всегда работает
		theWidth = document.body.clientWidth;

	/*
	// высота
	if (document.compatMode && document.compatMode != "BackCompat")
		theHeight = document.documentElement.clientHeight;
	else
		// всегда работает
		theHeight = document.body.clientHeight;
	*/

	//alert(document.documentElement.scrollTop);
	//alert(document.body.scrollTop);

	// смещение
	if (document.documentElement && document.documentElement.scrollTop)
		theTop = document.documentElement.scrollTop;
	else if (document.body && document.body.scrollTop)
		theTop = document.body.scrollTop
	else if (window.pageYOffset)
		theTop = window.pageYOffset;
	else
		theTop = window.screenTop;

	if ( !theTop ) theTop = 0;

	lyr.top = theTop + theWidth/5 + 'px';
	lyr.left = theWidth/2 + 'px';

} // function setPosCenter


// прячем всплываюшую подсказку
function hideTooltip (is_msg) {

	if ( !old ) {

		if ( is_msg ) {
			lyr = div_msg;
			lyr_ref = div_msg_ref;
			lyr_name = div_msg_name;
		} else {
			lyr = div_tooltip;
			lyr_ref = div_tooltip_ref;
			lyr_name = div_tooltip_name;
		}

		// restore original position.
		lyr.visibility = "hidden";
		Xoffset = origXoffset;
		Yoffset = origYoffset;
	}

} // function hideTooltip


// показываем окошко с предупреждением посередине экрана
function showMsg (id, msg) {

	// получили наш div для tooltip, и дополнительно данные для ie6
	div_msg = get_div(id);
	if ( iex ) div_msg_ref = document.getElementById(id);
	div_msg_name = id;

	if ( div_msg == null ) {}
	else {

		if ( iex )
			msg = '<br>' + msg + '<br><br><a href="#" onclick="window.parent.location=\'/basket\';"><small><font color="#823400">Перейти в корзину</small></a>&nbsp &nbsp &nbsp &nbsp<a href="#" onclick="window.parent.system_busy.style.visibility=\'hidden\';"><small><font color="#823400">Продолжить покупки</small></a>';
		else
			msg = msg + '<br><br><a href="/basket"><small><font color="#823400">Перейти в корзину</small></a>&nbsp &nbsp &nbsp &nbsp<a href="#" onclick="hideMsg(\'system_busy\');"><small><font color="#823400"> Продолжить покупки</small></a>';

		showTooltip(null, null, msg, true);

	    return true;
	}

    return false;

} // function showMsg


// прячем окошко с предупреждением
function hideMsg (id) {

	// получили наш div для tooltip, и дополнительно данные для ie6
	div_msg = get_div(id);
	if ( iex ) div_msg_ref = document.getElementById(id);
	div_msg_name = id;

	if ( div_msg == null ) {}
	else {

		hideTooltip(true);

		return true;
	}

	return false;

} // function hideMsg

