// zakladni javascripty a nastaveni
window.defaultStatus = 'Citmed';

// barvy pro zmenu stylu (pozadi)
var katlist_td0 = '#E4EBFD';
var katlist_td1 = '#FAFDB0';
var weblist_tr0 = '#E4EBFD';
var weblist_tr1 = '#FAFDB0';
var data_tr0    = '#E4EBFD';
var data_tr1    = '#FAFDB0';
var data_ib0    = '#E4EBFD';
var data_ib1    = '#FAFDB0';

/*
 Odeslani seskladaneho formulare nebo url requestu.
 argumenty: pozadovane hodnoty, metoda, target, neodeslat

 Formular musi obsahovat pole VSS_SERV a request. hodnoty jsou v url formatu,
 prvni neni dvojice, ale jen hodntoa pro VSS_SERV. Pokud je VSS_SERV prazdne,
 ponecha se puvodni, u ostatnich se zapise prazdna. Nenalezene prvky jsou
 poskladany do request. Defaultne je metoda 'location'.
*/
function go() {
   var argv = go.arguments;
   if ((argv[1] != 'get') && (argv[1] != 'post')) argv[1] = 'location';
   return go2(null, argv[0], argv[1], argv[2], argv[3]);
}

/*
 Obdobne, ale jeste sesbira polozky z formulare (navic prvni argument).
 Polozky v requestu maji prednost pred temi ve formulari. Z formulare se
 neprebiraji prvky VSS_SERV a request, z requestu ano.
 Defaultne je metoda 'post'.
*/
function go2() {
   var argv = go2.arguments;
   var pairs = argv[1].split("&");
   var fs = document.forms[argv[0]];
   var fg = document.forms.go;
   var request = '';

   if (argv[2] == 'location')
      var locate = new Array();
   else if (argv[2] == 'get') {
      fg.method = 'get';
      if (argv[3]) fg.target = argv[3];
   } else {
      fg.method = 'post';
      if (argv[3]) fg.target = argv[3];
   }

   if (pairs[0] != '') {
      if (!locate) fg.VSS_SERV.value = unescape(pairs[0]);
      else locate.VSS_SERV = unescape(pairs[0]);
   }

   if (fs && (fs != fg)) for (var i = 0; i < fs.length; i++) {
      if ((fs[i].name == 'VSS_SERV') || (fs[i].name == 'request')) continue;
      if (fs[i].name == '') continue;

      // checkbox
      if (fs[i].type == 'checkbox')
         var value = (fs[i].checked ? '1' : '0');

      // nezvolena radio moznost
      else if ((fs[i].type == 'radio') && (!fs[i].checked))
         continue;

      // textova nebo radio hodnota
      else
         var value = fs[i].value;

      if (locate) {
         locate[fs[i].name] = value;
         continue;
      }

      if (fg[fs[i].name])
         fg[fs[i].name].value = value;
      else {
         request += ' {' + fs[i].name.replace(/([{}])/g, '\\$1') + '}';
         request += ' {' + value.replace(/([{}])/g, '\\$1') + '}';
      }
   }

   for (var i = 1; i < pairs.length; i++) {
      var pos = pairs[i].indexOf('=');
		if (pos == -1) {
	      var key = pairs[i];
         var value = '';
      } else {
			var key = pairs[i].substring(0,pos);
         var value = unescape(pairs[i].substring(pos+1));
      }
      if ((key == '') || (key == 'request')) continue;

      if (key == 'VSS_SERV') {
         if (!locate) fg.VSS_SERV.value = value;
         else locate.VSS_SERV = value;
         continue;
      }

      if (locate) {
         locate[key] = value;
         continue;
      }

      if (fg[key])
         fg[key].value = value;
      else {
         if (request) request += ' ';
         request += ' {' + key.replace(/([{}])/g, '\\$1') + '}';
         request += ' {' + value.replace(/([{}])/g, '\\$1') + '}';
      }
   }

   if (!locate) {
      if (request && fg.request) fg.request.value = request;
      if (!argv[4]) fg.submit();

   } else {
      request = '?VSS_SERV=';
      if (locate.VSS_SERV) {
         request += escape(locate.VSS_SERV);
         delete locate.VSS_SERV;
      } else
         request += escape(fg.VSS_SERV.value);

      for (var i = 0; i < fg.length; i++) {
         if ((fg[i].name == 'VSS_SERV') || (fg[i].name == 'request')) continue;
         if (fg[i].name == '') continue
         request += '&' + escape(fg[i].name) + '=';
         if (locate[fg[i].name] != null) {
            request += escape(locate[fg[i].name]);
            delete locate[fg[i].name];
         } else
            request += escape(fg[i].value);
      }

      for (var key in locate) {
         request += '&' + escape(key) + '=';
         request += escape(locate[key]);
      }

      if (!argv[4])
         document.location = request;
      else
         return request;
   }
}
