function get_Tooltip_HTML (id,content_id,content,tooltip_class) {
	
	var tooltipHTML='<!-- hidden toolpip prototype -->\
		<table class="tmptooltip '+tooltip_class+'" cellpadding="0" cellspacing="0" id="'+id+'" style="display:none" >\
		<tr>\
		<td class="ftl"><img src="/images/0.gif" width="10"/></td>\
		<td class="ftc">&nbsp;</td>\
		<td class="ftr"><img src="/images/0.gif" width="10"/></td>\
		</tr>\
		<tr>\
		<td class="fml">&nbsp;</td>\
		<td class="fmc"><div class="content" id="'+content_id+'">'+content+'</div></td>\
		<td class="fmr">&nbsp;</td>\
		</tr>\
		<tr>\
		<td class="fbl">&nbsp;</td>\
		<td class="fbc">&nbsp;</td>\
		<td class="fbr">&nbsp;</td>\
		</tr>\
		</table>\
		<!-- /hidden toolpip prototype -->';

	return tooltipHTML;
}


/*
параметры
e - евент мыши
cont - объект с которого кликаем
view - отображение (
	0 - всплывающее возле мыши окошко через интервал времени и скрывающееся при выходе из поля
	1 - всплывающее возле мыши окошко на клик с крестиком
	2 - всплывающее по среди экрана окошко на клик с крестиком (по горизонтали у мыши)
	3 - всплывающее по среди экрана окошко на клик с крестиком (по горизонтали в центре)
)
bg - использовать белый фон (1\0)
 
*/

/* показываем инфо иконку */
function show_info(obj) {	
	var msg=$(obj).parents('.channel-thumb:first').find('.tooltip:first');

	if(!check_msg(msg)) return;
	
	var info_ico=$(obj).find('img.info-ico');
	$(info_ico).css('display','block');
	
	$(obj).mousemove(function() {
		$(info_ico).css('display','block');
	});
	$(obj).mouseout(function() {
		$(info_ico).css('display','none');
	});
}

function check_msg(obj) {		
	if(jQuery.trim($(obj).text())) {		
		return $(obj).html();
	}
	return false;
}
	
