<!--
/* JavaSript - language */
var LANG          = new Array();

/* style */
var STYLE         = new Array();
STYLE['dir']      = 'style/';
STYLE['default']  = STYLE['dir'] + 'default/';


/* CFocus 
 * -------------------------------------------------------------------------- */
var CFOCUS_ID;

function CFocusO(ido, t, error_fc) 
{
  var ido, t;
  
  if (ido) {
    if (t && ido.id != CFOCUS_ID) {
      if (document.getElementById(CFOCUS_ID)) {
        return false;
      }       
    }         
    if (ido.id) {
      CFOCUS_ID = ido.id;
    }
    
    var ido_tagName = ido.tagName;
    
    // input
    if (ido_tagName.toLowerCase() == 'input') {

      try {
        ido.focus();
        ido.select();      
      } catch (oError) {
        try {
          error_fc(ido);
        } catch (oError) {
          return false;
        }
      } 
      
    }
    else {
      try {
        ido.focus();      
      } catch (oError) {
        try {
          error_fc(ido);
        } catch (oError) {
          return false;
        }
      }
    }  
    
    return true;
  }
  
  return false;  
}

function CFocus(id, t, error_fc) 
{
  var id, t, error_fc;  
  return CFocusO(document.getElementById(id), t, error_fc); 
}

function CFocusB() 
{
  return CFocusO(document.getElementById(CFOCUS_ID)); 
}
/* -------------------------------------------------------------------------- */


/* AJAX REGUEST
 * -------------------------------------------------------------------------- */
LANG['ajax_no_url']     = 'AJAX: parametr URL není nastaven!';
LANG['ajax_no_browser'] = 'AJAX: Lituji, ale váš prohlížeč nepodporuje objekt XmlHttpRequest :-(';
LANG['ajax_no_process'] = 'AJAX: Požadavek nelze zpracovat!';
LANG['ajax_no_error']   = 'AJAX: Nastala chyba v přenosu !';

var AJAX_OXMLHTTP         = false;
var AJAX_OXMLHTTP_VERSION = '';

function AJAX_makeRequest(url, param, loading_txt, loading_id) 
{
  var url, param, loading_txt, loading_id;
  this.request     = false;

  // když url neexistuje
  if (!url) {
    alert(LANG['ajax_no_url']);
    return false;
  }
  
  // parametry AJAX
  if (param) {
    param = param + '&_ajax=1' + (PSID ? '&' + PSID : '');
  }
  else {
    param = '_ajax=1' + (PSID ? '&' + PSID : '');  
  }  
    
  AJAX_OXMLHTTP         = false;
  AJAX_OXMLHTTP_VERSION = '';

  if (window.XMLHttpRequest) {  
    AJAX_OXMLHTTP_VERSION = 'window.XMLHttpRequest';
    this.request = new XMLHttpRequest();
  }
  else if (window.ActiveXObject) {  
    AJAX_OXMLHTTP_VERSION = 'Microsoft.XMLHTTP';
    this.request = new ActiveXObject("Microsoft.XMLHTTP");
  }
     
  if (!this.request) {
    return false;
  }
       
  this.request.open('POST', url, true);
  this.request.setRequestHeader('Content-Type', 
                                'application/x-www-form-urlencoded');
  // this.request.send(param);
    
  this.loading = function(s) {
    // s
    if (s == '' || s == 0 || s == 4) {
      if (loading_id) {
        offLoading(loading_id);
      }      
      if (s == '' || s == 0) {
        ErrAlert(LANG['onloading_error'] + ' (' + bname + ')');
      }    
    }  
  }
  
  this.send = function(p) {
    var p;
    if (!p) {
      p = param;
    }
    if (!this.request.send(p)) {
      /* start loading */
      if (loading_id) {
        if (this.request.readyState == 1) {
          onLoading(loading_txt, loading_id);        
        }
        else {
          offLoading(loading_id);
        } 
      }
    }
  }  
  
  return true;  
}
/* -------------------------------------------------------------------------- */


/* menu katalog */
LANG['reg_menu_dir_loading'] = 'Načítám ...';

