// JavaScript Document

var TOOLTIP_PREFIX = 'Всего:';
var TOOLTIP_SUFFIX = 'Экономия:';

var ROLL_OUT  = '_out.';
var ROLL_OVER = '_over.';
function switchPrice_(idHide,idShow)
{
	var toHide = document.getElementsByName(idHide);
	var toShow = document.getElementsByName(idShow);

	for(var i=0;i<toHide.length;i++){toHide[i].style.display = 'none'}
	for(var i=0;i<toShow.length;i++){toShow[i].style.display = ''}
}

function switchPrice(idHide,idShow)
{
	var toHide = document.getElementById(idHide);
	var toShow = document.getElementById(idShow);

	toHide.style.display = 'none';
	toShow.style.display = '';
}


function enableTooltipsByPrefix(){
	var links,i,h;
	if(!document.getElementById || !document.getElementsByTagName) return;

	h=document.createElement("span");
	h.id="btc";
	h.setAttribute("id","btc");
	h.style.position="absolute";
	document.getElementsByTagName("body")[0].appendChild(h);

	links=document.getElementsByTagName("*");
	for(i=0;i<links.length;i++){
		PrepareByPrefix(links[i]);
	}
}

function PrepareByPrefix(el){
	var tooltip,t,b,s,l;
	t=el.getAttribute("title");


	if(t == null)
	{
		return;
	}

	var tooltip_pos = t.indexOf(TOOLTIP_PREFIX);
	if( tooltip_pos != 0)
	{
		return;
	}

	t = t.substr(TOOLTIP_PREFIX.length);

	var params = t.split(TOOLTIP_SUFFIX);



	el.style.cursor     = 'pointer';
	/*alert(el.style.fontWeight);*/
	el.style.fontWeight = 'bold';


	el.removeAttribute("title");
	tooltip=CreateEl("span","tooltip");
	s=CreateEl("span","top");
	s.appendChild(document.createTextNode(t));
	s.innerHTML = '<table><tr><td><strong>Всего:</strong></td><td>' + params[0] + '</td></tr><tr><td><strong>Экономия:</strong></td><td style="color:red; font-weight:bold;">' + params[1] + '</td></tr></table>'
	tooltip.appendChild(s);
	b=CreateEl("span","bottom");

	tooltip.appendChild(b);

	setOpacity(tooltip);
	el.tooltip=tooltip;
	el.onmouseover=showTooltip;
	el.onmouseout=hideTooltip;
	el.onmousemove=Locate;
}

function showTooltip(e){
	document.getElementById("btc").appendChild(this.tooltip);
	Locate(e);
}

function hideTooltip(e){
	var d=document.getElementById("btc");
	if(d.childNodes.length>0) d.removeChild(d.firstChild);
}

function setOpacity(el){
	el.style.filter="alpha(opacity:85)";
	el.style.KHTMLOpacity="0.85";
	el.style.MozOpacity="0.85";
	el.style.opacity="0.85";
}

function CreateEl(t,c){
	var x=document.createElement(t);
	x.className=c;
	x.style.display="block";
	return(x);
}

function Locate(e){
	var posx=0,posy=0;
	if(e==null) e=window.event;
	if(e.pageX || e.pageY){
		posx=e.pageX; posy=e.pageY;
	}
	else if(e.clientX || e.clientY){
		if(document.documentElement.scrollTop){
			posx=e.clientX+document.documentElement.scrollLeft;
			posy=e.clientY+document.documentElement.scrollTop;
		}
		else{
			posx=e.clientX+document.body.scrollLeft;
			posy=e.clientY+document.body.scrollTop;
		}
	}
	document.getElementById("btc").style.top=(posy+10)+"px";
	document.getElementById("btc").style.left=(posx-20)+"px";
}

/*-----------------------------------------------------------*/

function OneForAll(parentName, selectorId, selectorAllId, isAllChecked)
{
	//OneForAll('ukr_names', 'selector_ukr' , 'selector_all' )
	var parent      = document.getElementById(parentName);
	var selector    = document.getElementById(selectorId);
	var selectorAll = document.getElementById(selectorAllId);
	var isAllChecked = (typeof isAllChecked == "undefined") ? false : isAllChecked;

	if (isAllChecked) {
		isChecked = selectorAll.checked ? true : false;
		if (selectorAll.checked) {
			isChecked = true;
			var deSelectStrForId = 'false';
			var deSelectStrForAll = 'false';
		}
		else {
			isChecked = false;
			var deSelectStrForId = 'true';
			var deSelectStrForAll = 'true';
		}
	}
	else {
		isChecked = selector.checked;
		var deSelectStrForId = isChecked ? 'false' : 'true';
		var deSelectStrForAll = selectorAll.checked ? 'false' : 'true';
	}

	if(parent && selector && selectorAll )
	{
		if(!window.checkboxes)
		{
			window.checkboxes = {};
		}
		window.checkboxes[parentName] = [];

		var checkboxes = window.checkboxes[parentName];

		checkboxes = parent.getElementsByTagName("input");
		for(var i = 0; i < checkboxes.length; i++ )
		{
			if(checkboxes[i].id != selectorId && checkboxes[i].id != selectorAllId)
			{
				//checkboxes[i].checked = true;
				checkboxes[i].checked = isChecked;


				//eval("var id" + selectorId + "Deselect = function(){ document.getElementById('" +  selectorId + "').checked = false; document.getElementById('" +  selectorAllId + "').checked = false;}");
				/*eval("var id" + selectorId + "Deselect = function(){ document.getElementById('" +  selectorId + "').checked = "+deSelectStrForId+"; document.getElementById('" +  selectorAllId + "').checked = "+deSelectStrForAll+";}");
				eval("checkboxes[i].onclick =  id" + selectorId + "Deselect");*/
			}
		}
	}
}


function RollThemAllOver()
{
	var images = document.getElementsByTagName("img");
	for(var i = 0; i < images.length; i++ )
	{
		if( images[i].src.indexOf(ROLL_OUT) == -1 )
		{
			continue;
		}

		var current_src = images[i].src;

		eval("var id" + i + "Over = function(){this.src = '" +  images[i].src.replace(ROLL_OUT , ROLL_OVER) + "';}");
		eval("images[i].onmouseover =  id" + i + "Over");

		eval("var id" + i + "Out = function(){this.src = '" +  current_src + "';}");
		eval("images[i].onmouseout =  id" + i + "Out");

	}
}

function InvertDisplayNormal(elem)
{
	if (document.getElementById(elem).style.display == 'none' || document.getElementById(elem ).style.display == '')
	{
		document.getElementById(elem).style.display = 'block';
	}
	else
	{
		document.getElementById(elem).style.display = 'none';
	}
}


window.onload = function(){             enableTooltipsByPrefix(); RollThemAllOver();}

function dicplayElementById(elementId){
	element=document.getElementById(elementId);
	if(element.style.display!="")element.style.display="";
	else element.style.display="none";
}
