var timer_tooltip = '';
var timer_tooltip_content = '';

var error_date = true;
var error_time = true;
var error_count = true;

var logged = false;

var load_user_data_dotaz = 'Jmenujete se {|JMENO|} {|PRIJMENI|}?';

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}
function ltrim(stringToTrim) {
	return stringToTrim.replace(/^\s+/,"");
}
function rtrim(stringToTrim) {
	return stringToTrim.replace(/\s+$/,"");
}

function hide_error(){
   if(box = document.getElementById('msg_box_error')){
      box.style.display = 'none';
      box.innerHTML = '';
   }
}

function show_error(error){
   hide_error();
   if(error != '0'){
      if(box = document.getElementById('msg_box_error')){
         box.innerHTML = '<div class="mid"><p>'+error+'</p></div><div class="bottom"></div>';
         box.style.display = 'block';
      }
   }
}

function result_error(id){
   if(el = document.getElementById(id)){
      el.innerHTML = '&nbsp;<img src="/images/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/ico_good.png" class="ico" alt="" />';
      }
      else{
         el.innerHTML = '&nbsp;<img src="/images/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();
   }
}

function check_date(date){
   var so1 = new sack();
	so1.requestFile = 'http://www.goram.cz/cs/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 load_time(date){
   var so2 = new sack();
	so2.requestFile = 'http://www.goram.cz/cs/load-time';
	so2.method = 'GET';
	so2.setVar('date', date);
	so2.element = 'ajax_time';
	so2.onCompletion = function(){
      check_time(date);
   }
	so2.runAJAX('date='+date);
}

function check_time(date){
   var time = document.getElementById('form_time').value;
   var so3 = new sack();
	so3.requestFile = 'http://www.goram.cz/cs/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 load_count(date, time){
   var so4 = new sack();
   so4.requestFile = 'http://www.goram.cz/cs/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);
}

function check_count(date, time){
   var count = document.getElementById('form_count').value;
   var so5 = new sack();
	so5.requestFile = 'http://www.goram.cz/cs/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 = 'http://www.goram.cz/cs/check-card';
	so6.method = 'GET';
	so6.setVar('card', card);
	so6.onCompletion = function(){
	  result_status('validate_card', so6.response);
   }
	so6.runAJAX('card='+card);
}

function get_tooltip_content(date){
   var so7 = new sack();
	so7.requestFile = 'http://www.goram.cz/cs/get-tooltip-content';
	so7.method = 'GET';
	so7.setVar('date', date);
	so7.element = 'tooltip';
	so7.runAJAX('date='+date);
}

function hide_tooltip(){
   clearTimeout(timer_tooltip);
   clearTimeout(timer_tooltip_content);
   if(my_tooltip = document.getElementById('tooltip')){
      my_tooltip.style.display = 'none';
   }
}

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 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.top = (bunka.offsetTop - 100)+'px';
            my_tooltip.style.left = (bunka.offsetLeft + 72)+'px';
            my_tooltip.style.display = 'block';
         }
      }
   }, 500)
}

function reset_price(){
   if(price_el = document.getElementById('price')){
      price_el.innerHTML = '0';
   }
}

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 = 'http://www.goram.cz/cs/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 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 = 'http://www.goram.cz/cs/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);
	  }
	}
}

function get_error(){
   var so10 = new sack();
	so10.requestFile = 'http://www.goram.cz/cs/get-error';
	so10.method = 'GET';
	so10.element = 'msg_box_error';
	so10.onCompletion = function(){
      show_error(so10.response);
   }
	so10.runAJAX();
}
