// 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)
{
          //OneForAll('ukr_names', 'selector_ukr' , 'selector_all' )
                var parent      = document.getElementById(parentName);
                var selector    = document.getElementById(selectorId);
                var selectorAll = document.getElementById(selectorAllId);

                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].checked = true;

                                                eval("var id" + selectorId + "Deselect = function(){ document.getElementById('" +  selectorId + "').checked = false; document.getElementById('" +  selectorAllId + "').checked = false;}");
                                                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";
}
