var smscode = null;

function typChange()
{
	if($('#vuz_typ').val() == '0' || $('#vuz_typ').val() == '2' || $('#vuz_typ').val() == '5' || $('#vuz_typ').val() == '7' || $('#vuz_typ').val() == '9') {
    $('#vuz_vykon-label').css('display', '');
    $('#vuz_vykon-element').css('display', '');
    $('#vuz_vykon-help').css('display', '');
	}
	else {
    $('#vuz_vykon-label').css('display', 'none');
    $('#vuz_vykon-element').css('display', 'none');
    $('#vuz_vykon-help').css('display', 'none');
	}
	
	switch($('#vuz_typ').val()) {
	  case '0':
	  case '1':
	  case '9':
	    $('#vuz_objem-label').css('display', '');
      $('#vuz_objem-element').css('display', '');
      $('#vuz_objem-help').css('display', '');
      $('#vuz_podtyp-label').css('display', 'none');
      $('#vuz_podtyp-element').css('display', 'none');
	    break;
	  case '2':
	  case '3':
	  case '4':
      $('#vuz_objem-label').css('display', 'none');
      $('#vuz_objem-element').css('display', 'none');
      $('#vuz_objem-help').css('display', 'none');
      $('#vuz_podtyp-label').css('display', '');
      $('#vuz_podtyp-element').css('display', '');
      $('#vuz_podtyp')[0].innerHTML = '';
	    switch($('#vuz_typ').val()) {
        case '2':
          $(new Option('od 3,5 do 12 t', '2.2')).appendTo('#vuz_podtyp');
          $(new Option('nad 12 t', '2.3')).appendTo('#vuz_podtyp');
          $('#vuz_podtyp')[0].selectedIndex = $('#stored-vuz_podtyp').val() == '2.3' ? 1 : 0;
          break;
      case '3':
          $(new Option('do 5 t', '3.1')).appendTo('#vuz_podtyp');
          $(new Option('nad 5 t', '3.2')).appendTo('#vuz_podtyp');
          $(new Option('trolejbus', '3.3')).appendTo('#vuz_podtyp');
          $(new Option('autobus MHD', '3.4')).appendTo('#vuz_podtyp');
          $('#vuz_podtyp')[0].selectedIndex = $('#stored-vuz_podtyp').val() == '3.2' ? 1 : ($('#stored-vuz_podtyp').val() == '3.3' ? 2 : ($('#stored-vuz_podtyp').val() == '3.4' ? 3 : 0));
          break;
        case '4':
          $(new Option('do 750 kg', '4.1')).appendTo('#vuz_podtyp');
          $(new Option('nad 750 kg', '4.2')).appendTo('#vuz_podtyp');
          $(new Option('návěs k tahači', '4.3')).appendTo('#vuz_podtyp');
          $('#vuz_podtyp')[0].selectedIndex = $('#stored-vuz_podtyp').val() == '4.2' ? 1 : ($('#stored-vuz_podtyp').val() == '4.3' ? 2 : 0);
          break;
	    }
	    break;
	  case '5':
	  case '6':
	  case '7':
	  case '8':
      $('#vuz_objem-label').css('display', 'none');
      $('#vuz_objem-element').css('display', 'none');
      $('#vuz_objem-help').css('display', 'none');
      $('#vuz_podtyp-label').css('display', 'none');
      $('#vuz_podtyp-element').css('display', 'none');
	    break;
	}
}

function fillPSC()
{
  $.ajax({ type: 'GET',
            url: '/ajax/psc.php?psc=' + $('#psc')[0].value,
            success: function(responseText) {
              eval('var towns = ' + responseText);
              var i,si = 0;
              $('#mesto')[0].innerHTML = '';
              if(towns.length == 0) {
                $('#mesto')[0].options[0] = new Option($('#psc')[0].value.length > 4 ? "PSČ nebylo nalezeno" : "Vyplňte prosím PSČ", '');
              }
              if(towns.length > 1) {
                $('#mesto')[0].options[0] = new Option("Vyberte", '');
              }
              for(i = 0;i < towns.length;i++) {
                if(towns[i] == $('#stored-mesto')[0].value) {
                  si = $('#mesto')[0].length;
                }
                $('#mesto')[0].options[$('#mesto')[0].length] = new Option(towns[i], towns[i]);
              }
              $('#mesto')[0].selectedIndex = si;
            },
            error: function(responseText) {
            }
  });
}

