
var FramesCount = 0;
var CurrentFrame = new Array();
var CurrentFrameID = new Array();

var TimerID;
var Timer = 500;
var AFoc = false;
// -----------------------------
// ���室 �� 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');
    }
}


// ------------------------------------------
// Resize window
// ------------------------------------------

function ResizeWindow(w,h) 
    {
    var t = h;
    var d = 14;
    h = ((h + 60) > screen.availHeight)? screen.availHeight - 60 : h;
    w = ((w + 60) > screen.availWidth )? screen.availWidth  - 60 : w;

    if(t != h)
        d = 24;
        
    if (parseInt(navigator.appVersion)>3) 
        {
        if (navigator.appName=='Netscape') 
            {
            top.outerWidth=w + 14 + d;
            top.outerHeight=h + 80;
            }
            else 
            {
            top.resizeTo(400,300);
//            wd = 400-document.body.clientWidth;
//            hd = 340-document.body.clientHeight;
            top.resizeTo(w+14+d,h+80);
            }
        }
    }



//--------------------------------
//  show|hide element
//--------------------------------
function z(id)
{
if(document.getElementById(id) == null)
    {
    return;
    }

if(document.getElementById(id).style.display=='none')
    {
    document.getElementById(id).style.display='';
    }
else
    {
    document.getElementById(id).style.display='none';
    }
}

//--------------------------------
//  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='';
      document.getElementById(h).style.display='';

    }
else
    {
      document.getElementById(l).style.display='';
      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 Par = parent;
while(Par.parent != parent.parent) Par = parent.parent;

var Tmp = Control;
var X = 0;

while(Tmp)
    {
    X += Tmp.offsetLeft;
    Tmp = Tmp.offsetParent;
    }

// Check for Frames count
if( (Par.FramesCount)&&(Par!=this) )
    {
    var s = Par.document.getElementById('controller_iframe'+Par.FramesCount);

    // Get current frame pos
    X += Par.GetControlX(s);
    }

return ( parseInt(X) );

}


// -----------------------------
// ����砥� ��������� ����஫� Y.
// -----------------------------
function GetControlY(Control)
{

var Par = parent;
while(Par.parent != parent.parent) Par = parent.parent;

var Tmp = Control;
var Y = 0;

while(Tmp)
    {
    Y += Tmp.offsetTop;
    Tmp = Tmp.offsetParent;
    }

// Check for Frames count
if( (Par.FramesCount)&&(Par!=this) )
    {
    var s = Par.document.getElementById('controller_iframe'+Par.FramesCount);

    // Get current frame pos
    Y += Par.GetControlY(s);
    }

return ( parseInt(Y) );

}


// -----------------------------
// Hide layer
// -----------------------------

function HideLayer(lName)
{

var skin;

skin=document.getElementById(lName);

if(skin==null) return;

skin.style.display="none";

}


// -----------------------------
// Show layer
// -----------------------------

function ShowLayer(lName)
{

var skin;

skin=document.getElementById(lName);

if(skin==null) return;

skin.style.display="block";

}

// -----------------------------
// Show layer
// -----------------------------

function ShowLayerOnTime(lName)
{

var skin;

skin=document.getElementById(lName);

if(skin==null) return;

skin.style.display="";

setTimeout("HideLayer('"+lName+"')", 1000);

}

// ---------------------------------------
// 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
    return;
    }

// 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 = 1500;

// 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;
    }            

// -----------------------------
// add content to layer
// -----------------------------

function AddLayerContent(lName, Content)
    {
    var skin = document.getElementById(lName);

    if(skin==null) return;
    skin.innerHTML = skin.innerHTML + Content;
    }            


// ----------------------------
// Resize layer
// ----------------------------

function ResizeLayer(layer, neww, newh, step, time)
    {
    var clayer = document.getElementById(layer);

    // Get current width and height
    var cw = parseInt(clayer.offsetWidth);
    var ch = parseInt(clayer.offsetHeight);

    var apply = false;

    // Set new values
   /* if(cw!=neww) 
            {
            if( Math.abs(cw - neww) < step ) 
                {
                clayer.style.width = neww+'px';
                }
                else
                {
                if(cw > neww) 
                    {
                    clayer.style.width = parseInt(cw-step)+'px'; 
                    }
                    else 
                    {
                    clayer.style.width = parseInt(cw+step)+'px'; 
                    }

                apply = true;
                }
            }/**/

        if(ch!=newh) 
            {
            if( Math.abs(ch - newh) < step ) 
                {
                clayer.style.height = newh+'px';
                }
                else
                {
                if( ch > newh) 
                    {
                    clayer.style.height = parseInt(ch-step)+'px';
                    }
                    else 
                    {
                    clayer.style.height = parseInt(ch+step)+'px'; 
                    }

                apply = true;
                }

            if(clayer.offsetHeight<2) clayer.style.display="none";
            }

    if(apply)
        {
        setTimeout("ResizeLayer('"+layer+"','"+neww+"','"+newh+"', "+step+","+time+")", time);
        }
    }


