
/**
 * Kliknuti na vice moznosti a zobrazeni dalsich elementu
 **/
function demandFormMoreOptions () {
  $('vice_moznosti_blok').setStyle('display', 'none');

  demandFormSetStyleMoreOptions();
  
  $('vice_moznosti').addEvent('click', function() {
    demandFormSetStyleMoreOptions();
  });
}


/**
 * Nastaveni stylu
 **/
function demandFormSetStyleMoreOptions()  {
  if($('vice_moznosti').get('checked'))
    $('vice_moznosti_blok').setStyle('display', 'block');
  else
    $('vice_moznosti_blok').setStyle('display', 'none');
}


/**
 * Vypocitani pocet kusu 
 **/
function demandFormMultiplicationPane()  {

  recalculate ();
  
  $('nasobnost_panelu_x').addEvent('keyup', function(e) {  
    recalculate ();
  });
  
  $('nasobnost_panelu_y').addEvent('keyup', function(e) {  
    recalculate ();
  });
  
  $('pocet_panelu').addEvent('keyup', function(e) {
    recalculate ();
  });                
}


/**
 * Prepocitani po udalosti
 **/
function recalculate () {
  var multiplicationPaneX = $('nasobnost_panelu_x').get('value').toInt(); 
  var multiplicationPaneY = $('nasobnost_panelu_y').get('value').toInt(); 
  var numPane = $('pocet_panelu').get('value').toInt(); 
  var number = multiplicationPaneX * multiplicationPaneY * numPane;

  if(isNaN(number)) number = 0;
  $('pocet_kusu').set('value', number);
}


/**
 * Kliknuti na radia v dodani
 **/
function demandFormDelivery() {
  if($('jednotlive_kusy').get('checked')) 
    demandFormShowHide('blok_panel', 'blok_jednotlive_kusy');
  
  if($('panel').get('checked')) 
    demandFormShowHide('blok_jednotlive_kusy', 'blok_panel');      

  $('jednotlive_kusy').addEvent('click', function() {
    demandFormShowHide('blok_panel', 'blok_jednotlive_kusy');
  });
  
  $('panel').addEvent('click', function() {
    demandFormShowHide('blok_jednotlive_kusy', 'blok_panel');
  });  
}


/**
 * Skryvani a odkryvani bloku
 **/
function demandFormShowHide(idHide, idShow) {
  $(idHide).setStyle('display', 'none'); 
  $(idShow).setStyle('display', 'block');   
}


/**
 * Kontrola desetinnych mist, onkey akce
 **/
function demandFormDecimalPlace () {
  $('rozmer_x').addEvent('keyup', function(e) { demandFormcheckDecimalPlace('rozmer_x'); });  
  $('rozmer_panelu_x').addEvent('keyup', function(e) { demandFormcheckDecimalPlace('rozmer_panelu_x'); });
  $('rozmer_panelu_y').addEvent('keyup', function(e) { demandFormcheckDecimalPlace('rozmer_panelu_y'); });
  $('rozmer_kusu_x').addEvent('keyup', function(e) { demandFormcheckDecimalPlace('rozmer_kusu_x'); });
  $('rozmer_kusu_y').addEvent('keyup', function(e) { demandFormcheckDecimalPlace('rozmer_kusu_y'); });
  
  
  $('nasobnost_panelu_x').addEvent('keyup', function(e) { demandFormcheckDecimalPlace('nasobnost_panelu_x',1); });
  $('nasobnost_panelu_y').addEvent('keyup', function(e) { demandFormcheckDecimalPlace('nasobnost_panelu_y',1); });
  $('pocet_panelu').addEvent('keyup', function(e) { demandFormcheckDecimalPlace('pocet_panelu',1); });
}


/**
 * Kontrola desetinnych mist
 **/