function addError(element, message)
{
  element.after('<ul class="errors"><li>' + message + '</li></ul>');
}

function validateRange(element, r1, r2, message)
{
  if(element.val() < r1 || element.val() > r2) {
    addError(element, message);
    return false;
  }
  return true;
}

function validateNumeric(element, message)
{
  if(element.val().match(/\D/)) {
  	addError(element, message);
  	return false;
  }
  return true;
}

function validateEmpty(element, message)
{
	if(element.val().length == 0) {
    addError(element, message);
    return false;
	}
	return true;
}

function validateEmail(element, message)
{
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(element.val()) == false) {
      addError(element, message);
      return false;
   }
   return true;
}

function validateLength(element, l, message)
{
	if(element.val().length != l) {
		addError(element, message);
		return false;
	}
	return true;
}

function validatePhone(element, message)
{
  var same = 0;
  var inc = 0;
  var i;
  
  var pnumber = element.val();
  
  for(i = 4;i < 9;i++) {
    if(i != 3 && pnumber.charAt(i) == pnumber.charAt(i - 1)) {
      same++;
    }
    if(parseInt(pnumber.charAt(i)) == (parseInt(pnumber.charAt(i - 1)) + 1) || (pnumber.charAt(i) == '0' && pnumber.charAt(i - 1) == '9')) {
      inc++;
    }
  }
  if(same == 4 || inc == 5) {
    addError(element, message);
    return false;
  }
  return true;
}