function menu_dir(event, obj, dir)
{
  var obj, dir, obj_t;
  
  event.cancelBubble = true;
  
  if (obj && dir) {
    obj_t = obj.getElementsByTagName('ul');
    if (obj_t[0]) {
      if (obj_t[0].style.display == 'none') {
        obj_t[0].style.display = '';
        obj.className = 'menu_dc';
      }
      else {
        obj_t[0].style.display = 'none';
        obj.className = 'menu_d';
      }
    }
    else {
      obj.className = 'menu_dc';        
      menu_load(obj, dir);
    }  
  }  
}

function menu_file(event, obj, dir)
{
  var obj, dir, obj_t;
  
  event.cancelBubble = true;
  
  return false;
}


/* Form help */
function form_help(obj)
{
  var ido;
  if (obj) {
    ido = obj.parentNode.getElementsByTagName("input");
    if (ido[0]) {
      if (ido[0].title) {
        alert(ido[0].title);
        return true;
      } 
    }
    ido = obj.parentNode.getElementsByTagName("select");
    if (ido[0]) {
      if (ido[0].title) {
        alert(ido[0].title);
        return true;
      } 
    }
    ido = obj.parentNode.getElementsByTagName("textarea");
    if (ido[0]) {
      if (ido[0].title) {
        alert(ido[0].title);
        return true;
      } 
    }
  }
  
  return false;
}

/* str_replace */
function str_replace(a,b,txt)
{   
  var a,b;
  var txt, result = '';
   
  var txt_split = txt.split(a);
  var pocet_split = txt_split.length;
  if (pocet_split > 1) {
    for(a=0; a<pocet_split; a++) {
      result += txt_split[a] + (pocet_split-1==a ? '' : b);   
    }
  }
  else {
    result = txt;
  }

  return result;
}

/* form_maxlength */
function form_maxlength(event, max) 
{
  var str, max;
  
  if (!event) {
    event = window.event;
  }
  if (!event.target) {    
    event.target = event.srcElement;
  }
  str = event.target.value;
  
  if (event.keyCode != 27 && event.keyCode != 13 
   && event.keyCode != 37
   && event.keyCode != 38
   && event.keyCode != 39
   && event.keyCode != 40
   && event.keyCode != 8
   && event.keyCode != 46
   && event.keyCode != 16
   && event.keyCode != 17
   && event.keyCode != 18
   && event.keyCode != 9
   && event.keyCode != 20
   && event.keyCode != 116
   && event.keyCode != 35
   && event.keyCode != 36
   && event.keyCode != 45
   && event.keyCode != 33
   && event.keyCode != 34
   && event.keyCode != 19) {
    return form_maxlength_check(event.target, max);    
  }
  else {
    form_maxlength_check(event.target, max);
  }
  
  return true;
}

/* form_maxlength_info */
function form_maxlength_info(event, id) 
{
  var str, id;
  if (!event) {
    event = window.event;
  }
  if (!event.target) {    
    event.target = event.srcElement;
  }
  str = event.target.value;
  
  if (event.keyCode != 13) {
    var info = document.getElementById(id);
    if (info) {
      str = str_replace('\r\n', '', str);   
      info.innerHTML = str.length; 
    }    
  }
  
  return true;
}

/* form_maxlength_info */
function form_maxlength_check(obj, max) 
{
  var obj, max;
  
  if (obj && max > 0) {
    var str = obj.value;
    str = str_replace('\r\n', '', str);
    if (str.length == max) {
      return false;
    }
    if (str.length > max) {
      obj.value = str.substring(0, max);
      alert('POZOR: překročil(a) jste maximální možný počet znaků ' + max + ' !\nAutomaticky umazáno !');
      return false;
    }
  }
  
  return true;
}

/* get_disable */
function get_disabled(ido, tag, d) 
{
  var ido, tag, d;
  
  if (ido && tag) {
    var ido_p = ido.getElementsByTagName(tag);
    for(var a=0;a<ido_p.length;a++) {      
      ido_p[a].disabled = d;        
    }
    return true; 
  } 
  return false 
}


