var offsetX = 0; // przesuniecie x
var offsetY = 0; // przesuniecie y
var speed = 8; // wspolczynnik predkosci (im wiekszy, tym wolniej i plynniej porusza sie menu);
var aspeed = 0;
var posY= 0;
var posa = 0;
var RGmaxOffset=0;

var fx = ie = op = n4 = n6 = false;
var db = "document.getElementById('";
var de = "')";
var st = ".style";

if(navigator.userAgent.indexOf("Firefox") != -1) 
{
	fx=true;
}

if (window.opera) {
    op = true;
}
 else if (document.all) {
    ie = true;
    db = 'document.all.';
    de = '';
}
 else if (document.layers) {
    n4 = true;
    db = 'document.';
    de = '';
    st = '';
}
 else {
    n6 = true;
}

function wW() {
    (ie||n6)? wWr = document.body.clientWidth : wWr = window.innerWidth;
    return wWr;
}

function wH() {
    (ie||n6)? wHr = document.body.clientHeight : wHr = window.innerHeight;
    return wHr;
}

function sX() {
    (ie||n6)? sXr = document.body.scrollLeft : sXr = self.pageXOffset;
    return sXr;
}

function sY() {

//    (ie||n6)? sYr = document.body.scrollTop : sYr = self.pageYOffset;
		sYr =0;
		body=document.body
	    d=document.documentElement
	    if (body && body.scrollTop) sYr = body.scrollTop
	    else
	    if (d && d.scrollTop) sYr = d.scrollTop
	    else
	    if (window.pageYOffset) sYr = window.pageYOffset

    return sYr;
}

//szerokosc
function lW(id) {
    lWDOM = eval(db + id + de);
    if (n4) {
        lWr = lWDOM.document.width;
    }
     else {
        (op)? lWr = lWDOM.style.pixelWidth : lWr = lWDOM.offsetWidth;
    }
     return lWr;
}

//wysokosc
function lH(id) {
    lHDOM = eval(db + id + de);
    if (n4) {
        lHr = lHDOM.document.height;
    }
     else {
        (op)? lHr = lHDOM.style.pixelHeight : lHr = lHDOM.offsetHeight;
    }
     return lHr;
}

//przesuniecie w lewo
function lX(id) {
    lXDOM = eval(db + id + de);
    if (n4) {
        lXr = parseInt(lXDOM.left);
    }
     else {
        (ie)? lXr = parseInt(lXDOM.offsetLeft) : lXr = parseInt(lXDOM.style.left);
    }
     return lXr;
}

//przesuniecie w pionie
function lY(id) {
	lYDOM = eval(db + id + de);
	if (fx) 
	{
	   lYr = parseInt(lYDOM.offsetTop);
	} 
	else
	{
	
    
    if (n4) {
        lYr = parseInt(lYDOM.top);
    }
     else {
		
        (ie)? lYr = parseInt(lYDOM.offsetTop) : lYr = parseInt(lYDOM.style.top);
    }
     }
     
     return lYr;
     
}



function AbslY(objectId) {

	//o = document.getElementById(objectId)
	//oTop = o.offsetTop            // Get top position from the parent object
	
	o = eval(db + objectId + de);
	
	oTop = lY (objectId);
	while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element
		oParent = o.offsetParent;  // Get parent object reference
		oTop += oParent.offsetTop; // Add parent top position
		o = oParent;
	}
	// Return top position
	return oTop;
}

function lmyWH () { //wysokosc okna
	var windowheight = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
	return  windowheight;
}

function DispY (objectId)
{
 
	var windowheight = lmyWH();
	var oAbsY = AbslY(objectId);
	alert (oAbsY + '  , ' + windowheight);

}



//visible
function lV(id,vis) {
    lVDOM = eval(db + id + de + st);
    (vis)? lVDOM.visibility = 'visible' : lVDOM.visibility = 'hidden';
}

function RGPosY(id,Y)
{
 lPosDOM = eval(db + id + de + st);  
   lPosDOM.top = Y+'px';
}

//position
function lPos(id,winX,winY,winXofst,winYofst) {
    lPosDOM = eval(db + id + de + st);
    if (winX == 1) {
        lPosX = 0 + winXofst;
    }
     else if (winX == 2) {
        lPosX = parseInt((wW() - lW(id))/2) + winXofst;
    }
     else if (winX == 3) {
        lPosX = wW() - lW(id) + winXofst;
    }
     else {
        lPosX = winXofst;
    }
     if (winY == 1) {
        lPosY = 0 + winYofst;
    }
     else if (winY == 2) {
        lPosY = parseInt((wH() - lH(id))/2) + winYofst;
    }
     else if (winY == 3) {
        lPosY = wH() - lH(id) + winYofst;
    }
     else {
        lPosY = winYofst;
    }
     lPosDOM.left = lPosX;
    lPosDOM.top = lPosY+'px';
}


function mm() {
    
		var windowheight = lmyWH();
		var oAbsY = AbslY('RGBOX');
		srodekAbsEkr = parseInt(windowheight / 2) +sY();
		srodekAbsRGBox = AbslY('RGBOX')+ parseInt (RGBoxH/2); 
		srodekRelYRGBox = lY("RGBOX")+parseInt (RGBoxH/2);
		
		diffr = srodekAbsEkr - srodekAbsRGBox;
		
		posY = lY("RGBOX") + diffr;  //pozycja docelowa
		
		if (posY<0) {posY=0;}
		if ( RGmaxOffset< posY) {posY=RGmaxOffset;}
		
		jade = true;
		posa= lY("RGBOX");   //aktualna pozycja;
		znak=0;
		odleglosc = posY - lY("RGBOX");
		//if (odleglosc == 0) {aspeed=speed;} else {aspeed = aspeed -1;}
		if (odleglosc < 0) {znak = -1;}
		if (odleglosc > 0) {znak = 1;}
		krok = parseInt(odleglosc / (speed));
		krok = krok==0?znak:krok;
		posa = lY("RGBOX") + krok;
		RGPosY('RGBOX',posa); 
        to = setTimeout("mm()",25);
}

function menu() {
    lV('RGBOX',true);
	var rg_h1 = lH ('left_outer');
	var rg_h2 = lH('content_outer');
	var rg_co =  rg_h1>rg_h2?'left_outer':'content_outer';
	RGmainbodyH =  lH(rg_co);
	
	RGBoxH = lH('RGBOX');
	RGBoxStartY =  AbslY('RGBOX')+5;  //startowa pozycja absolutna;
	RGTMPOFFSET = RGBoxStartY - AbslY(rg_co); //różnica 
	RGmaxOffset = (RGmainbodyH  - RGBoxH -RGTMPOFFSET) ;//maxymalne przesuniecie w dół
    mm();
}