
// -----------------------------
// Отображаем с такими координатами.
// -----------------------------

function ShowLayer(lName, x, y, Showing)
{

var skin;

if(lName=='') return;

skin=document.getElementById(lName);

if(skin==null) return;

skin.style.left = x;
skin.style.top  = y;

skin.style.zIndex=2;
if(Showing) skin.style.visibility="visible"; else skin.style.visibility="hidden";

}

// -----------------------------
// Переход на URL
// -----------------------------

function GotoUrl(Url)
{

location.href = Url;

}



// -----------------------------
// Загружаем слой
// -----------------------------

function LoadLayer(lName, LoadFrom)
{

var link = LoadFrom + "&rand=" + Math.random();
var old_s = document.getElementById('dataloader');
if (old_s)
    {
    old_s.parentNode.removeChild(old_s);            
    }

var s = document.createElement('script');
s.setAttribute('type', 'text/javascript');
s.src = link;
s.id = 'dataloader';
document.getElementsByTagName('head')[0].appendChild(s);        
}


// open new window
function OpenNewWindow(href, text,width, height)
{
if(text)
    {
    if(confirm(text))
        {
    return window.open(href, '', 'width=' + width + ',height=' + height + ',scrollbars');
        }
    else
        {
        return false;
        }
    }
else
    {
    return window.open(href, '', 'width=' + width + ',height=' + height + ',scrollbars');
    }
}


// open new window
function OpenNewWindowByName(href, text, width, height, name)
{
if(text)
    {
    if(confirm(text))
        {
    return window.open(href, name, 'width=' + width + ',height=' + height + ',scrollbars');
        }
    else
        {
        return false;
        }
    }
else
    {
    return window.open(href, name, 'width=' + width + ',height=' + height + ',scrollbars');
    }
}

// ------------------------------------------
// Resize window
// ------------------------------------------

function ResizeWindow(w,h) 
    {

    if (parseInt(navigator.appVersion)>3) 
        {
        if (navigator.appName=='Netscape') 
            {
            top.outerWidth=w+50;
            top.outerHeight=h+60;
            }
            else 
            {
//          top.resizeTo(400,300);
//            wd = 400-document.body.clientWidth;
//            hd = 340-document.body.clientHeight;
            top.resizeTo(w+50,h+60);
            }
        }
    }


//--------------------------------
//  show|hide element
//--------------------------------
function z(id)
{
if(document.getElementById(id) == null)
    {
    return;
    }

if(document.getElementById(id).style.display=='block')
    {
    document.getElementById(id).style.display='none';
    }
else
    {
    document.getElementById(id).style.display='block';
    }
}

//--------------------------------
//  show|hide element
//--------------------------------
function Banner(id,type,l,w,h)
{
if(id.value == type)
    {
      document.getElementById(l).style.display='none';
      document.getElementById(w).style.display='block';
      document.getElementById(h).style.display='block';

    }
else
    {
      document.getElementById(l).style.display='block';
      document.getElementById(w).style.display='none';
      document.getElementById(h).style.display='none';
    }



}

//--------------------------------
//  show|hide element in class
//--------------------------------
function zx(id)
{
var element;
if(document.getElementById(id) == null)
    {
    if(id.className == null)
        {
        return;
        }
    else
        {
        element = id;
        }
    }
else
    {
    element = document.getElementById(id);
    }

if(element.className=='hide')
    {
    element.className='show';
    }
else
    {
    element.className='hide';
    }
}



/**
 * Checks/unchecks all tables
 *
 * @param   string   the form name
 * @param   boolean  whether to check or to uncheck the element
 *
 * @return  boolean  always true
 */
function setCheckboxes(the_form, do_check, formname)
{
    var elts      = (typeof(document.forms[the_form].elements[formname]) != 'undefined')
                  ? document.forms[the_form].elements[formname]: 0;
    var elts_cnt  = (typeof(elts.length) != 'undefined')
                  ? elts.length
                  : 0;

    if (elts_cnt) {
        for (var i = 0; i < elts_cnt; i++) {
            elts[i].checked = do_check;
        } // end for
    } else {
        elts.checked        = do_check;
    } // end if... else

    return true;
} // end of the 'setCheckboxes()' function


// -----------------------------
// Получаем положение контрола по X.
// -----------------------------
function GetControlX(Control)
{

var Tmp = Control;
var X = 0;

while(Tmp)
    {
    X += Tmp.offsetLeft;
    Tmp = Tmp.offsetParent;
    }

return ( parseInt(X) );

}


// -----------------------------
// Получаем положение контрола Y.
// -----------------------------
function GetControlY(Control)
{

var Tmp = Control;
var Y = 0;

while(Tmp)
    {
    Y += Tmp.offsetTop;
    Tmp = Tmp.offsetParent;
    }

return ( parseInt(Y) );

}

// -----------------------------
// Hide layer
// -----------------------------

function HideLayer(lName)
{

var skin;

skin=document.getElementById(lName);

if(skin==null) return;

skin.style.visibility="hidden";

}

// ---------------------------------------
// Create layer with content
// ---------------------------------------

function DestroyLayer(lName)
{

//alert(Data);

// Find control
var fnd = document.getElementById(lName);

// Check control
if(fnd!=null)
    {
    // Add new element to document
    document.body.removeChild(fnd);        
    }

}


// ---------------------------------------
// Create layer with content
// ---------------------------------------

function CreateLayer(lName, PosX, PosY, Data)
{

// Find control
var fnd = document.getElementById(lName);

// Check control
if(fnd!=null)
    {
    // Add new element to document
    document.body.removeChild(fnd);        
    }

// Create element
var s = document.createElement('div');

// Set id to new element
s.id = lName;

// Vertical position
s.style.top = PosY;

// Horizontal position
s.style.left = PosX;
s.style.position =  'absolute';
s.style.zIndex = 500;

// Set layer content
s.innerHTML = Data;

// Add new element to document
document.body.appendChild(s);        

if(s.clientWidth>0) 
    {

    // move window left
    if( parseInt(PosX) + parseInt(s.clientWidth) > document.body.clientWidth) 
        {
        s.style.left = document.body.clientWidth - s.clientWidth - 40;
        }
    }
    else
    {

    // move window left
    if( parseInt(PosX) + 4000 > document.body.clientWidth) 
        {
        s.style.left = document.body.clientWidth - 440;
        }

    }

//if(s.clientWidth);

}



// -----------------------------
// Set content to layer
// -----------------------------

function SetLayerContent(lName, Content)
{

var skin = document.getElementById(lName);

if(skin==null) return;
skin.innerHTML=Content;
}            

// -----------------------------
// Get layer position by X - local
// -----------------------------
function GetCY(cName)
{

// Get control
var Control = document.getElementById(cName);

// If have this control - return function result
if(Control==null) return(0);

var Tmp = Control;
var Y = 0;

while(Tmp)
    {
    Y += Tmp.offsetTop;
    Tmp = Tmp.offsetParent;
    }

return ( parseInt(Y) );
}

// -----------------------------
// Get layer position by Y
// -----------------------------
function GetCX(cName)
{

// Get control
var Control = document.getElementById(cName);

// If have this control - return function result
if(Control==null) return(0);

var Tmp = Control;
var X = 0;

while(Tmp)
    {
    X += Tmp.offsetLeft;
    Tmp = Tmp.offsetParent;
    }

return ( parseInt(X) );

}
