
  var paternData    = /^([20]{2}[0-9]{2})([0]{1}[1-9]{1}|[1]{1}[0,1,2]{1})([0,1,2]{1}[0-9]{1}|[3]{1}[0,1]{1})$/;
  var paternInteger = /^[0-9]+$/;
  var niePoprawnyFormat = 'Niepoprawny format';

 /**
  *
  * Funkcje sprawdzaj?ce
  *
  **/

  function obliczDobe(ileDni) {
    return parseInt(ileDni,10) * 86400000 ;
  }

  function czyPoprawnyFormat(data,patern)
  {
    if(!patern.test(data.value))
    {
      alert(niePoprawnyFormat);
      data.select();
      data.focus();
      return (false);
    }
    return (true);
  }

  function rozbijDate(data) {
    var iYear = data.substr(0,4) ;
    var iMonth = parseInt(data.substr(4,2),10) - 1;
    var iDay   = parseInt(data.substr(6,2),10);

    var iNewDate = new Date(iYear, iMonth, iDay);
    return iNewDate.getTime();
  }

  function scalDate(data)
  {
    var miesiac = data.getMonth()+1
    if(miesiac < 10 ) miesiac = '0'+miesiac;
    var dzien = data.getDate()
    if(dzien < 10 ) dzien = '0'+dzien;
    return data.getFullYear()+''+miesiac+''+dzien ;
  }

 /**
  *
  * Obliczanie dni
  *
  **/
  function przeliczStop()
  {
    check_ajax = false;
    var dCount = document.getElementById('date_count');
    if(dCount.value)
    {
      if(czyPoprawnyFormat(dCount,paternInteger))
      {
        var dStart = document.getElementById('date_start');
        if(czyPoprawnyFormat(dStart,paternData))
        {
          var newMkTime = rozbijDate(dStart.value);
          newMkTime = newMkTime + obliczDobe(dCount.value);
          var dStop = new Date(newMkTime);
          document.getElementById('date_stop').value = scalDate(dStop) ;
          zmienTlo();
        }
      }
    }
  }


  function przeliczCount() {
    check_ajax = false;

    var dStart = document.getElementById('date_start');
    var dStop  = document.getElementById('date_stop');

    if (document.getElementById('dv'+dStart.value))
      document.getElementById('dv'+dStart.value).style.background = "#0d9";

    if (dStart.value && dStop.value) {
      if (czyPoprawnyFormat(dStart,paternData) && czyPoprawnyFormat(dStop,paternData)) {
        var newMkStart = rozbijDate(dStart.value);  //alert(newMkStart);
        var newMkStop  = rozbijDate(dStop.value);   //alert(newMkStop);
        var dCount = Math.round(( newMkStop - newMkStart ) / 86400000) ;

        document.getElementById('date_count').value = parseInt(dCount,10);
        zmienTlo();
      }
    }
  }


  function zmienTlo()
  {
    czyscTlo();
    var tabela = document.getElementById('main_table');
    var tdeki  = tabela.getElementsByTagName('div');
    for(var i=0;i<tdeki.length;i++)
    {
      if(tdeki[i].id.substr(0,2) == 'dv' && tdeki[i].id.substr(2,6) != '_empty' )
      {
        var dStart = document.getElementById('date_start');
        var dStop  = document.getElementById('date_stop');
        if(tdeki[i].id.substr(2,8) >= dStart.value && tdeki[i].id.substr(2,8) <= dStop.value )
        {
          tdeki[i].style.background = "#0d9";
        }
      }
    }
  }

  function czyscTlo(){
    var tabela = document.getElementById('main_table');
    var tdeki  = tabela.getElementsByTagName('div');
    for(var i=0;i<tdeki.length;i++)
    {
      if(tdeki[i].id.substr(0,2) == 'dv')
      {
        tdeki[i].style.background = "none";
      }
    }

  }