function createToolTip (e, cont, view, bg) {
	var mytimer= null;
	var cont=cont;	
	var Mleft=4;
	var Mtop=6;
	
	function get_msg () {		
		var content='нет контента';
		// Тултип для превью
		if($(cont).parents('.channel-thumb:first').html()) {
			content=$(cont).parents('.channel-thumb:first').find('.tooltip:first'); 
		}
		// Тултип для жалоб
		else if($(cont).parents('SMALL').html()) {			
			content=$(cont).parent().parent().find('.tooltip:first'); 
		}
		// Все остальные простые тултипы
		else {
			content=$(cont).parent().find('.tooltip:first'); 			
		}		
		return check_msg(content);
	}	
	
	
	var TT=get_Tooltip_HTML ('tooltip','tt-content','','');
	
	$("body").append(TT);
	
	var tooltipObj = document.getElementById('tooltip');
	var tooltipContentObj = document.getElementById('tt-content');	
	
	
	var myMouseX = null;
	var myMouseY = null;
	var myCoord=new Array();
	var msg=get_msg();
	
	
	// решаем, стоит ли начинать следить
	function toolTipAction () { 
		clearInterval(cont.mytimer);
		tooltipObj.style.display = 'none';		
		tooltipContentObj.style.width="auto";

		if (msg) {			
			cont.onmousemove = ToolTipFollow;
			cont.onmousedown = function() {
				cont.onmousemove = null;
				closeToolTip();	
			}
		} 
		else {
			tooltipContentObj.innerHTML = '';
		}		
	}
	
	// следим за мышью
	function ToolTipFollow(evt) {	
		clearInterval(cont.mytimer);
		
		document.onmouseout=function () {
			clearInterval(cont.mytimer);
		}	
		cont.onmouseout=function () {
			clearInterval(cont.mytimer);
		}
		document.onmousedown=function () {
			clearInterval(cont.mytimer);
		}				
		interval=0;			
		period=1000;
		
		if(cont.nodeName=='IMG') {
			period=400;
		}		
		
		mouseTop=mouseY(evt);
		mouseLeft=mouseX(evt);

		if(tooltipObj.style.display == 'none' && msg) {
			cont.mytimer=setInterval (function(){	
				interval++;		
				document.onmousemove=ToolTipInvise;			
				if(interval==1) {					
					showToolTip(mouseTop,mouseLeft);										
					clearInterval(cont.mytimer);	
					interval=0;
				}
				else {
					tooltipObj.style.display = 'none';	
					tooltipContentObj.innerHTML = '';				
				}				
			}, period);		
			tooltipContentObj.innerHTML = '';						
		}
	}	
	
	
	// показываем тултип
	function showToolTip (mouseTop,mouseLeft) { 
		tooltipContentObj.innerHTML = msg;
		
		if(bg) show_white_bg();		
		
		$(tooltipObj).css({
			'opacity':0,
			'display':'block'
		});
		$(tooltipObj).animate({opacity: 1}, 700 );
		
				// устанавливаем тултип в нужное место
		if(view==1) { // если клик тултип
			set_position_left(mouseLeft);
			set_position_top(mouseTop);	
		}
		else if(view==2) { // если клик оконный тултип по горизонтали у мыши
			set_position_top_window(mouseTop);
			set_position_left(mouseLeft);	
		}
		else if(view==3) { // если клик оконный тултип по горизонтали в центре
			set_position_top_window(mouseTop);
			set_position_left_window(mouseLeft);	
		}
		else { // если тултип на наведенеи				
			set_position_left(mouseLeft);
			set_position_top(mouseTop);	
		}
				
		/*
		if(document.getElementById('close_tooltip')!=null&&/MSIE (5\.5|6).+Win/.test(navigator.userAgent))  document.getElementById('close_tooltip').onmouseup=close_tooltip2('tooltip',0);
		else if (document.getElementById('close_tooltip')!=null) 											 document.getElementById('close_tooltip').onclick=close_tooltip2('tooltip',0);
		*/	
		
		return clearInterval(cont.mytimer);
	}
	
	
	function get_sizes () {	
		docHeight=getInnerHeight();
		docWidth=getInnerWidth();
		elementWidth=tooltipObj.offsetWidth;
		elementHeight=tooltipObj.offsetHeight;
		scrollTop=getScrollY();
		scrollLeft=getScrollLeft();		
	}
	
	function set_position_left(mouseLeft) {			
		if(tooltipContentObj.offsetWidth>595) 	tooltipContentObj.style.width=595+"px";
		else if(tooltipContentObj.offsetWidth>0)tooltipContentObj.style.width=tooltipContentObj.offsetWidth+"px";
		get_sizes ();

		if(elementWidth<docWidth) { 						// если элемент влазит по ширине			
			elemL=mouseLeft+Mleft;								// устанавливаем левый край по мыши	
										
			if(elemL+elementWidth>docWidth+scrollLeft) { 		// если правый край выходит за ширину экрана	
				elemL=docWidth+scrollLeft-elementWidth; 		// устанавливаем правый край по правому краю экрана
			}
		}
		else { 												// если элемент не влазит по ширине
			elemL=scrollLeft+5; 							// слева с отступом
			
		}
		tooltipObj.style.left = elemL + 'px';	
	}
		
	function set_position_top(mouseTop) {		
		get_sizes ();				
		if(elementHeight<=docHeight) { 						// если элемент влазит по высоте
			elemT=mouseTop+Mtop;								// устанавливаем верх по мыши	
										
			if(elemT+elementHeight>docHeight+scrollTop) { 		// если низ элемента дальше края экрана				
				elemT=docHeight+scrollTop-elementHeight; 		// устанавливаем низ по низу экрана
			}
		}
		else { 												// если элемент не влазит по высоте
			elemT=scrollTop+5; 								// сверху с отступом
		}
		tooltipObj.style.top = elemT + 'px';	
	}
	
	function set_position_top_window(mouseTop) {	
		get_sizes ();		
		if(elementHeight<=docHeight) { 						// если элемент влазит по высоте
			elemT=((docHeight-elementHeight)/2+scrollTop); 	// стараемся разместить посреди экрана	
			
			if(elemT>=mouseTop) { 								// если получившийся отступ дальше чем мышка
				elemT=mouseTop; 								// устанавливаем верх по мыши
			}	
			if(elemT+elementHeight<mouseTop) { 					// если низ элемента не дотягивается до мыши
				elemT=mouseTop-elementHeight+5; 				// устанавливаем низ по мыши
			}
		}
		else { 												// если элемент не влазит по высоте
			elemT=scrollTop+5; 								// сверху с отступом
		}

		tooltipObj.style.top = elemT + 'px';		
	}
	
	function set_position_left_window(mouseLeft) {	
		if(tooltipContentObj.offsetWidth>595) 	tooltipContentObj.style.width=595+"px";
		else if(tooltipContentObj.offsetWidth>0)tooltipContentObj.style.width=tooltipContentObj.offsetWidth+"px";
		get_sizes ();
		
		if(elementWidth<docWidth) { 						// если элемент влазит по ширине			
			elemL=scrollLeft+((docWidth-elementWidth)/2);	// устанавливаем левый край по центру страницы
										
			if(elemL+elementWidth>docWidth+scrollLeft) { 		// если правый край выходит за ширину экрана	
				elemL=docWidth+scrollLeft-elementWidth; 		// устанавливаем правый край по правому краю экрана
			}
		}
		else { 												// если элемент не влазит по ширине
			elemL=scrollLeft+5; 							// слева с отступом
			
		}
		tooltipObj.style.left = elemL + 'px';	
	}
	
	function ToolTipInvise(evt) {
		mX=mouseX(evt);
		mY=mouseY(evt);		

			docLeft=getOffsetLeft(cont.parentNode);
			docTop=getOffsetTop(cont.parentNode);

		if(
			mX<(parseInt(tooltipObj.style.left)-Mleft)
			||
			mX>(parseInt(tooltipObj.style.left)+parseInt(tooltipObj.offsetWidth)-3)
			||
			mY<(parseInt(tooltipObj.style.top)-Mtop)
			||
			mY>(parseInt(tooltipObj.style.top)+parseInt(tooltipObj.offsetHeight)-4)
		)
		{			
				if(
					cont.nodeName=='IMG'&&mX<docLeft||	
					cont.nodeName=='IMG'&&mX>(docLeft+120)||					
					cont.nodeName=='IMG'&&mY<docTop||
					cont.nodeName=='IMG'&&mY>(docTop+90)
				) {
					
					cont.style.display='none';	
				}		
				
			tooltipObj.style.display = 'none';
			tooltipContentObj.innerHTML = '';	
			tooltipContentObj.style.width="auto";
			document.onmousemove=null;		
			
			return clearInterval(cont.mytimer);
		}		
		
				
		if(cont.nodeName=='IMG') {
			cont.style.display='block';				
		}		
	}
	
	function getOffsetTop(obj) {
		var top=0;
		while(obj.nodeName!='BODY') {			
			style=getStyle(obj,'position');
			if(style=='relative'||style=='absolute') {				
				top+=obj.offsetTop;				
			}	
			obj=obj.parentNode;
		}
		return top;		
	}
	function getOffsetLeft(obj) {
		var left=0;
		while(obj.nodeName!='BODY') {	
			style=getStyle(obj,'position');
			if(style=='relative'||style=='absolute') {	
				left+=obj.offsetLeft;	
			}	
			obj=obj.parentNode;
			
		}
		return left;		
	}
	function getStyle(obj,attr) {
		styleObj = window.getComputedStyle(obj, "");
		style=styleObj.getPropertyValue(attr);	
		return style;
	}


	
	function closeToolTip() {		
		tooltipObj.style.display = 'none';
		tooltipContentObj.innerHTML = '';
		tooltipContentObj.style.width="auto";
		document.onmousemove=null;
		
		$(".tmptooltip").remove();
		
		close_white_bg();
	}
	
	mouseTop=mouseY(e);
	mouseLeft=mouseX(e);
	
	if(view==0) {
		toolTipAction();
	}
	else if(view==1) {
		msg+='<a href="javascript:void(0)" id="close_tooltip" class="close_tooltip" onclick="close_tooltip2(\'tooltip\',1)">&nbsp;</a>';	
		showToolTip(mouseTop,mouseLeft);
	}
	else if(view==2) {
		msg+='<a href="javascript:void(0)" id="close_tooltip" class="close_tooltip" onclick="close_tooltip2(\'tooltip\',1)">&nbsp;</a>';	
		showToolTip(mouseTop,mouseLeft);
	}
	else if(view==3) {
		msg+='<a href="javascript:void(0)" id="close_tooltip" class="close_tooltip" onclick="close_tooltip2(\'tooltip\',1)">&nbsp;</a>';	
		showToolTip(mouseTop,mouseLeft);
	}
	else {
		alert('Следи за параметрами function createToolTip (e, cont, view, bg):\ne - евент мыши\ncont - объект с которого кликаем\nview - отображение (\n	0 - всплывающее возле мыши окошко через интервал времени и скрывающееся при выходе из поля\n	1 - всплывающее возле мыши окошко на клик с крестиком\n	2 - всплывающее по среди экрана окошко на клик с крестиком (по горизонтали у мыши)\n	3 - всплывающее по среди экрана окошко на клик с крестиком (по горизонтали в центре)\n)\nbg - использовать белый фон (1 или 0)\n');
		
	}

}