// -----------------------------
// 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 X - local
// -----------------------------
function GetObjCY(Control)
{

// 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) );

}

function GetObjCX(Control)
{

// 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) );

}

// -----------------------------
// Get control
// -----------------------------
function GetContral(cName)
{

// Get control
return( document.getElementById(cName) );

}



//--------------------------------
//  hide transparent layer
//--------------------------------
function hidetranslayer(ob)
{
var lName = 'tr_div';

// Find control

var fnd = document.getElementById(lName);

// Check control
if(fnd!=null)
    {
    // Add new element to document
    document.body.removeChild(fnd);        
    }
}


//--------------------------------
//  show transparent layer
//--------------------------------

function showtranslayer(ob)
{
var x = GetObjCX(ob);
var y = GetObjCY(ob);

var W = ob.clientWidth;
var H = ob.clientHeight;

if(ob.offsetWidth!=0) W = ob.offsetWidth;
if(ob.offsetHeight!=0) H = ob.offsetHeight;

var lName = 'tr_div';

// 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 = y;

// Horizontal position
s.style.left = x;

// Vertical position
s.style.width = W;

// Horizontal position
s.style.height = H;

s.style.position =  'absolute';

s.style.zIndex = ob.zIndex?ob.zIndex + 1:50;

// Set layer content
s.className = 'h_tr';


// Add new element to document
document.body.appendChild(s);        

document.getElementById(lName).setAttribute('onMouseOver', hidetranslayer(ob));

}



// ---------------------------------------
// Show controller in iframe
// ---------------------------------------

function ShowInFrameInd(path)
{

var Par = parent;
while(Par.parent != parent.parent) Par = parent.parent;
Par.FramesCount++;

var s = Par.document.createElement('div');

s.id = 'background_content'+Par.FramesCount;
s.className = "c_background_content";
Par.document.body.appendChild(s);

s = Par.document.createElement('div');
s.id = 'background_container'+Par.FramesCount;
s.className = "c_background_container";
s.style.top = document.body.scrollTop;
s.innerHTML = "<table width='100%' height='100%' cellspacing='0' cellpadding='0' style='z-Index:"+(Par.FramesCount*10)+"'><tr><td align='center' style='vertical-align:middle;'><iframe onload='getElementById(\"background_load_message"+Par.FramesCount+"\").style.display=\"none\";' scrolling='no' id='controller_iframe"+Par.FramesCount+"' frameborder='0' width='300' height='70' style='z-Index:100;border:0px;' src='"+path+"'/></td></tr></table>";
Par.document.body.appendChild(s);

var lm = Par.document.createElement('div');
lm.id = 'background_load_message'+Par.FramesCount;
lm.className = "c_background_load_message";
Par.document.body.appendChild(lm);
lm.style.height = s.offsetHeight;;
lm.style.width = s.offsetWidth;;
lm.style.left = GetControlX(s);
lm.style.top = GetControlY(s);

}



// ---------------------------------------
// Show controller in iframe
// ---------------------------------------

function ShowInFrame(path)
{

var s = document.getElementById('background_content');
s.style.display='';

var s = document.getElementById('background_container');
s.style.display='';
s.style.top = document.body.scrollTop;

//s.id = "background_content";
s.innerHTML = "<table width='100%' height='100%' cellspacing='0' cellpadding='0'><tr><td align='center' style='vertical-align:middle;'><iframe onload='getElementById(\"background_load_message\").style.display=\"none\";' scrolling='no' id='controller_iframe' frameborder='0' width='300' height='70' style='z-Index:100;border:0px;' src='"+path+"'/></td></tr></table>";

// Show load message
var s = document.getElementById('controller_iframe');

// Show load message
var lm = document.getElementById('background_load_message_container');
lm.style.height = s.offsetHeight;;

// Show load message
var lm = document.getElementById('background_load_message');
lm.style.width = s.offsetWidth;;
lm.style.left = GetControlX(s);
lm.style.top = GetControlY(s);
lm.style.display='';

}