function demandFormcheckDecimalPlace (id, onlyIntegers) {
  valueArraySplitDot = $(id).get('value').split('.');
  valueArraySplitComma = $(id).get('value').split(',');
  
  // Projdou pouze cisla
  if(onlyIntegers)
    re = /^[0-9]+$/;
    
  // +tecky a carky
  else 
    re = /^[0-9\.\,]+$/;
  
  if(!$(id).get('value').search(re) == 0) {
    val = $(id).get('value').slice(0,$(id).get('value').length-1);
    $(id).set('value', val);  
    return
  }

  var decimalTreeNumber = '';
  
  // Retezec je rozdelen teckou 
  if(valueArraySplitDot.length == 2) {

    if(valueArraySplitDot[1].length > 3)  {
      decimalTreeNumber = valueArraySplitDot[1].slice(0,3);
      $(id).set('value', valueArraySplitDot[0] + '.' + decimalTreeNumber);
    } 
    
    if(valueArraySplitDot[1].slice(-1) == ',')  {
      decimalTreeNumber = valueArraySplitDot[1].slice(0,valueArraySplitDot[1].length-1);
      $(id).set('value', valueArraySplitDot[0] + '.' + decimalTreeNumber);
    }     
    
  } else if(valueArraySplitDot.length > 2) {
    decimalTreeNumber = valueArraySplitDot[1].slice(0,3);
    $(id).set('value', valueArraySplitDot[0] + '.' + decimalTreeNumber);
  }
  
  // Retezec je rozdelen carkou 
  if(valueArraySplitComma.length == 2) {

    if(valueArraySplitComma[1].length > 3)  {
      decimalTreeNumber = valueArraySplitComma[1].slice(0,3);
      $(id).set('value', valueArraySplitComma[0] + ',' + decimalTreeNumber);
    } 
    
    if(valueArraySplitComma[1].slice(-1) == '.')  {
      decimalTreeNumber = valueArraySplitComma[1].slice(0,valueArraySplitComma[1].length-1);
      $(id).set('value', valueArraySplitComma[0] + ',' + decimalTreeNumber);
    }     
    
  } else if(valueArraySplitComma.length > 2) {
    decimalTreeNumber = valueArraySplitComma[1].slice(0,3);
    $(id).set('value', valueArraySplitComma[0] + ',' + decimalTreeNumber);
  }    
}

/**
 * mailto kodovani
 */
 function decryptCharcode(n,start,end,offset) {
	n = n + offset;
	if (offset > 0 && n > end)	{
		n = start + (n - end - 1);
	} else if (offset < 0 && n < start)	{
		n = end - (start - n - 1);
	}
	return String.fromCharCode(n);
}
 function decryptString(enc,offset) {
	var dec = "";
	var len = enc.length;
	for(var i=0; i < len; i++)	{
		var n = enc.charCodeAt(i);
		if (n >= 0x2B && n <= 0x3A)	{
			dec += decryptCharcode(n,0x2B,0x3A,offset);	// 0-9 . , - + / :
		} else if (n >= 0x40 && n <= 0x5A)	{
			dec += decryptCharcode(n,0x40,0x5A,offset);	// A-Z @
		} else if (n >= 0x61 && n <= 0x7A)	{
			dec += decryptCharcode(n,0x61,0x7A,offset);	// a-z
		} else {
			dec += enc.charAt(i);
		}
	}
	return dec;
}
 function linkTo_UnCryptMailto(s)	{
	location.href = decryptString(s,-1);
} 

/**
 * Validace formualare
 **/
function demandFormValidate ()  {
  $('odeslat').addEvent('click', function(e) {
    
    if($('jmeno').get('value') == '') {
      alert('Vyplňte prosím jméno.');
      $('jmeno').focus();
      return false;         
    }
    
    if($('telefon').get('value') == '') {
      alert('Vyplňte prosím telefon.');
      $('telefon').focus();
      return false;         
    }
    
    if($('email').get('value') == '' || !emailValidate($('email').get('value'))) {
      alert('Vyplňte prosím správný tvar emailu.');
      $('email').focus();
      return false;         
    }
    
    if($('nazev_dps').get('value') == '') {
      alert('Vyplňte prosím Název DPS.');
      $('nazev_dps').focus();
      return false;         
    }          
 
    
    if($('panel').get('checked')) {
      if($('rozmer_kusu_x').get('value').toInt() >= $('rozmer_panelu_x').get('value').toInt()) {
        alert('Rozměr kusu v ose X musí být menší než rozměr panelu v ose X.');
        $('rozmer_kusu_x').focus();
        return false;
      }
      
      if($('rozmer_kusu_y').get('value').toInt() >= $('rozmer_panelu_y').get('value').toInt()) {
        alert('Rozměr kusu v ose Y musí být menší než rozměr panelu v ose Y.');
        $('rozmer_kusu_y').focus();
        return false;      
      }
      
      if($('nasobnost_panelu_x').get('value') * $('rozmer_kusu_x').get('value') >= $('rozmer_panelu_x').get('value')) {
        alert('Násobnost panelu v ose X násobené rozměrem kusu v ose X musí být menší než rozměr panelu');
        $('nasobnost_panelu_x').focus();
        return false;         
      }
      
      if($('nasobnost_panelu_y').get('value') * $('rozmer_kusu_y').get('value') >= $('rozmer_panelu_y').get('value')) {
        alert('Násobnost panelu v ose Y násobené rozměrem kusu v ose Y musí být menší než rozměr panelu');
        $('nasobnost_panelu_y').focus();
        return false;         
      }
    }

  }); 
}


/**
 * Validace emailove adresy
 **/
function emailValidate(adresa)  {
  re = /^[A-Za-z0-9\._-]+[@][A-Za-z0-9\._-]+[\.].[A-Za-z0-9]+$/;
  return adresa.search(re) == 0;
}


/**
 * Select typ DPS
 **/