/* kalendar_kurzor */
function kalendar_kurzor(ido, b)
{
  var ido, b;
  if (ido) {
    var tagn = ido.tagName.toLowerCase();
    if (tagn == 'td') {
      var tagn = ido.parentNode.parentNode.tagName.toLowerCase();      
      if (tagn == 'tbody') {
        if (b) {
          ido.style.backgroundColor = '#CCFFCC';
        }
        else {
          ido.style.backgroundColor = '';  
        }  
      }
    }
    else if (tagn == 'div') {
      var tagn = ido.parentNode.parentNode.parentNode.tagName.toLowerCase();      
      if (tagn == 'tbody') {
        if (b) {
          ido.parentNode.style.backgroundColor = '#CCFFCC';
        }
        else {
          ido.parentNode.style.backgroundColor = '';  
        }  
      }
    }
  }  
}

/* cal 
 * -------------------------------------------------------------------------- */
var day;
var month;
var year;
var hour;
var minute;
var second;
var CAL_OBJ;
var CAL_IDO;
var CAL_TYPE  = 'date';
var CAL_SEP   = ';';

LANG['cal_title'] = 'Kalendář';

function cal_formatNum2(i, valtype) 
{
  if (i !== '') {
    var i = i.toString();    
    f = ((i.length < 2 && i < 10) ? '0' : '') + i;
    if (valtype && valtype != '') {
        switch(valtype) {
            case 'month':
                f = (f > 12 ? 12 : f);
                break;

            case 'day':
                f = (f > 31 ? 31 : f);
                break;

            case 'hour':
                f = (f > 24 ? 24 : f);
                break;

            default:
            case 'second':
            case 'minute':
                f = (f > 59 ? 59 : f);
                break;
        }
    }
    
    return f;
  }   

  return i;
}

function cal_formatNum4(i) 
{
    return (i < 1000 ? i < 100 ? i < 10 ? '000' : '00' : '0' : '') + i;
}

function cal_open(e, type) 
{    
  var e, type;
      
  if (!e.target) {    
    e.target = e.srcElement;
  }
  var ido = e.target;
  
  var ido_p = ido.parentNode.getElementsByTagName('input');
  if (ido_p[0]) {
    CAL_IDO = ido_p[0];
  }
  else {
    return false;
  }
  
  CAL_TYPE = type;
    
  // velikost okna
  var x = 250, y = 270;
  var wx = e.clientX;
  var wy = e.clientY;  
  
  var back_hodnota = CAL_IDO.value;;
  var mydialog     = new Object();
  mydialog.hodnota = CAL_IDO.value;
  mydialog.typ     = CAL_TYPE;  
  if (mydialog = window.showModalDialog('calbox.php', mydialog, "status:no; resizable:no; center:yes; help:no; minimize:no; maximize:no; border:thin; dialogTop:"+wy+"px; dialogLeft:"+wx+"px; dialogWidth:"+x+"px; dialogHeight:"+y+"px")) {
    CAL_IDO.value = mydialog.hodnota;
    var ido_p = ido.parentNode.parentNode.getElementsByTagName('input');
    if (ido_p[2]) {
      if (ido_p[2].value == back_hodnota || ido_p[2].value == '') {
        ido_p[2].value = mydialog.hodnota;  
      }
    }
    CFocusO(CAL_IDO);    
  }
}

function cal_value(value)
{
  var value;
  /* Called for first time */        
  if (value) {
    if (CAL_TYPE == 'datetime' || CAL_TYPE == 'date') {
      if (CAL_TYPE == 'datetime') {
          parts   = value.split(' ');
          value   = parts[0];

          if (parts[1]) {
              time    = parts[1].split(':');
              hour    = parseInt(time[0],10);
              minute  = parseInt(time[1],10);
              second  = parseInt(time[2],10);
          }
      }              
      date        = value.split(".");
      day         = parseInt(date[0],10);
      month       = parseInt(date[1],10) - 1;
      year        = parseInt(date[2],10);
    } else { 
      year        = parseInt(value.substr(0,4),10);
      month       = parseInt(value.substr(4,2),10) - 1;
      day         = parseInt(value.substr(6,2),10);
      hour        = parseInt(value.substr(8,2),10);
      minute      = parseInt(value.substr(10,2),10);
      second      = parseInt(value.substr(12,2),10);
    }
  }
}