// ---------------------------------------
// Show controller in iframe
// ---------------------------------------

function HideFrame()
{

var s = parent.document.getElementById('background_content');
if (s) 
    {
    s.style.display='none';
    s=null;
    }

var s = parent.document.getElementById('background_container');
if (s) 
    {
    s.style.display='none';
    s=null;
    }

}

// ---------------------------------------
// Hide frame ind
// ---------------------------------------

function HideFrameInd()
{

var Par = parent;
while(Par.parent != parent.parent) Par = parent.parent;

Par.DestroyLayer('background_content'+Par.FramesCount);
Par.DestroyLayer('background_container'+Par.FramesCount);
Par.FramesCount--;

}

// ---------------------------------------
// Repos frame
// ---------------------------------------

function ReposFrame()
{

var Par = parent;
while(Par.parent != parent.parent) Par = parent.parent;

// Get frame
var s = Par.document.getElementById('controller_iframe'+Par.FramesCount);

// Set position
s.style.left = document.body.scrollLeft + (document.body.offsetWidth - s.offsetWidth)/2;
s.style.top = document.body.scrollTop + (document.body.offsetHeight - s.offsetHeight)/2;

// All ok
s.style.display="";

}

// ------------------------------------------
// Resize parent
// ------------------------------------------

function ResizeParentFrame(w,h, name) 
    {

    var Par = parent;
    while(Par.parent != parent.parent) Par = parent.parent;
    
    // Find frame
    var fr;

    if(name!='') fr = parent.document.getElementById(name); else fr = Par.document.getElementById("controller_iframe");

    if(fr==null) return;
    if( fr.offsetLeft + w > screen.availWidth)  fr.style.left = screen.availWidth  - w - 50;
    //if( fr.offsetTop + h  > screen.availHeight) fr.style.top  = screen.availHeight - h - 50;
    fr.style.width    = w;
    fr.style.height   = h;
    }


// ------------------------------------------
// Resize parent
// ------------------------------------------

function ResizeParentFrameInd(w,h, name) 
    {

    var Par = parent;
    while(Par.parent != parent.parent) Par = parent.parent;
    
    // Find frame
    var fr;

    if(name!='') fr = parent.document.getElementById(name); else fr = Par.document.getElementById("controller_iframe"+Par.FramesCount);

    if(fr==null) return;
    if( fr.offsetLeft + w > screen.availWidth)  fr.style.left = screen.availWidth  - w - 50;
    //if( fr.offsetTop + h  > screen.availHeight) fr.style.top  = screen.availHeight - h - 50;
    fr.style.width    = w;
    fr.style.height   = h;
    }


// ------------------------------------------
// Set parent content
// ------------------------------------------

function SetParentLayerContent(lName, Content) 
    {

    // get skin
    var skin = parent.document.getElementById(lName);
    if(skin==null) return;
    skin.innerHTML=Content;

    }

// ---------------------------------------
// Show controller in iframe
// ---------------------------------------

function ShowInFramePos(x,y,path)
{


var old_s = document.getElementById('controller_iframe');

if (old_s)
    {
    old_s.parentNode.removeChild(old_s);            
    }/**/


var s = document.createElement('iframe');

s.src = path;
s.id = 'controller_iframe';
s.style.position = "absolute";
s.style.display = "";
s.frameBorder = 0;
s.scrolling = "no";
s.style.left = x;
s.style.top  = y;
s.style.zIndex  = 100;
s.width=100;
s.height=100;
s.style.backgroundColor = "FF0000";
s.style.border = "0px";/**/

document.body.appendChild(s);

}

// ------------------------------------------
// Edit translation
// ------------------------------------------

function EditTranslation(Cnt)
    {
    ShowInFramePos(GetControlX(Cnt),GetControlY(Cnt),"/noland/vfadmin/translate_word/"+Cnt.id)
    return(false);
    }


//----------------------
//  change image src
//----------------------

function ChangePhoto(id, path)
    {
    var img = new Image();
    img.src = path;
    if(img.complete)
        {
        var im = document.getElementById(id);
        im.src=path;
        im.width = img.width;
        im.height = img.height;
        }
    else
        {
        setTimeout("ChangePhoto('"+id+"', '"+path+"')", 500);
        }
    }

//----------------------
// Show message box
//----------------------

