var logged = false;


// *** chybove stavy


var error_date = true;
var error_time = true;
var error_count = true;


function get_error(){
   var so10 = new sack();
	so10.requestFile = '/cs/sim/get-error';
	so10.method = 'GET';
	so10.element = 'error_content';
	so10.onCompletion = function(){
      show_error(so10.response);
   }
	so10.runAJAX();
}

function show_error(error){
   hide_error();
   if(error != '0'){
      if(box = document.getElementById('msg_box_error')){
         if(cont = document.getElementById('error_content')){
            cont.innerHTML = error;
            box.style.display = 'block';
         }
      }
   }
}

function hide_error(){
   if(box = document.getElementById('msg_box_error')){
      if(cont = document.getElementById('error_content')){
         box.style.display = 'none';
         cont.innerHTML = '';
      }
   }
}


// ***



// *** validace formulare


function result_error(id){
   if(el = document.getElementById(id)){
      el.innerHTML = '&nbsp;<img src="/images/sim/ico_bad.png" class="ico" alt="" />';
   }
}

function result_status(id, status){
   if(el = document.getElementById(id)){
      if(status == '0'){
         el.innerHTML = '&nbsp;<img src="/images/sim/ico_good.png" class="ico" alt="" />';
      }
      else{
         el.innerHTML = '&nbsp;<img src="/images/sim/ico_bad.png" class="ico" alt="" />';
      }
   }
   if(id == 'validate_date'){
      error_date = (status == '0') ? false : true;
   }
   if(id == 'validate_time'){
      error_time = (status == '0') ? false : true;
   }
   if(id == 'validate_count'){
      error_count = (status == '0') ? false : true;
      get_price();
      get_error();
   }
}


// *** 



// *** nacteni obsahu do formulare


function load_time(date){
   var so2 = new sack();
	so2.requestFile = '/cs/sim/load-time';
	so2.method = 'GET';
	so2.setVar('date', date);
	so2.element = 'ajax_time';
	so2.onCompletion = function(){
      check_time(date);
   }
	so2.runAJAX('date='+date);
}

function load_count(date, time){
   var so4 = new sack();
   so4.requestFile = '/cs/sim/load-count';
	so4.method = 'GET';
	so4.setVar('time', time);
	so4.setVar('date', date);
	so4.element = 'ajax_count';
	so4.onCompletion = function(){
	  check_count(date, time);
   }
	so4.runAJAX('date='+date+'&time='+time);
}


// ***



// *** provereni obsahu do formulare


function check_date(date){
   
   if(logged == false){
      document.getElementById('msg_box_error_login').style.display = 'block';
   }
   else{
   
      document.getElementById('msg_box_error_login').style.display = 'none';
   
      var so1 = new sack();
   	so1.requestFile = '/cs/sim/check-date';
   	so1.method = 'GET';
   	so1.setVar('date', date);
   	so1.onError = function(){
   	  result_error('validate_date');
      }
   	so1.onCompletion = function(){
   	  result_status('validate_date', so1.response);
   	   load_time(date);
      }
   	so1.runAJAX('date='+date);
   	
   }
}

function check_time(date){
   var time = document.getElementById('form_time').value;
   var so3 = new sack();
	so3.requestFile = '/cs/sim/check-time';
	so3.method = 'GET';
	so3.setVar('time', time);
	so3.setVar('date', date);
	so3.onError = function(){
	  result_error('validate_time');
   }
	so3.onCompletion = function(){
	  result_status('validate_time', so3.response);
	  load_count(date, time);
   }
	so3.runAJAX('date='+date+'&time='+time);
}

function check_count(date, time){
   var count = document.getElementById('form_count').value;
   var so5 = new sack();
	so5.requestFile = '/cs/sim/check-count';
	so5.method = 'GET';
	so5.setVar('time', time);
	so5.setVar('date', date);
	so5.setVar('count', count);
	so5.onCompletion = function(){
	  result_status('validate_count', so5.response);
   }
	so5.runAJAX('date='+date+'&time='+time+'&count='+count);
}

function check_card(){
   var card = document.getElementById('form_card').value;
   var so6 = new sack();
	so6.requestFile = '/cs/sim/check-card';
	so6.method = 'GET';
	so6.setVar('card', card);
	so6.onCompletion = function(){
	  result_status('validate_card', so6.response);
   }
	so6.runAJAX('card='+card);
}


// ***



// *** registrace


var load_user_data_dotaz = 'Jmenujete se {|JMENO|} {|PRIJMENI|}?';

function show_user_data(data){
   if(data != '1' && data != '2'){
      prvky = data.split('|');
      var dotaz = load_user_data_dotaz;
      dotaz = dotaz.replace('{|JMENO|}', prvky['0']);
      dotaz = dotaz.replace('{|PRIJMENI|}', prvky['1']);
      odpoved = window.confirm(dotaz);
      if(odpoved == true){
         document.getElementById('login').value = prvky['3'];
         document.getElementById('jmeno').value = prvky['0'];
         document.getElementById('prijmeni').value = prvky['1'];
         document.getElementById('tel').value = prvky['2'];
         document.getElementById('mail').value = prvky['3'];
         document.getElementById('msg_box_error').style.display = 'none';
      }
      else{
         CloseWindow();
      }
   }
}