LANG['cal_init_today'] = 'Dnes';
function cal_init() 
{ 
  dt = new Date();
  if (isNaN(year) || isNaN(month) || isNaN(day) || day == 0) {
    if (isNaN(year)) {
      year    = dt.getFullYear();
    }
    if (isNaN(month)) {
      month   = dt.getMonth();
    }
    if (isNaN(day)) {
      day     = dt.getDate();
    }
  }
  
  if (isNaN(hour) || isNaN(minute) || isNaN(second)) {
    if (isNaN(hour)) {
      hour    = '';
    }
    if (isNaN(minute)) {
      minute  = '';
    }
    if (isNaN(second)) {
      second  = '';
    }
  }

  /* Moving in calendar */
  if (month > 11) {
      month = 0;
      year++;
  }
  if (month < 0) {
      month = 11;
      year--;
  }  
  
  str = "<center>";
  str += '<form method="NONE" onsubmit="return false">';

  //heading table
  str += '<table class="cal"><tr><td>';  
  str += '<button class="cal" onclick="month--; cal_init();">&laquo;</button>';
  str += '<select class="cal" id="select_month" name="monthsel" onchange="month = parseInt(document.getElementById(\'select_month\').value); cal_init();">';
  for (i =0; i < 12; i++) {
      if (i == month) selected = ' selected="selected"';
      else selected = '';
      str += '<option value="' + i + '" ' + selected + '>' + month_names[i] + '</option>';
  }
  str += '</select>';
  str += '<button class="cal" onclick="month++; cal_init();">&raquo;</button>';
  str += '</td><td>';
  str += '<button class="cal" onclick="year--; cal_init();">&laquo;</button>';
  str += '<select class="cal" id="select_year" name="yearsel" onchange="year = parseInt(document.getElementById(\'select_year\').value); cal_init();">';
  for (i = year - 25; i < year + 25; i++) {
      if (i == year) selected = ' selected="selected"';
      else selected = '';
      str += '<option value="' + i + '" ' + selected + '>' + i + '</option>';
  }
  str += '</select>';
  str += '<button class="cal" onclick="year++; cal_init();">&raquo;</button>';
  str += '</td></tr></table>';

  str += '<table class="cal"><tr>';
  for (i = 0; i < 7; i++) {
      str += "<td class=\"cal_t\">" + day_names[i] + "</td>";
  }
  str += "</tr>";

  var firstDay = new Date(year, month, 1).getDay();
  var lastDay = new Date(year, month + 1, 0).getDate();
  if (firstDay == 0){firstDay = "7";}
  str += "<tr>";

  dayInWeek = 0;
  for (i = 1; i < firstDay; i++) {
      str += "<td class=\"cal_disable\">&nbsp;</td>";
      dayInWeek++;
  }
  for (i = 1; i <= lastDay; i++) {
    if (dayInWeek == 7) {
        str += "</tr><tr>";
        dayInWeek = 0;
    }

    dispmonth = 1 + month;

    if (CAL_TYPE == 'datetime' || CAL_TYPE == 'date') {
        actVal = cal_formatNum2(i, 'day') + "." + cal_formatNum2(dispmonth, 'month') + "." + cal_formatNum4(year);
    } else {
        actVal = "" + cal_formatNum4(year) + cal_formatNum2(dispmonth, 'month') + cal_formatNum2(i, 'day');
    }
    if (i == day) {
        style = 'cal_selected';
    } else {
        style = 'cal';
    }
    str += "<TD class=\"" + style + "\" onclick=\"cal_returnDate('" + actVal + "');cal_close()\" id=\"cal_id_"+i+"\">" + i + "</TD>"
    dayInWeek++;
  }
  
  for (i = dayInWeek; i < 7; i++) {        
    str += "<td class=\"cal_disable\">&nbsp;</td>";
  }

  str += "</tr></table>";

  // Should we handle time also?
  if (CAL_TYPE != 'date') {
      // str = '';
      str += '<input tabindex="90001" class="pole1" id="cal_hour"    type="text" size="2" maxlength="2" onblur="this.value=cal_formatNum2(this.value, \'hour\')" value="' + cal_formatNum2(hour, 'hour') + '">:';
      str += '<input tabindex="90002" class="pole1" id="cal_minute"  type="text" size="2" maxlength="2" onblur="this.value=cal_formatNum2(this.value, \'minute\')" value="' + cal_formatNum2(minute, 'minute') + '">:';
      str += '<input tabindex="90003" class="pole1" id="cal_second"  type="text" size="2" maxlength="2" onblur="this.value=cal_formatNum2(this.value, \'second\')" value="' + cal_formatNum2(second, 'second') + '">';
      str += "<button type=\"button\" onclick=\"cal_returnDate('');cal_close()\">OK</button>";
      
  } 
  
  str += "<button type=\"button\" onclick=\"cal_returnDate('" + dt.getDate() + "." + (dt.getMonth()+1) + "." + dt.getFullYear() + "');cal_close()\">" + LANG['cal_init_today'] + " (" + dt.getDate() + "." + (dt.getMonth()+1) + "." + dt.getFullYear() + ")</button>"
      +  "</form>";
      +  "</center>";
  
  CAL_OBJ.innerHTML = str; 
}