function MessageBox(Text)
    {

    // Create layer
    CreateLayer("messagebox", 0, 0, "<div class='messagebox'>"+Text+"<hr style='margin-top:10px;margin-bottom:10px;' ><center><a href=\"javascript:void()\" onclick=\"DestroyLayer('messagebox')\"><img border=0 src=/images/mok.gif></a></center></div>");

    // Get message width
    var mw = document.getElementById("messagebox").offsetWidth;
    var mh = document.getElementById("messagebox").offsetHeight;

    document.getElementById("messagebox").style.left = (screen.availWidth - mw) / 2;
    document.getElementById("messagebox").style.top = (screen.availHeight - mh) / 2;
    }


// ---------------------------------------
// Show loading
// ---------------------------------------

function ShowLoading(cmp)
    {
    
    var Par = parent;
    while(Par.parent != parent.parent) Par = parent.parent;
    var id = Par.CurrentFrameID[cmp];
    var doc = Par.document.getElementById(id);
    if(doc==null) return;

    var x = parseInt(doc.style.left);
    var y = parseInt(doc.style.top);
    var width = doc.offsetWidth;
    var height = doc.offsetHeight;

    
    var s = Par.document.createElement('div');
    s.id = id+"_load";
    
    s.style.position = "absolute";
    s.style.left = x;
    s.style.zIndex = 1000;
    s.style.top = y;
    s.style.width = width;
    s.style.height = height;
    s.style.backgroundColor = "ff0000";
    Par.document.body.appendChild(s);/**/
    }

function HideLoading(id)
    {
    alert(id);
    return;
    var Par = parent;
    while(Par.parent != parent.parent) Par = parent.parent;
    alert(Par);
    var d = Par.document.getElementById(id+"_load");
    if(d) Par.document.body.removeChild(d);
    }

function GetEl(id)
    {
    var v = document.getElementById(id);
    return( v );
    }

function EmptyElVal(v, text)
    {
    if( v.value == text ) v.value='';
    }

function FillElVal(v, text)
    {
    if( v.value == '' ) v.value=text;
    }

function TestOnDefaultLogin()
    {
    var el1, el2,teturn;
    el1 = document.getElementById('Login');
    el2 = document.getElementById('Password');

    if( (el1.value==EmptyLoginAlias) && (el2.value==EmptyPassAlias) ) return false;
    return true;
    }

function ChangeLayerVisible(id)
    {
    z(id);
    }
// -----------------------------
// ����砥� ��������� ����஫� �� X.
// -----------------------------
function lGetControlX(Control)
{

var Tmp = Control;
var X = 0;

while(Tmp)
    {
    X += Tmp.offsetLeft;
    Tmp = Tmp.offsetParent;
    }

return ( parseInt(X) );

}


// -----------------------------
// ����砥� ��������� ����஫� Y.
// -----------------------------
function lGetControlY(Control)
{

var Tmp = Control;
var Y = 0;

while(Tmp)
    {
    Y += Tmp.offsetTop;
    Tmp = Tmp.offsetParent;
    }

return ( parseInt(Y) );

}
// ---------------------------------------
// Show loading on pos
// ---------------------------------------

function ShowLoadInPos(Cntr)
    {
    return;

    // Get control pos
    var x = GetControlX(Cntr);
    var y = GetControlY(Cntr);
    var W = Cntr.offsetWidth;
    var H = Cntr.offsetHeight;

    CreateLayer("submitLoading", x, y, '<img src="/images/loading_2.gif" width="'+W+'" height="'+H+'">');
    }


function CheckNumeric(value)
{

var digits='0123456789';

if ((value.charAt(0) == '-') && (value.length == 1)) return (false);

var dotcount = 0;

for( var i = 0; i < value.length; i++)
    {
    if (value.charAt(0) == '-')
        {

        if (digits.indexOf(value.charAt(i + 1)) < 0)
        return (false);
        }
    else if( (value.charAt(i) == '.') )
        {

        if( dotcount ) return(false);
        dotcount++;
        if (digits.indexOf(value.charAt(i - 1)) < 0)
        return (false);
        }
    else
        {

        if (digits.indexOf(value.charAt(i)) < 0)
        return (false);
        }
    }

return (true);  
}



// ---------------------------------
// format currency
// ---------------------------------

function formatCurrency(num) 
    {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
    num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if(cents<10)
    cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
    num = num.substring(0,num.length-(4*i+3))+'.'+
    num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + num + ',' + cents);
    }