function validate()
{
	var success = true;
  
  $('.errors').remove();
	
	if(!validateEmpty($('#jmeno'), 'Vyplňte prosím jméno a příjmení')) {
		success = false;
	}
	
  if(!validateEmpty($('#mesto'), 'Vyplňte prosím město')) {
  	success = false;
  }
  
  if(!validateEmpty($('#psc'), 'Vyplňte prosím PSČ')) {
  	success = false;
  }
	
	if(validateEmpty($('#vuz_hmotnost'), 'Vyplňte prosím hmotnost')) {
	  if(validateNumeric($('#vuz_hmotnost'), 'Hmotnost musí být číselná')) {
	  	if(!validateRange($('#vuz_hmotnost'), 5, 20000, 'Zadejte hodnotu od 5 do 20000')) {
	  		success = false;
	  	}
	  }
	  else success = false;
	}
	else success = false;

  if($('#vuz_tovarniznacka').length == 0) {
	  if(validateEmpty($('#pojistnik_udalosti'), 'Vyplňte prosím počet')) {
	    if(validateNumeric($('#pojistnik_udalosti'), 'Počet musí být číselný')) {
	      if(!validateRange($('#pojistnik_udalosti'), 0, 100, 'Počet může být pouze v rozmezí 0 až 100')) {
	        success = false;
	      }
	    }
	    else success = false;
	  }
	  else success = false;
  }
  
  if(validateEmpty($('#email'), 'Vyplňte prosím e-mail')) {
    if(!validateEmail($('#email'), 'Zadejte prosím email ve tvaru email@seznam.cz')) {
      success = false;
    }
  }
  else success = false;
  
  if($('#vuz_typ').val() == '0' || $('#vuz_typ').val() == '1' || $('#vuz_typ').val() == '9') {
    if(validateEmpty($('#vuz_objem'), 'Vyplňte prosím objem')) {
      if(validateNumeric($('#vuz_objem'), 'Objem může obsahovat pouze čísla')) {
        if($('#vuz_typ').val() == '0' && !validateRange($('#vuz_objem'), 49, 7000, 'Zadejte hodnotu od 49 do 7000')) {
          success = false;
        }
        if($('#vuz_typ').val() == '1' && !validateRange($('#vuz_objem'), 40, 2000, 'Zadejte hodnotu od 40 do 2000')) {
          success = false;
        }
        if($('#vuz_typ').val() == '9' && !validateRange($('#vuz_objem'), 49, 9000, 'Zadejte hodnotu od 49 do 9000')) {
          success = false;
        }
      }
      else success = false;
    }
    else success = false;
  }
  
  if($('#vuz_tovarniznacka').length == 0 && !validateEmpty($('#vuz_model'), 'Vyplňte výrobce a model vozidla')) {
    success = false;
  }
  
  if($('#vuz_typ').val() == '0' || $('#vuz_typ').val() == '2' || $('#vuz_typ').val() == '5' || $('#vuz_typ').val() == '7' || $('#vuz_typ').val() == '9') {
	  if(validateEmpty($('#vuz_vykon'), 'Vyplňte prosím výkon')) {
	    if(validateNumeric($('#vuz_vykon'), 'Výkon může obsahovat pouze čísla')) {
	      if(($('#vuz_typ').val() == '0' || $('#vuz_typ').val() == '9') && !validateRange($('#vuz_vykon'), 1, 300, 'Zadejte hodnotu od 1 do 300')) {
	        success = false;
	      }
	    }
	    else success = false;
	  }
	  else success = false;
  }
  
  if(validateEmpty($('#tel'), 'Vyplňte prosím telefon')) {
  	if(validateLength($('#tel'), 9, 'Vyplňte prosím telefon ve tvaru 603123456') && validateNumeric($('#tel'), 'Vyplňte prosím telefon ve tvaru 603123456')) {
  		if(!validatePhone($('#tel'), 'Zadané číslo není platné')) {
  			success = false;
  		}
  	}
  	else success = false;
  }
  else success = false;
  
  if(success && (($('#vuz_typ').val() == '9' && $('#vuz_hmotnost').val() > 3500) 
  || ($('#vuz_typ').val() == '2' && $('#vuz_podtyp').val() == '2.2' && ($('#vuz_hmotnost').val() < 3500 || $('#vuz_hmotnost').val() > 12000))
  || ($('#vuz_typ').val() == '2' && $('#vuz_podtyp').val() == '2.3' && $('#vuz_hmotnost').val() < 12000)
  || ($('#vuz_typ').val() == '4' && $('#vuz_podtyp').val() == '4.1' && $('#vuz_hmotnost').val() > 750)
  || ($('#vuz_typ').val() == '4' && $('#vuz_podtyp').val() == '4.2' && $('#vuz_hmotnost').val() < 750)
  )) {
    addError($('#vuz_hmotnost'), 'Hmotnost nesplňuje rozsah vybraného typu vozidla');
    success = false;
  }

  if($('#vuz_tovarniznacka').length != 0 && $('#pojistnik_typ').val() == 0) {
  	var rc = $('#pojistnik_rc').val().replace(/ /g, '');
  	if(rc.length > 1 && $('#stored-pojistnik_vek').val().substring(2) != rc.substring(0, 2)) {
  		addError($('#pojistnik_rc'), 'Rok narození v rodném čísle<br />neodpovídá zadanému roku (' + $('#stored-pojistnik_vek').val() + ')');
  		success = false;
  	}
  }
  success = false; //docasne povoleni
  if(success && $('#smscode').length > 0) {
	  if(smscode == null) {
	  	success = false;
		  $('#smsver').removeClass('hidden');
		  $('#smscode').focus();
		  //$('#submit').val('Zobrazit moje nabídky');
		  $.ajax({ type: 'GET',
		            url: '/ajax/smsver.php?number=' + $('#tel').val(),
		            success: function(responseText) {
		              eval('smscode = ' + responseText);
		              if(smscode == null) {
		                addError($('#tel'), 'Opravte prosím formát telefonního čísla');
		              }
		            },
		            error: function(responseText) {
		            	smscode = null;
		            }
		  });
	  }
	  else {
	    if($('#smscode').val() != smscode) {
	    	addError($('#smscode'), 'Vyplněný SMS kód není správný');
	    	success = false;
	    }
	  }
  }  
  success = true; //docasne povoleni
  return success;
}