function cal_returnDate(d) 
{
  var d;
  
  if (!d) {
    d = cal_formatNum2(day, 'day') + '.' + cal_formatNum2(month, 'month')  + '.' + cal_formatNum4(year, 'year');   
  }
  
  txt = d;
  if (CAL_TYPE != 'date') {
    // need to get time
    h = document.getElementById('cal_hour').value;
    m = document.getElementById('cal_minute').value;
    s = document.getElementById('cal_second').value;
    if (h!=='' || m!=='' || s!=='') {
      txt += ' ' + (h==='' ? '00' : cal_formatNum2(h, 'hour')) + ':' + (m==='' ? '00' : cal_formatNum2(m, 'minute')) + ':' + (s==='' ? '00' : cal_formatNum2(s, 'second'));
    }      
  }
  
  var val = myObject.hodnota.split(CAL_SEP);
  var c = val.length-1;    
  if (c > 0 && !val[c]) {
    myObject.hodnota += txt;
  }
  else {
    myObject.hodnota = txt;      
  }
  window.returnValue = myObject;
  window.close();
}

var month_names = new Array("Ledna","Února","Března","Dubna","Května","Června","Července","Srpna","Září","Října","Listopadu","Prosince");
var day_names   = new Array("Po","Út","St","Čt","Pá","So","Ne");
/* -------------------------------------------------------------------------- */ 

function pridat_termin(id)
{
  var id;
  var ido = document.getElementById(id);
  if (ido) {
    var box = document.createElement("div");
        box.className = "form_b";
        box.innerHTML = '  <INPUT type="hidden" name="datum_id[]" value="">'
                      + '  <DIV class="form_p">'
                      + '    <LABEL class="block">Datum od</LABEL>'
                      + '    <INPUT class="datum" name="datum_od[]" maxlength="19" value="" onblur="this.value=date_result(this.value);">'
                      + '    <IMG class="calbox" src="style/default/images/calbox.png" onclick="cal_open(event, \'datetime\')" alt="Kalendář" title="Kalendář">'
                      + '  </DIV>'
                      + '  <DIV class="form_p">'
                      + '    <LABEL class="block">Datum do</LABEL>'
                      + '    <INPUT class="datum" name="datum_do[]" maxlength="19" value="" onblur="this.value=date_result(this.value);">'
                      + '    <IMG class="calbox" src="style/default/images/calbox.png" onclick="cal_open(event, \'datetime\')" alt="Kalendář" title="Kalendář">'
                      + '  </DIV>'
                      + '  <DIV class="form_p">'
                      + '    <IMG class="caldel" src="style/default/images/caldel.png" onclick="smazat_termin(this)" alt="Smazat termín" title="Smazat termín">'
                      + '  </DIV>';
    ido.appendChild(box);
  } 
}

function smazat_termin(ido)
{
  var ido;
  if (ido) {
    var ido_t = ido.parentNode.parentNode;
    if (ido_t) {
      ido_t.parentNode.removeChild(ido_t); 
    }
  }  
}