function load_user_data(cgf){
   var so9 = new sack();
	so9.requestFile = '/cs/sim/load-user-data';
	so9.method = 'GET';
	so9.setVar('cgf', cgf);
	so9.onCompletion = function(){
      show_user_data(so9.response);
   }
	so9.runAJAX('cgf='+cgf);
}

function check_cgf(){
   var cgf_1 = document.getElementById('cgf_number_1');
   var cgf_2 = document.getElementById('cgf_number_2');
   
   var cgf = cgf_1.value+'-'+cgf_2.value;
   
   var vyraz = new RegExp("^[0-9]{3}[-]{1}[0-9]{4}$");
	var result = cgf.search(vyraz);
	if(result == -1 && cgf != '-'){
	  cgf_1.style.borderColor = 'red';
	  cgf_2.style.borderColor = 'red';
	}
	else{
	  cgf_1.style.borderColor = '#C3C3C3';
	  cgf_2.style.borderColor = '#C3C3C3';
	  if(cgf != '-'){
	     load_user_data(cgf);
	  }
	}
}


// ***



// *** tooltip


var timer_tooltip = '';
var timer_tooltip_content = '';


function getPosition(e) {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    return cursor;
}

function get_tooltip_content(date){
   var so7 = new sack();
	so7.requestFile = '/cs/sim/get-tooltip-content';
	so7.method = 'GET';
	so7.setVar('date', date);
	so7.element = 'tooltip_content';
	so7.runAJAX('date='+date);
}

function show_tooltip(date, id){
   hide_tooltip();
   timer_tooltip_content = setTimeout(function(){
      get_tooltip_content(date);
   }, 100)
   timer_tooltip = setTimeout(function(){
      if(my_tooltip = document.getElementById('tooltip')){
         if(bunka = document.getElementById(id)){
            my_tooltip.style.bottom = (get_window_height() - bunka.offsetTop - 414)+'px';
            my_tooltip.style.left = (bunka.offsetLeft + 23)+'px';
            my_tooltip.style.display = 'block';
         }
      }
   }, 500)
}

function hide_tooltip(){
   clearTimeout(timer_tooltip);
   clearTimeout(timer_tooltip_content);
   if(my_tooltip = document.getElementById('tooltip')){
      my_tooltip.style.display = 'none';
   }
}


// ***



// *** cena


function get_price(){
   reset_price();
   if(error_date == false && error_time == false && error_count == false){
      if(price_el = document.getElementById('price')){
         
         date = document.getElementById('form_date').value;
         time = document.getElementById('form_time').value;
         count = document.getElementById('form_count').value;
         trener = (document.getElementById('trener_ano').checked);
         
         var so8 = new sack();
      	so8.requestFile = '/cs/sim/get-price';
      	so8.method = 'GET';
      	so8.setVar('date', date);
      	so8.setVar('time', time);
      	so8.setVar('count', count);
      	so8.setVar('trener', trener);
      	so8.onCompletion = function(){
      	  prvky = so8.response.split('|');
      	  document.rezervace.cena.value = prvky['0'];
      	  document.getElementById('price').innerHTML = prvky['0'];
      	  if(prvky['1'] == 'kr'){
      	     document.rezervace.kredit.value = '1';
      	     document.getElementById('kredit_nedostatek').style.display = 'none';
      	     document.getElementById('kredit_dostatek').style.display = 'block';
      	  }
      	  else if(prvky['1'] == 'kc'){
      	     document.rezervace.kredit.value = '0';
      	     document.getElementById('kredit_dostatek').style.display = 'none';
      	     document.getElementById('kredit_nedostatek').style.display = 'block';
      	  }
         }
      	so8.runAJAX('date='+date+'&time='+time+'&count='+count+'&trener='+trener);
      	
      	if(logged == true){
      	  document.rezervace.send_button.disabled = false;
      	  document.rezervace.send_button.className = 'btn';
      	}
      }
   }
   else{
      document.rezervace.send_button.disabled = true;
      document.rezervace.send_button.className = 'btn_disable';
   }
}

function reset_price(){
   if(price_el = document.getElementById('price')){
      price_el.innerHTML = '0';
   }
}


// ***

function get_window_height() {
  myHeight = 0;
  if( typeof( window.innerWidth ) == 'number' ) {
    myHeight = window.innerHeight;
  } else if( document.documentElement && ( document.documentElement.clientHeight ) ) {
    myHeight = document.documentElement.clientHeight;
  } else if( document.body && ( document.body.clientHeight ) ) {
    myHeight = document.body.clientHeight;
  }
  return myHeight;
}
