
/* pln mezerami */ 
function getspaces(pc) {
  var dmez = 5;
  var result = '';
  var n = 0;
  for(n = 1; n < (pc * dmez - dmez); n++) {
    result += '&nbsp;';
  }
  return result;
}

/* vypis obsah objektu*/
function drawprop(o, stary) {
  vnoreni++;
  for(prop in o) {
    var tp = typeof(o[prop]);
    if((tp == 'object') && (o[prop] != null)) {
      document.write(getspaces(vnoreni) + prop + ' - ' + o[prop]);          
      document.write('<font color="#ff0000"><strong>*</strong></font><br />');
      o = drawprop(o[prop], o);
    } else {
      document.write(getspaces(vnoreni) + prop + ' - ' + o[prop] + '<br />');          
    }
  }
  vnoreni--;
  return stary;
}

/* hledani OBJECTu */
function searchObject(what, where, identif) {
  var resultIdentif = null;
  for(n = 0; n < where.length; n++) {
    if(what == where[n][identif]) {
      resultIdentif = n;
      break;
    } 
    if(resultIdentif != null) {
      break;
    }
  }
  if(resultIdentif == null) {
    var text = 'V objektu [' + where + '] nebylo nalezen záznam [' + what + '] podle identifikátoru [' + identif + ']';
    CounterError('O', 'nebyl nalezen objekt', text);
  }
  return resultIdentif;
}

/* pridani FIELD do pole */
function add(where, what) {
  where[where.length] = what;
}

/*  */
function getjsmessages(text) {
  var FsizeArguments = getjsmessages.arguments.length;
  var pos = 0;
  var poc, kon = '';
  for(n = 1; n < FsizeArguments; n++) {
    e   = text.indexOf('%s', pos);
    poc = text.substr(0, e); 
    kon = text.substr(e + 2, text.length - e + 2);
    text = poc + getjsmessages.arguments[n] + kon;
    pos = e;
  }
  return text; 
}

/* naplneni pole */
function fillArray(typeParam) {
  var resultArray = new Array();
  var sizeTypeParam = typeParam.length;
  var FsizeArguments = fillArray.arguments.length - 1;
  
  if(FsizeArguments != sizeTypeParam) {
    var message = 'chyba v počtu parametrů objektu';
    var text = '';
    for(n = 1; n < FsizeArguments + 1; n++) {
      text += '   ' + n + '. ' + fillArray.arguments[n] + '\n';
    }
    text +=  '--> k dispozici ' + FsizeArguments + ' z plánovaných ' + sizeTypeParam + ' parametrů';
    counterError('F', message, text);
  }
  
  for(n = 0; n < FsizeArguments; n++) {
    resultArray[typeParam[n]] = fillArray.arguments[n + 1];
  }
  return resultArray;
}

/* otevre nove okno */
function open_window(url, xdel, ydel, nameWin) {
  var selstr = "location=0,scrollbars=yes,toolbar=no,menubar=0,status=0,resizable=yes,height=" + ydel + ",width=" + xdel + ",dependent=1";
  var urlstr = url;
  sel = open(urlstr, nameWin, selstr);
}

/* prida ITEM do COMBOBOX */
function AddItem(AddTo, AddWhat, Form) {
  var newOpt = new Option();
	with (newOpt) {
    if(AddWhat == null) {
      text = ' ----- ';
		  value = -1;
    } else {
		  text = AddWhat;
		  value = AddTo.options.length;
    }
	}
	with(eval('document.' + Form)) {
		AddTo.options[AddTo.options.length] = newOpt;
		AddTo.options[AddTo.options.length - 1].selected = 1;			
	}
}

/* odebere ITEM z COMBOBOX */
function RemoveItem(RemoveFrom, RemoveWhat, Form) {
	with (eval('document.' + Form)) {
		if(RemoveWhat != -1) {
			RemoveFrom.options[RemoveWhat] = null;
		}
	}
	RemoveFrom.options[0].selected = 1;	
}

/* smaze vsechny ITEM z COMBOBOX */
function ClearAllItem(WhatCombo, Form) {
	with(eval('document.' + Form)) {
		WhatCombo.length = 0;
	}
  AddItem(WhatCombo, null, Form);
}

/* nastavi SELECTED na ITEM z COMBOBOX */
function SetSelectItem(WhatCombo, WhatItem, Form) {
  with(eval('document.' + Form)) {
    WhatCombo.options[WhatItem].selected;
  }
}