window.onload = function()
{
  var idkal = document.getElementById('kalendar');
  if (idkal) {
    idkal.onmouseover = function(event) {
      var e;
      if (!event) {
        e = window.event;
      }
      else {
        e = event;
      }
      // id objektu
      if (!e.target) {    
        e.target = e.srcElement;
      }
      kalendar_kurzor(e.target, 1);  
    }
    idkal.onmouseout = function(event) {
      var e;
      if (!event) {
        e = window.event;
      }
      else {
        e = event;
      }
      // id objektu
      if (!e.target) {    
        e.target = e.srcElement;
      }
      kalendar_kurzor(e.target, 0);  
    }
  }
}

/**
 * date_result 
 * -------------------------------------------------------------------------- */
function date_result(str, t, tp) 
{
  var str, t, tp;
  var y, m, d, h, i, s;
  var sdate = new Date();
  var sy = sdate.getFullYear(), sm = sdate.getMonth()+1, sd = sdate.getDate(), sh = sdate.getHours(), si = sdate.getMinutes(), ss = sdate.getSeconds();
  
  if (str) {  
    str = str_replace(',', '.', str);

    var str_s = str.split(' ');  
    // date time
    if (str_s[0] && str_s[1]) {
      var rdate = date_result(str_s[0], t, 'd');
      var rtime = date_result(str_s[1], t, 't');
       
      if (rdate && rtime) {
        return rdate + ' ' + rtime; 
      }
      if (rdate) {
        return rdate; 
      }
      if (rtime) {
        return rtime; 
      }
      
      var rdate = date_result(str_s[1], t, 't');
      var rtime = date_result(str_s[0], t, 'd');
       
      if (rdate && rtime) {
        return rdate + ' ' + rtime; 
      }
      if (rdate) {
        return rdate; 
      }
      if (rtime) {
        return rtime; 
      }  
    }
    
    // date
    if (str_s[0].indexOf('-') >= 0) {
      var str_t = str_s[0].split('-');
      str_t[0] = (str_t[0] ? str_t[0] : sd)*1;
      str_t[1] = (str_t[1] ? str_t[1] : sm)*1;
      str_t[2] = (str_t[2] ? str_t[2] : sy)*1;
      if (str_t[2] < 100) {
        str_t[2] = 2000+str_t[2];
      }      
      if ((str_t[0] <= 31 && str_t[0] > 0) && (str_t[1] <= 12 && str_t[1] > 0) && (str_t[2] > 0  && str_t[2] <= 2500)) {
        y = str_t[2];
        m = str_t[1];
        d = str_t[0];        
        
        if (t == 'sql') {
          return y + '-' + m + '-' + d;
        }        
        return d + '.' + m + '.' + y;
      } 
    }
    if (str_s[0].indexOf('-') >= 0) {
      var str_t = str_s[0].split('-');
      str_t[0] = (str_t[0] ? str_t[0] : sy)*1;
      str_t[1] = (str_t[1] ? str_t[1] : sm)*1;
      str_t[2] = (str_t[2] ? str_t[2] : sd)*1;
      if (str_t[0] < 100) {
        str_t[0] = 2000+str_t[0];
      }      
      if ((str_t[0] > 0  && str_t[0] <= 2500) && (str_t[1] <= 12 && str_t[1] > 0) && (str_t[2] <= 31 && str_t[2] > 0)) {
        y = str_t[0];
        m = str_t[1];
        d = str_t[2];        
        
        if (t == 'sql') {
          return y + '-' + m + '-' + d;
        }        
        return d + '.' + m + '.' + y;
      } 
    }    
    if (str_s[0].indexOf('.') >= 0) {
      var str_t = str_s[0].split('.');
      str_t[0] = (str_t[0] ? str_t[0] : sd)*1;
      str_t[1] = (str_t[1] ? str_t[1] : sm)*1;
      str_t[2] = (str_t[2] ? str_t[2] : sy)*1;
      if (str_t[2] < 100) {
        str_t[2] = 2000+str_t[2];
      } 
      if ((str_t[0] <= 31 && str_t[0] > 0) && (str_t[1] <= 12 && str_t[1] > 0) && (str_t[2] > 0  && str_t[2] <= 2500)) {
        y = str_t[2];
        m = str_t[1];
        d = str_t[0];        
        
        if (t == 'sql') {
          return y + '-' + m + '-' + d;
        }        
        return d + '.' + m + '.' + y;
      } 
    }
    if (str_s[0].indexOf('.') >= 0) {
      var str_t = str_s[0].split('.');
      str_t[0] = (str_t[0] ? str_t[0] : sy)*1;
      str_t[1] = (str_t[1] ? str_t[1] : sm)*1;
      str_t[2] = (str_t[2] ? str_t[2] : sd)*1;
      if (str_t[0] < 100) {
        str_t[0] = 2000+str_t[0];
      }       
      if ((str_t[0] > 0  && str_t[0] <= 2500) && (str_t[1] <= 12 && str_t[1] > 0) && (str_t[2] <= 31 && str_t[2] > 0)) {
        y = str_t[0];
        m = str_t[1];
        d = str_t[2];        
        
        if (t == 'sql') {
          return y + '-' + m + '-' + d;
        }        
        return d + '.' + m + '.' + y;
      } 
    }
    if (str_s[0].indexOf(',') >= 0) {
      var str_t = str_s[0].split(','); 
      str_t[0] = (str_t[0] ? str_t[0] : sd)*1;
      str_t[1] = (str_t[1] ? str_t[1] : sm)*1;
      str_t[2] = (str_t[2] ? str_t[2] : sy)*1;  
      if (str_t[2] < 100) {
        str_t[2] = 2000+str_t[2];
      }   
      if ((str_t[0] <= 31 && str_t[0] > 0) && (str_t[1] <= 12 && str_t[1] > 0) && (str_t[2] > 0  && str_t[2] <= 2500)) {
        y = str_t[2];
        m = str_t[1];
        d = str_t[0];        
        
        if (t == 'sql') {
          return y + '-' + m + '-' + d;
        }        
        return d + '.' + m + '.' + y;
      } 
    }
    if (str_s[0].indexOf(',') >= 0) {
      var str_t = str_s[0].split(',');
      str_t[0] = (str_t[0] ? str_t[0] : sy)*1;
      str_t[1] = (str_t[1] ? str_t[1] : sm)*1;
      str_t[2] = (str_t[2] ? str_t[2] : sd)*1;
      if (str_t[0] < 100) {
        str_t[0] = 2000+str_t[0];
      }      
      if ((str_t[0] > 0  && str_t[0] <= 2500) && (str_t[1] <= 12 && str_t[1] > 0) && (str_t[2] <= 31 && str_t[2] > 0)) {
        y = str_t[0];
        m = str_t[1];
        d = str_t[2];        
        
        if (t == 'sql') {
          return y + '-' + m + '-' + d;
        }        
        return d + '.' + m + '.' + y;
      } 
    }
        
            
    // time
    if (str_s[0].indexOf(':') >= 0 || tp == 't') {
      var str_t = str_s[0].split(':'); 
      str_t[0] = (str_t[0] ? str_t[0] : 0)*1;
      str_t[1] = (str_t[1] ? str_t[1] : 0)*1;
      str_t[2] = (str_t[2] ? str_t[2] : 0)*1;     
      if ((str_t[0] <= 24 && str_t[0] >= 0) && (str_t[1] <= 59 && str_t[1] >= 0) && (str_t[2] <= 59 && str_t[2] >= 0)) {
        h = str_t[0];
        i = str_t[1];
        s = str_t[2];        
        return h + ':' + i + ':' + s;
      } 
    }
    
    // neoddělené
    if (str_s[0]) {
      y = str_s[0].substr(4, 4);
      m = str_s[0].substr(2, 2);
      d = str_s[0].substr(0, 2);
      
      y = (y ? y : sy)*1;
      m = (m ? m : sm)*1;
      d = (d ? d : sd)*1;
      
      if (y < 100) {
        y = 2000+y;
      }
      
      if ((d <= 31 && d > 0) && (m <= 12 && m > 0) && (y > 0  && y <= 2500)) {
        if (t == 'sql') {
          return y + '-' + m + '-' + d;
        }        
        return d + '.' + m + '.' + y;
      }
    }        
  }
  
  return str;    
}
/* -------------------------------------------------------------------------- */
// -->