//////////////////////////////////////////////////////////////////////////////////////////////////////

  function addClient()
  {
      HTML_AJAX.replace('target', rootPage+'/reservation/incAdd');
  }


  function newClient()
  {
    var email = document.getElementById('email').value ? document.getElementById('email').value : '0' ;
    var email2 = document.getElementById('email2').value ? document.getElementById('email2').value : '0' ;
    var password  = document.getElementById('password').value  ? document.getElementById('password').value  : '0' ;
    var password2  = document.getElementById('password2').value ? document.getElementById('password2').value : '0' ;
    var name1  = document.getElementById('name1').value ? document.getElementById('name1').value : '0' ;
    var name2  = document.getElementById('name2').value ? document.getElementById('name2').value : '0' ;
    var address1  = document.getElementById('address1').value ? document.getElementById('address1').value : '0' ;
    var address2  = document.getElementById('address2').value ? document.getElementById('address2').value : '0' ;
    var address3  = document.getElementById('address3').value ? document.getElementById('address3').value : '0' ;
    var address4  = document.getElementById('address4').value ? document.getElementById('address4').value : '0' ;
    var address5  = document.getElementById('address5').value ? document.getElementById('address5').value : '0' ;
    var address6  = document.getElementById('address6').value ? document.getElementById('address6').value : '0' ;
    var reminder_question = document.getElementById('reminder_question').value ? document.getElementById('reminder_question').value : '0' ;
    var reminder_answer = document.getElementById('reminder_answer').value ? document.getElementById('reminder_answer').value : '0' ;
    var prefered_language  = document.getElementById('prefered_language').value ? document.getElementById('prefered_language').value : '0' ;

    email = email.replace('/','___');
    name1 = name1.replace('/','___');
    password = password.replace('/','___');
    name2 = name2.replace('/','___');
    address1 = address1.replace('/','___');
    address2 = address2.replace('/','___');
    address3 = address3.replace('/','___');
    address4 = address4.replace('/','___');
    address5 = address5.replace('/','___');
    address6 = address6.replace('/','___');
    reminder_question = reminder_question.replace('/','___');
    reminder_answer = reminder_answer.replace('/','___');
    prefered_language = prefered_language.replace('/','___');


    var url =  rootPage+'/reservation/incAddOk/email/'
    +email
    +'/email2/'+email2
    +'/password/'+password
    +'/password2/'+password2
    +'/name1/'+name1
    +'/name2/'+name2
    +'/address1/'+address1
    +'/address2/'+address2
    +'/address3/'+address3
    +'/address4/'+address4
    +'/address5/'+address5
    +'/address6/'+address6
    +'/reminder_question/'+reminder_question
    +'/reminder_answer/'+reminder_answer
    +'/prefered_language/'+prefered_language;

    HTML_AJAX.replace('target',url);
  }


  function loginClient()
  {
    var email = document.getElementById('email');
    var password  = document.getElementById('password');

    var pattern = /^[^%/]{1,}$/;
    if(!pattern.test(email.value))
    {
      alert('Bad email format');
      return (false);
    }
    if(!pattern.test(password.value))
    {
      alert('Bad password format');
      return (false);
    }

    var patternEmail = /^[^@]{1,64}@[^@]{1,255}$/;
    if(!patternEmail.test(email.value))
    {
      alert('Bad email format');
      return (false);
    }

    if(password.value.length < 6 ){ alert('Password to short'); return}

    HTML_AJAX.replace('target', rootPage+'/reservation/incLogin/email/'+email.value+'/password/'+password.value);
  }

  function validate(ok)
  {
     if (ok == 1)
     document.getElementById('main').submit();
  }

  function checkDate()
  {
    var dateStart = document.getElementById('date_start');
    var dateStop  = document.getElementById('date_stop');
    HTML_AJAX.replace('target', '/'+appPath+'/modules/reservation/include/check.date.php?start='+dateStart.value+'&stop='+dateStop.value+'&id='+house_id);
  }

  function checkDateR()
  {
    var dateStart = document.getElementById('date_start');
    var dateStop  = document.getElementById('date_stop');
    HTML_AJAX.replace('target', '/'+appPath+'/modules/request/include/check.date.php?start='+dateStart.value+'&stop='+dateStop.value+'&id='+house_id);
  }

  function checkDate2()
  {
    var dateStart = document.getElementById('date_start');
    var dateStop  = document.getElementById('date_stop');
    HTML_AJAX.replace('target', '/'+appPath+'/modules/search/include/check.date.php?start='+dateStart.value+'&stop='+dateStop.value+'&id='+house_id);
  }

  function checkDateMulti()
  {
    var dateStart = document.getElementById('date_start');
    var dateStop  = document.getElementById('date_stop');
    HTML_AJAX.replace('target', '/'+appPath+'/modules/reservation/include/check.dateMulti.php?start='+dateStart.value+'&stop='+dateStop.value+'&id='+house_id+'&grupa='+grupa_id);
  }

  function checkDateRMulti()
  {
    var dateStart = document.getElementById('date_start');
    var dateStop  = document.getElementById('date_stop');
    HTML_AJAX.replace('target', '/'+appPath+'/modules/request/include/check.dateMulti.php?start='+dateStart.value+'&stop='+dateStop.value+'&id='+house_id+'&grupa='+grupa_id);
  }

  function checkDate2Multi()
  {
    var dateStart = document.getElementById('date_start');
    var dateStop  = document.getElementById('date_stop');
    HTML_AJAX.replace('target', '/'+appPath+'/modules/search/include/check.dateMulti.php?start='+dateStart.value+'&stop='+dateStop.value+'&id='+house_id+'&grupa='+grupa_id);
  }


  function insertDate(calDate,id)
  {
    check_ajax = false;
    var dateStart = document.getElementById('date_start');
    var dateStop  = document.getElementById('date_stop');

    if( calDate < dateStart.value ){
      dateStart.value = '';
      dateStop.value = '';
      czyscTlo();
    }

    if(dateStart.value.length  > 0 && dateStop.value.length > 0 ){
      dateStart.value = '';
      dateStop.value = '';
      czyscTlo();
    }

    if( dateStart.value.length < 8 || dateStart.value >= calDate ) dateStart.value = calDate;
    else dateStop.value = calDate;

    przeliczCount();

//     changeBackground(id.parentNode);
  }

  function clearDate()
  {
    check_ajax = false;

    var dateStart = document.getElementById('date_start');
    var dateStop  = document.getElementById('date_stop');
    var dateCount = document.getElementById('date_count');
    dateStart.value = '';
    dateStop.value = '';
    dateCount.value = '';
    czyscTlo();
  }



  function clearBackground()
  {
    for(var i = 0 ; i <= 125 ; i++)
    {
      if((i+1)%7 > 0 )
      document.getElementById('td'+i).style.background = '#fff';
      else
      document.getElementById('td'+i).style.background = '#eee';
    }
  }
