function replyToSender(id, text) {

	var sender = window.name.match(/okno_(.*)/)[1];
	if (sender.substr(0,2)=='PB')
    {
      var psArea = window.opener.document.getElementById(sender.substr(2));
      if(psArea.addPhoto('../../userfiles/fotografie/nahledy/' + text, id))
      {
        window.close();
      }
    }
    else if (sender.substr(0,2)=='DB')
    {
        var dbArea = window.opener.document.getElementById(sender.substr(2));
        if(dbArea.addRow(text, id))
      {
        window.close();
      }
    }
    else if (sender == 'store')
    {
    }
    else if (sender == 'tiny')
    {
        window.opener.document.formcallback.src.value = 'userfiles/fotografie/normal/'+text;
        window.opener.ImageDialog.showPreviewImage('userfiles/fotografie/normal/'+text, 1);
      window.close();
		return false;
    }
    else
    {      		  
  		window.opener.document.getElementById(sender).value = id;
  		window.opener.document.getElementById(sender+'_text').value = text;
      window.close();
    }
		return false;
}


function isUserFriendlyChar(val) {
  // Backspace, Tab, Enter, Insert, and Delete
  if(val == 8 || val == 9 || val == 13 || val == 45 || val == 46)
    return true;

  // Ctrl, Alt, CapsLock, Home, End, and Arrows
  if((val > 16 && val < 21) || (val > 34 && val < 41))
    return true;

  // The rest
  return false;
}
function switchCodebook(cbId, typeId)
{
    cb_box = document.getElementById("type_box" + typeId);
        for (i=0; i<cb_box.childNodes.length; i++)
        {
            node = cb_box.childNodes[i];
            if (node.nodeName=="DIV" && node.className != 'form_item')
            {
                node.style.display = 'none';
            }
        }
    document.getElementById('cis' + cbId).style.display = 'block';
}

function switchCodebook_prezentace(subciselnik)
{
    cb_box = document.getElementById("subciselnik");
    for (i=0; i<cb_box.childNodes.length; i++)
        {
            node = cb_box.childNodes[i];
            if (node.nodeName=="DIV")
            {
                node.style.display = 'none';
            }
        }
    document.getElementById('cis' + subciselnik).style.display = 'block';
}

function selectAll(cbBox)
{
    cb_box = document.getElementById(cbBox);
  
      for (i=0; i<cb_box.getElementsByTagName('input').length; i++)
      {
         node = cb_box.getElementsByTagName('input')[i];

            node.checked = 'checked';
      }
}
function cancelAll(cbBox)
{
  cb_box = document.getElementById(cbBox);
  
      for (i=0; i<cb_box.getElementsByTagName('input').length; i++)
      {
         node = cb_box.getElementsByTagName('input')[i];
            node.checked = false;
      }
}
function showLoader(loader_id, element, location, size)
{
  if(typeof size == 'undefined') size = "large";
  var w, h, src;
  switch(size)
  {
    case "small":
      w = 16;
      h = 16;
      src = '../files/images/indicator_small_trans.gif';
    break;
    default:
      w = 32;
      h = 32;
      src = '../files/images/indicator_big_trans.gif';
    break;
  }
  
  var loader = document.getElementById(loader_id);    
  if(!loader)
  {            
    loader = document.createElement('img');
    loader.style.position = 'absolute';
    loader.style.display='none';
    loader.id=loader_id;
    loader.src = src;
    loader.width=w;
    loader.height=h;
    document.getElementsByTagName('body')[0].appendChild(loader);    
  }
  
  var pos = absolutePosition(element);
  if(typeof location == 'undefined') location = "center center";
  var loc = location.split(' ');
  if(loc[0] == 'outer')
  {
    if(loc[1] == 'left')
      loader.style.left = (pos.x - 1 - w) + 'px';
    else if(loc[1] == 'right')
      loader.style.left = (pos.x + element.clientWidth+1) + 'px';
    else
      loader.style.left = Math.round(pos.x + element.clientWidth/2 - w/2) + 'px';
    
    if(loc[2] == 'top')
      loader.style.top = (pos.y - 1 - w) + 'px';
    else if(loc[2] == 'bottom')
      loader.style.top = (pos.y + element.clientHeight+1+w) + 'px';
    else
      loader.style.top = Math.round(pos.y + element.clientHeight/2 - w/2) + 'px';
  }
  else
  {
    if(loc[0] == 'left')
      loader.style.left = (pos.x + 1) + 'px';
    else if(loc[0] == 'right')
      loader.style.left = (pos.x + element.clientWidth-1-w) + 'px';
    else
      loader.style.left = Math.round(pos.x + element.clientWidth/2 - w/2) + 'px';
    
    if(loc[1] == 'top')
      loader.style.top = (pos.y + 1) + 'px';
    else if(loc[1] == 'bottom')
      loader.style.top = (pos.y + element.clientHeight-1-w) + 'px';
    else
      loader.style.top = Math.round(pos.y + element.clientHeight/2 - w/2) + 'px';
  }
  
  loader.style.display = 'block';
}

function hideLoader(loader_id)
{  
  var loader = document.getElementById(loader_id);  
  if(loader)
  {
    loader.style.display='none';   
  }    
}

absolutePosition = function(el) {
	var SL = 0, ST = 0;
	var is_div = /^div$/i.test(el.tagName);
	if (is_div && el.scrollLeft)
		SL = el.scrollLeft;
	if (is_div && el.scrollTop)
		ST = el.scrollTop;
	var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
	if (el.offsetParent) {
		var tmp = absolutePosition(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}

// vrací true pro IE < 8
var _isIE = -1;
function isIE()
{
  if(_isIE == -1)
  {
    var userAgent=navigator.userAgent.toLowerCase();
    
    var re = /msie ([0-9]{1,}[\.0-9]{0,})/;
    var version = 100;
    var m = re.exec(userAgent); 
    if (m != null)
      version = parseFloat(m[1]);
      
    if(version < 8 && !window.opera)
    {
      _isIE = true;
      return true;
    }
    else
    {
      _isIE = false;
      return false;
    }
  }
  else
  {
    return _isIE;
  }
}