function demandFormTypeDPS() {
  $('typ_dps').addEvent('change', function(e) { 
  
    if($('typ_dps').get('value') == 'jednostranný' || 
      $('typ_dps').get('value') == 'oboustranný prokovený' ||
      $('typ_dps').get('value') == 'jednostranný AL') {
      $('konecna_med_vnitrni_vrstvy').set('disabled', true); 
      $('slepe_vrtani').set('disabled', true); 
      $('pohrbene_vrtani').set('disabled', true); 
    } else {
      $('konecna_med_vnitrni_vrstvy').set('disabled', false); 
      $('slepe_vrtani').set('disabled', false); 
      $('pohrbene_vrtani').set('disabled', false); 
      
    }
    
    if($('typ_dps').get('value') == 'jednostranný') {
      $('maska').set('value','strana součástek');  
    }
    
    if($('typ_dps').get('value') != 'jednostranný AL' && $('typ_dps').get('value') != 'jednostranný') {
      $('maska').set('value','oboustranný');  
    }    
    
  }); 
}


/**
 * Select Maska
 **/
function demandFormMask() {
  $('maska').addEvent('change', function(e) { 
    if($('maska').get('value') == 'bez') {    
      $('maska_barva').set('disabled', true); 
    } else {
      $('maska_barva').set('disabled', false);
    }
  });
}


/**
 * Select Potisk
 **/
function demandFormPot() {
  $('potisk').addEvent('change', function(e) { 
    if($('potisk').get('value') == 'bez') {    
      $('potisk_barva').set('disabled', true); 
    } else {
      $('potisk_barva').set('disabled', false);
    }
  });
}


/**
 * Vysouvaci blok na uvode - kontaktujte nas
 **/
function homeContactUs() {

  if($('kontaktujte_nas') === null) return
  
  $('kontaktujte_nas_rozbalene').setStyles({
    position: 'absolute',
    left: '236px',
    top: '24px',
    cursor: 'pointer',
    display: 'none'
  });  

  $('kontaktujte_nas').setStyles({
    position: 'absolute',
    left: '236px',
    top: '24px',
    cursor: 'pointer'
  });
  
  $('kontaktujte_nas_sipky_vpravo').setStyles({
    position: 'absolute',
    left: '212px',
    top: '24px',
    cursor: 'pointer',
    display: 'none'
  });      
  
  $('kontaktujte_nas_sipky_vlevo').setStyles({
    position: 'absolute',
    left: '212px',
    top: '24px',
    cursor: 'pointer'
  });  
  
  
  $('kontaktujte_nas_sipky_vlevo').addEvent('click', function(e) {
    sliderEffect('expand');  
  }); 
  
  $('kontaktujte_nas').addEvent('click', function(e) { 
    sliderEffect('expand');
  });  
  
  $('kontaktujte_nas_sipky_vpravo').addEvent('click', function(e) {
    sliderEffect('collapse');      
  });   

}

function sliderEffect(direction) {
  if(direction == 'expand') {
    $('kontaktujte_nas_sipky_vpravo').setStyle('display','block');
    $('kontaktujte_nas_sipky_vlevo').setStyles({'display':'none','left':'58px'});  

    $('kontaktujte_nas_rozbalene').setStyle('display','block');
    $('kontaktujte_nas').setStyles({'display':'none','left': '82px'});    
    
  } else if((direction == 'collapse')) {
    $('kontaktujte_nas_rozbalene').setStyles({'display':'none','left': '236px'});
    $('kontaktujte_nas').setStyle('display','block');  
    
    $('kontaktujte_nas_sipky_vlevo').setStyle('display','block');
    $('kontaktujte_nas_sipky_vpravo').setStyles({'display':'none','left':'212px'});       
  }
  
  if(direction == 'expand') {
    var slider = new Fx.Morph($('kontaktujte_nas_rozbalene'), {duration: 300, transition: Fx.Transitions.Sine.easeOut});
    slider.start({'left': '82px'});
    
    var sliderArrow = new Fx.Morph($('kontaktujte_nas_sipky_vpravo'), {duration: 300, transition: Fx.Transitions.Sine.easeOut});
    sliderArrow.start({'left': '58px'});
        
  } else if(direction == 'collapse') {
    var slider = new Fx.Morph($('kontaktujte_nas'), {duration: 300, transition: Fx.Transitions.Sine.easeOut});
    slider.start({'left': '236px'});  
    
    var sliderArrow = new Fx.Morph($('kontaktujte_nas_sipky_vlevo'), {duration: 300, transition: Fx.Transitions.Sine.easeOut});
    sliderArrow.start({'left': '212px'});    
  } 
  
}


window.addEvent('domready', function() {
  if($('poptavka') !== null) {
    demandFormMoreOptions();  
    demandFormMultiplicationPane();
    demandFormDelivery();
    demandFormDecimalPlace();
    demandFormValidate();
    demandFormTypeDPS();
    demandFormMask();
    demandFormPot();
  }
  
  homeContactUs();
});

