// Gets the full width/height because it's different for most browsers.
function getViewportHeight() 
{
	if (window.innerHeight!=window.undefined) return window.innerHeight;
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight; 

	return window.undefined; 
}
function getViewportWidth() 
{
	if (window.innerWidth!=window.undefined) return window.innerWidth; 
	if (document.compatMode=='CSS1Compat') return document.documentElement.clientWidth; 
	if (document.body) return document.body.clientWidth; 

	return window.undefined; 
}

function getScrollXY() {
  var res = { offX: 0, offY: 0 };
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    res.offY = window.pageYOffset;
    res.offX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    res.offY = document.body.scrollTop;
    res.offX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    res.offY = document.documentElement.scrollTop;
    res.offX = document.documentElement.scrollLeft;
  }
  return res;
}

// Sets size of div element 'modal_mask' to full width/height of a browser
function setMaskSize()
{
//	var theBody = document.getElementsByTagName("BODY")[0];
  var content = getObject('content');
	var modalMask = getObject('modal_mask');
			
	var fullHeight = getViewportHeight();
	var fullWidth = getViewportWidth();
	var scroll = getScrollXY();
	
	if (fullHeight > content.scrollHeight) {
		popHeight = fullHeight;
	} else {
		popHeight = content.scrollHeight;
	}
	
	if (fullWidth > content.scrollWidth) {
		popWidth = fullWidth;
	} else {
		popWidth = content.scrollWidth;
	}
	
	modalMask.style.height = 140 + popHeight + "px";
	modalMask.style.width = 1024 + "px";
//	modalMask.style.width = popWidth + "px";
//	modalMask.style.top = scroll.offY + "px";
}

/*
 * Disables/enables tab accessibility of tags
 */  

// Pre-defined list of tags we want to disable/enable tabbing into
var gTabbableTags = new Array("A","BUTTON","TEXTAREA","INPUT","IFRAME");	
var gTabIndexes = new Array();

function disableTabIndexes() {
//	if (document.all) 
  {
		var i = 0;
		for (var j = 0; j < gTabbableTags.length; j++) 
    {
			var tagElements = document.getElementsByTagName(gTabbableTags[j]);
			for (var k = 0 ; k < tagElements.length; k++) 
      {
				gTabIndexes[i] = tagElements[k].tabIndex;
				tagElements[k].tabIndex="-1";
				i++;
			}
		}
	}
}
function restoreTabIndexes() {
//	if (document.all) 
  {
		var i = 0;
		for (var j = 0; j < gTabbableTags.length; j++) 
    {
			var tagElements = document.getElementsByTagName(gTabbableTags[j]);
			for (var k = 0 ; k < tagElements.length; k++) 
      {
				tagElements[k].tabIndex = gTabIndexes[i];
				tagElements[k].tabEnabled = true;
				i++;
			}
		}
	}
}

/*
 * Hides/shows all select boxes because of IE6
 */  
function hideSelectBoxes() {
	for(var i = 0; i < document.forms.length; i++) {
		for(var e = 0; e < document.forms[i].length; e++){
			if(document.forms[i].elements[e].tagName == "SELECT") {
			  if (document.forms[i].elements[e].name.charAt(0) != '_') // tymto ovladam, ktore select-boxy sa nemaju vypnut
  				document.forms[i].elements[e].style.visibility="hidden";
			}
		}
	}
}
function displaySelectBoxes() {
	for(var i = 0; i < document.forms.length; i++) {
		for(var e = 0; e < document.forms[i].length; e++){
			if(document.forms[i].elements[e].tagName == "SELECT") {
  			document.forms[i].elements[e].style.visibility="visible";
			}
		}
	}
}

// Shows modal mask
function showMask(show)
{
	var modalMask = getObject('modal_mask');
	var theBody = document.getElementsByTagName("BODY")[0];

  if (show) 
  {
    setMaskSize();
    disableTabIndexes();
    hideSelectBoxes();
    modalMask.style.display = 'block';
  }
  else
  {
    modalMask.style.display = 'none';
    displaySelectBoxes();
    restoreTabIndexes();
  }
}

function showModalSelect(id, show)
{
	var selbox = getObject('select_'+id);
	
  if (show) 
  {
    clearMultipleSelect('_'+id);
    getObject('s'+id+'_OK').disabled = true;
    
    selbox.style.display = 'block';
    showMask(true);
  }
  else
  {
    selbox.style.display = 'none';
    showMask(false);
  }
}
