/*
 * Setting JQuery non conflict mode
 */
var $j = jQuery.noConflict();
		
$j(document).ready(function() { 
	
	/*
	 * Add class to input on focus
	 */
	  $j('input').focus(
		  function() {
			  $j(this).addClass('focus');
		  }
	  );
	
	/*
	 * Hover effect for send button
	 */
	$j('#submitContactForm').hover(function(){
	       $j(this).attr('src', '/templates/public/kreditni-karty/img/zazadat_hover.png');
	}, function(){
	       $j(this).attr('src', '/templates/public/kreditni-karty/img/zazadat_pasiv.png');
	});

	//sms Verification preparation
	  $j('#smsCode-label').hide();
	  $j('#smsVerificationCode-label').hide();
	  $j('#smsVerificationCode-element').hide();
	  
	  /*
	   * Add custom validator on phone number
	   */
	  $j.validator.addMethod('phone', function(value) {
		  //var numbers = value.split(/\d/).length - 1;
		  return (value.match(/^(\+420)? ?\d{3} ?\d{3} ?\d{3}$/)); }, 'Please enter a valid phone number');
	  
	  /*
	   * Add custom validator on phone number fakes
	   */
	  $j.validator.addMethod('phoneFake', function(value) {
		  var phoneVal = $j('#tel').val();
		  var fakes = new Array('234567', '345678', '456789', '567890', '012345', '123456');
		  var phoneLength = phoneVal.length;
		  if (phoneLength == 9)
		  {
			  var phoneStr = phoneVal.substr(3, 6);
		  }
		  else
		  {
			  var phoneStr = phoneVal.substr(7, 6);
		  }
		  try
		  {
			  
			  for (var i=0;i<fakes.length;i++){
				 var re = new RegExp(fakes[i]);
				 var res = phoneVal.search(re);
				 //alert("Nalezeno na pozici: "+res+"!");
				 if (res != -1) throw 1;
				 delete re;
				 delete res;
			  }
			  
			  var res = phoneStr.search(/(\d)\1\1(\d)\2\2/);
			  if (res != -1) throw 1;
		  }
		  catch(e)
		  {
			  return false;
		  }
		  return true; }, 'Please enter a valid phone number');
	  
	  /*
	   * Add custom validator for check label
	   */
	  $j.validator.addMethod('isChecked', function(value){
		  return ($j("#check").is(':checked'))
	  }, 'Element not checked');
	  
	  
	  /*
	   * Add custom validator on mobile phone extension
	   */
	  
	  $j.validator.addMethod('checkMob', function(value) {
		  if (value.length == 9)
		  {
			  if (value.match(/^[6-7]/)){
				  return true;
			  }else{
				  return false;
			  }
		  }
		  if (value.length == 13){
			  var p = value.substr(4,13);
			  if (p.match(/^[6-7]/)){
				  return true;
			  }else{
				  return false;
			  }
		  }
	  }, 'Please enter valid mobil phone number.'	  
	  );
	  /*
	   * Add custom validator for letter only
	   */
	  
	  $j.validator.addMethod("lettersonly", function(value, element) {
          return value.match(/^[a-žA-Ž., ]*$/);
      }, "Letters only please");

	  
	  /*
	   * Validate form
	   */
	  
	  $j("#CitibankForm").validate({ 
		  
    		  rules: { 
    		  jmeno: {
		  		required: true,
		  		lettersonly: true
	          },
    		  prijmeni: {
		  		required: true,
		  		lettersonly: true
	          },
    		  tel: {
		  		required: true,
		  		phone: true,
		  		checkMob: true,
		  		phoneFake: true
	  		  },
	  		  check: {
	  			  isChecked: true
	  		  },
	  		  vek: {
	  			  required: true,
	  			  range: [1,6]
	  		  },
	  		  prijem: {
	  			  required: true,
	  			  range: [1,5]
	  		  },
	  		  zpozdeni: {
	  			  required: true
	  		  }
    		},
    		messages: { 
    			  jmeno: {
    					required: "Prosím vyplňte Vaše jméno.",
    					lettersonly: "Povolena jsou pouze písmena, nikoliv číslice."
    		      },
    			  prijmeni: {
  					required: "Prosím vyplňte Vaše příjmení.",
					lettersonly: "Povolena jsou pouze písmena, nikoliv číslice."
		          },
		          vek: {
		        	  required: "Prosím vyberte Váš věk.",
		        	  range: "Prosím vyberte Váš věk."
		          },
		          prijem: {
		        	  required: "Prosím vyberte Váš příjem.",
		        	  range: "Prosím vyberte Váš příjem."
		          },
		          zpozdeni: {
		        	  required: "Prosím vyberte zpoždění splátky úvěru."
		          },
    			  check: {
    				  isChecked: "Zatrhněte, pokud souhlasíte s podmínkami o použití osobních údajů."
    			  },
    			  tel: {
    				  required: "Prosím zadejte Váš telefon.",
    				  phone: "Prosím zadejte telefon<br/>ve správném formátu 603123456.",
    				  checkMob: "Prosím zadejte číslo<br/>mobilního telefonu.",
    				  phoneFake: "Zadaný údaj není korektní."
    				}
    			    }, 
    		submitHandler: function(form) {
    			    	var smsCode = $j('#smsCode').val();
 		    		   var ph = $j('#tel').val();
 		    		   var smsVer = $j('#smsVerificationCode').val()
 		   		   if (smsVer == ''){
 			    		   $j.ajax({
 			    			   
 			    			   type: 'get',
 			    		       url: '/ws/sendSms.php',
 			    		       data: 'ajax=1&fromCiti=1&send=1&phone='+ph+'&code='+smsCode,
 			    		       success: function() {
 			    			       
 			    			       $j('dt#jmeno-label').hide();
 			    			       $j('dd#jmeno-element').hide();
 			    			       $j('dt#prijmeni-label').hide();
 			    			       $j('dd#prijmeni-element').hide();
 			    			       $j('dt#tel-label').hide();
 			    			       $j('dd#tel-element').hide();
 			    			       $j('dt#vek-label').hide();
 			    			       $j('dd#vek-element').hide();
 			    			       $j('dt#prijem-label').hide();
 			    			       $j('dd#prijem-element').hide();
 			    			       $j('dt#zpozdeni-label').hide();
 			    			       $j('dd#zpozdeni-element').hide();
 			    			       $j('dt#podminky-label').hide();
 			    			       $j('dd#podminky-element').hide();
 			    			       $j('dt#check-label').hide();
 			    			       $j('dd#check-element').hide();
 				    			   $j('#smsCode-label').fadeIn();
 				    			   $j('#smsVerificationCode-label').fadeIn();
 				    			   $j('#smsVerificationCode-element').fadeIn();
 				    			   
 				    			   
 			    		   }
 			    		   });
 		    			    }
 		    		  
 		    		   if (smsVer != '')
 		    		   {
 			    		   if (smsCode == smsVer)
 			    		   {
 			    			  var i=1;
 			    			  //alert ('code='+smsCode+'\ncode2='+smsVer);
 			    		   }else{
 			    			    $j("#smsVerificationCode-element").append("<label for='smsVerificationCode' generated='true' class='error'>Chybně zadaný ověřovací kód.</label>");
 						  	    var i=0;
 						  	    //alert('i='+i+'\ncode='+smsCode+'\ncode2='+smsVer);
 			    		   }
 		    		   }
 		    		   if (i==1){
 		    			   form.submit();
 		    		   }
 			 }
	  });
	   
	 
});