function closeSmsver()
{
  $('#smsver').addClass('hidden');
  //$('#submit').val('Porovnat nejlevnější nabídky');
  smscode = null;
}

var id_visible = '';

function toggle_visibility(id)
{
	if(id_visible != '' && id != id_visible) {
		$('#' + id_visible).css('display', 'none');
	}
  $('#' + id).css('display', $('#' + id).css('display') == 'none' ? 'inline' : 'none');
	id_visible = $('#' + id).css('display') == 'inline' ? id : '';
}

$(document).ready(function() {
	$('#vuz_typ').change(typChange);
	if($('#vuz_typ').length > 0) {
	  typChange();
	  fillPSC();
	}
  $('#psc').blur(function() {
    fillPSC();
  });
  $('#psc').keyup(function() {
    if($('#psc').val().length == 5) {
      fillPSC();
    }
  });
  $('#rform').submit(function() {
  	return validate();
  });
});

function agreeTerms()
{
  var terms = "Souhlasím se shromaždováním, uchováním a zpracováním osobních údajů, které poskytuji společnosti Elephant Orchestra a.s., se sídle Praha 1, Mezibranská 4, PSČ 110 00, IČ:27943763 a ePojisteni.cz s.r.o., se sídlem Praha 3, Žižkov, Bořivojova 878/35, PSČ 130 00, IČ: 284 80 406 a Broker Consulting, a.s., se sídlem Plzeň, Jiráskovo nám. 2, PSČ 326 00, IČ: 25221736 (příp. jejím zaměstnancům). Tato data jsou potřebná k sjednání pojištění, přípravě nové nabídky anebo ke zkvalitnění stávající nabídky pro klienta.\n\nNěkteré údaje uvedené zájemcem při žádosti o pojištění mají povahu osobních údajů ve smyslu zákona č. 101/2000 Sb. o ochraně osobních údajů, v platném znění.\n\nZájemce souhlasí se šířením obchodního sdělení elektronickou formou (§ 7 zákona č. 480/2004 Sb.). Souhlas zájemce je poskytován na dobu neurčitou. Zájemce bere na vědomí, že společnost Elephant Orchestra a.s. a ePojisteni.cz s.r.o a Broker Consulting, a.s. kdykoli v průběhu zpracování osobních údajů poskytne zájemci informace o rozsahu a účelu zpracování osobních údajů či vysvětlení ke způsobu zpracování osobních údajů.\n\nSpolečnost Elephant Orchestra a.s. a ePojisteni.cz s.r.o. a Broker Consulting, a.s. si vyhrazuje právo použít osobní data a údaje klientů společnosti Elephant Orchestra a.s. a ePojisteni.cz s.r.o. a Broker Consulting, a.s. s cílem zasílání informací o novinkách a nových produktech a službách společnosti Elephant Orchestra a.s. a ePojisteni.cz s.r.o a Broker Consulting, a.s. .\n\nKaždý klient společnosti Elephant Orchestra a.s. a ePojisteni.cz s.r.o. a Broker Consulting, a.s. může kdykoliv písemně požádat společnost Elephant Orchestra a.s. a ePojisteni.cz s.r.o.  a Broker Consulting, a.s. o částečné anebo úplné odstranění jeho osobních údajů z databáze společnosti Elephant Orchestra a.s. a ePojisteni.cz s.r.o. a Broker Consulting, a.s. kromě těch údajů, které jsou nezbytné ke správě stávajících pojistných smluv anebo jiných produktů a služeb daného klienta sjednaných prostřednictvím společnosti Elephant Orchestra a.s. a ePojisteni.cz s.r.o a Broker Consulting, a.s.. ";
  alert(terms);
}