function ToolTip_close() {	
		var tooltipObj = document.getElementById('tooltip');
		var tooltipContentObj = document.getElementById('tt-content');
		
		tooltipObj.style.display = 'none';
		tooltipContentObj.innerHTML = '';
		tooltipContentObj.style.width="auto";
		document.onmousemove=null;
		
		$(".tmptooltip").remove();
		close_white_bg();
	}

function mouseX(evt) {
	if (!evt) evt = window.event;
	if (evt&&evt.pageX)
		return evt.pageX;
	else if (evt&&evt.clientX)
		return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft);
	else
	return 0;
}

function mouseY(evt) {
	if (!evt) evt = window.event;		
	if (evt&&evt.pageY) {
		return evt.pageY;
	}	
	
	else if (evt&&evt.clientY)
		return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
	else return 0;
}	
	

function getScrollY() {
    scrollY = 0;   
    if (typeof window.pageYOffset == "number") {
        scrollY = window.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {
        scrollY = document.documentElement.scrollTop;
    } else if (document.body && document.body.scrollTop) {
        scrollY = document.body.scrollTop;
    } else if (window.scrollY) {
        scrollY = window.scrollY;
    }
    return scrollY;
}

function getScrollLeft() {
    scrollX = 0;   
    if (typeof window.pageXOffset == "number") {
        scrollX = window.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollLeft) {
        scrollX = document.documentElement.scrollLeft;
    } else if (document.body && document.body.scrollLeft) {
        scrollX = document.body.scrollLeft;
    } else if (window.scrollX) {
        scrollX = window.scrollX;
    }
    return scrollX;
    
}

function getInnerHeight() {
    height = 0;
    if (window.innerHeight) {
        height = window.innerHeight-16;
    } else if (document.documentElement && document.documentElement.clientHeight) {
        height = document.documentElement.clientHeight;
    } else if (document.body && document.body.clientHeight) {
        height = document.body.clientHeight;
    }
    return height;
}

function getInnerWidth() {
    width = 0;
	if (document.documentElement && document.documentElement.clientWidth) {
        width = document.documentElement.clientWidth;
    } else if (document.body && document.body.clientWidth) {
        width = document.body.clientWidth;
    }
    return width;
}

function show_white_bg() {
	$("#login-tooltip").before('<div id="white_bg"></div>');
	$("#white_bg").css({
		'height':document.body.offsetHeight+'px',
		'display':'block'
	});
	$("#white_bg").animate({opacity: 0.7}, 500 );
	
	$("#white_bg").bind("click",function() {
		$(".tmptooltip").remove();	
		 close_white_bg();	
	});
	
}

function close_white_bg() {	
	$("#white_bg").css('display','none');
	$("#white_bg").css('opacity',0);
	$("#white_bg").remove();
	
	$(".tmptooltip").remove();
	$("#login-tooltip").css({
		'opacity':0, 
		'display':'none'	
	});	
}

/* ###########################################################   */

function show_user_tooltip(content,with_bg,tooltip_id,tooltip_content_id,tooltip_class,left,top) {	
	$("#"+tooltip_id).remove();	  
	
	if(with_bg==1) {		
		$("#login-tooltip").css({
			'display':'none',
			'opacity':0				
		});	
		$(".tmptooltip").remove();
	}	
	
	var tooltipC = get_Tooltip_HTML (tooltip_id,tooltip_content_id,content,tooltip_class);	

	$('body').append(tooltipC);
	//document.body.innerHTML+=tooltipC;

	$("#"+tooltip_content_id).append('<a href="javascript:void(0)" class="close_tooltip" onclick="close_tooltip2(\''+tooltip_id+'\',\''+with_bg+'\')">&nbsp;</a>');	
	
	var window_w=$(window).width();
	var window_h=$(window).height();
	

	$("#"+tooltip_id).css('opacity','0'); 
	$("#"+tooltip_id).css('display','block');

	if(left=="center") {		
		var TT_w					=$("#"+tooltip_content_id).parent().width();		
		if((window_w-TT_w)<=0)		var	left_position=0;
		else						var left_position=(window_w-TT_w)/2;
	}
	else {
		if(window_w<=1000) 			var left_position=0;
		else 						var left_position=Math.round((window_w-1000)/2)+left;
	}
	
	if(top=="center") {		
		var TT_h					=$("#"+tooltip_id).height();
		if((window_h-TT_h)<=0)		var	top_position=0+$(document).scrollTop();
		else						var top_position=((window_h-TT_h)/2)+$(document).scrollTop();
	}
	else {
									var top_position=top;
	}
	
	$("#"+tooltip_id).css('left',left_position+'px');
	$("#"+tooltip_id).css('top',top_position+'px');
	
	
	$("#"+tooltip_id).animate({opacity: 1}, 700 );
	
	$("#"+tooltip_id+" .close_tooltip").focus();

	
	if(with_bg==1) show_white_bg();		
}

function close_tooltip2(tooltip_container,with_bg) {	
	$("#"+tooltip_container).remove();	
	
	if($(".tmptooltip").css('display')=='none')
	$(".tmptooltip").remove();	
	
	if(with_bg==1) close_white_bg();	

	$(".list-results").remove();
	
	
	
}

function hide_tooltip2(tooltip_container,with_bg) {
	$("#login-tooltip").css({
		'opacity':0, 
		'display':'none'	
	});	
	
	if($(".tmptooltip").css('display')=='none')
	$(".tmptooltip").remove();	
	
	if(with_bg==1) close_white_bg();	

	$(".list-results").remove();
}





