$(document).ready(function () {

        // game booking datepicker
        $('#gamebook-date').datepicker({
					 //showOtherMonths: true,
			     //selectOtherMonths: true,
           showOn: "both",
			     buttonImage: gfx_url + "icons/calendar.png",
			     buttonImageOnly: true ,
			     
			     minDate: new Date(),
			     
			     dateFormat: 'dd-mm-yy',
			     showAnim: 'fadeIn'
           //buttonText: 'Choose'

				}).attr('readonly', 'readonly'); 
        
         			
				// game booking timepicker
				$('#gamebook-time').timepicker({
        	timeFormat: 'hh:mm',

	        stepMinute: 10,
	        //minuteGrid: 15,
	        hourMin: 8,
	        hourMax: 19
	        
        }).attr('readonly', 'readonly'); 
				
				// acc booking datepicker
        $('#accbook-date').datepicker({
					
           showOn: "both",
			     buttonImage: gfx_url + "icons/calendar.png",
			     buttonImageOnly: true ,
			     
			     minDate: new Date(),
			     
			     dateFormat: 'dd-mm-yy',
			     showAnim: 'fadeIn'
           //buttonText: 'Choose'

				}).attr('readonly', 'readonly');
        
        
        /* ------------- AJAX support functions ------------- */
        function print_confirmation(heading, text) {
        
          return '<p><span class="hghl">' + heading + ',</span><br /><br />' + text + '</p>';
        
        }
        
        function display_error(error_msg, tag_id, color) {
        
          $(tag_id).parent('.error-wrapper').append('<div class="error ' + color + '-error">' + error_msg + '</div>');
          $(tag_id).parent('.error-wrapper').children('input').addClass('error-border');
        
        }
        
        function perform_robot_check(tags) {
        
           for (i = 0; i < tags.length; i++) {
              if ( $('#sidebar #'+tags[i]).val() != undefined && $('#sidebar #'+tags[i]).val() != "") return false;
           }
           
           return true;
        
        }
        /* ------------- AJAX support functions end ------------- */
        
        
        /* ------------- AJAX CALLS ------------- */
        function sidebar_validations() {
        
        var robot_tags = new Array('nickname', 'register', 'password', 'email', 'code', 'buy'); 
        var sidebar_trans = get_translations();
        var ajax_sidebar_link = app_url + 'ajax-sidebar-validations';
        
        
        
        // newsletter ---------------
        $('#news_but').click(function() {
   
          if ( $(this).hasClass('return') ) {
                $("#newsletter #news_but span a").text(sidebar_trans['js_sidebar_news_send']);
                $("#newsletter #news_but").removeClass('return');                      
                
                $("#newsletter .recieved_msg").fadeOut(500);
                $("#newsletter .middle").slideUp(1000, function() {
                   $("#newsletter input").val("");
                   $("#newsletter .fill_data").css({'display' : 'block'});
                   $("#newsletter .middle").slideDown(1000); 
                });
                
                return false;
          }
   
          // clear errors
          $('#newsletter .error-wrapper .error').remove();
          $('#newsletter .error-wrapper input').removeClass('error-border');
          
          var error_msg = '';
          
          // robot check
          if ( perform_robot_check(robot_tags) == false ) return false;
          
          var user_email = $('#news-email').val();
          
          if( user_email.match("^.+@.+\\..+$") ) {
             
              $.ajax({
                  type: "POST",
                  url: ajax_sidebar_link,
                  async: false,
                  cache: true,
                  data: "type=email_check&email=" + user_email,
                  dataType: "json",
                  success: function(msg){
                             
                     if (msg['exists'] == true) error_msg = sidebar_trans['js_sidebar_email_exists'];  
                             
                  }
                  
              });
            
          }
          else {
              error_msg = sidebar_trans['js_sidebar_email_error'];
          }
          
          // error has occured
          if (error_msg != '') {
               $('#news-email').parent('.error-wrapper').append('<div class="error brown-error">' + error_msg + '</div>');
               $('#news-email').parent('.error-wrapper').children('input').addClass('error-border');
               
               //$('#newsletter .error-wrapper').css('filter', 'none');
               $('#newsletter .error-wrapper .error').fadeOut(6500);
               
               

          }
          // register newsletter
          else {
          
              $.ajax({
                  type: "POST",
                  url: ajax_sidebar_link,
                  async: false,
                  cache: true,
                  data: "type=register_newsletter&email=" + encodeURIComponent(user_email) + "&lang=" + current_lang,
                  dataType: "json",
                  beforeSend: function(){
                      // change button
                      $("#newsletter #news_but span a").text(sidebar_trans['js_sidebar_back']);
                      $("#newsletter #news_but").addClass('return');                      
                      
                      $("#newsletter .fill_data").fadeOut(500);
                      $("#newsletter .middle").slideUp(1000, function() {
                         $("#newsletter .recieved_msg").css({'display' : 'block'});
                      });
                  },
                  complete: function(){                   
                      $("#newsletter .middle").slideDown(1000); 
                  },
                  error: function(){                   
                      $("#newsletter .recieved_msg").html(print_confirmation(sidebar_trans['js_sidebar_news_regerror_heading'], sidebar_trans['js_sidebar_news_regerror']) );
                  },
                  success: function(msg){
                      
                      if (msg['success'] == true) {
                        $("#newsletter .recieved_msg").html( print_confirmation(sidebar_trans['js_sidebar_news_regsucess_heading'], sidebar_trans['js_sidebar_news_regsucess']) );
                      }
                      else {
                        $("#newsletter .recieved_msg").html(print_confirmation(sidebar_trans['js_sidebar_news_regerror_heading'], sidebar_trans['js_sidebar_news_regerror']) );
                      }   
                      
                  }
                  
              });
          
          }
          
          
          
          return false;
       
       });
       // newsletter end --------------- 
       
       
       
       // game reservation ---------------
        $('#game_but').click(function() {
                  
          if ( $(this).hasClass('return') ) {
                $("#game-booking #game_but span a").text(sidebar_trans['js_sidebar_gamebook_send']);
                $("#game-booking #game_but").removeClass('return');                      
                
                $("#game-booking .recieved_msg").fadeOut(500);
                $("#game-booking .middle-short").slideUp(1000, function() {
                   $("#game-booking input").val("");
                   $("#game-booking .fill_data").css({'display' : 'block'});
                    
                   $("#game-booking .middle").slideDown(1000); 
                });
                
                return false;
          }
   
          // clear errors
          $('#game-booking .error-wrapper .error').remove();
          $('#game-booking .error-wrapper input').removeClass('error-border');
          
          var error = false;
                      
          // robot check
          if ( perform_robot_check(robot_tags) == false ) return false;
                      
          var user_name = $('#gamebook-name').val();
          var user_email = $('#gamebook-email').val();
          var user_phone = $('#gamebook-phone').val();
          var user_date = $('#gamebook-date').val();
          var user_time = $('#gamebook-time').val();
          
          if( !user_email.match("^.+@.+\\..+$") ) {
             error = true; 
             display_error(sidebar_trans['js_sidebar_email_error'], '#gamebook-email', 'green');
          }
             
          if( !user_name.match("^.+$") ) {
             error = true;     
             display_error(sidebar_trans['js_sidebar_name_error'], '#gamebook-name', 'green');
          }
          
          if( !user_phone.match("^\\+[0-9]{3} [0-9]{3} [0-9]{3} [0-9]{3}$") ) {
             error = true; 
             display_error(sidebar_trans['js_sidebar_phone_error'], '#gamebook-phone', 'green');
          }
          
          if( user_date == "" ) {
             error = true; 
             display_error(sidebar_trans['js_sidebar_date_error'], '#gamebook-date', 'green');
          }
          
          if( user_time == "" ) {
             error = true; 
             display_error(sidebar_trans['js_sidebar_time_error'], '#gamebook-time', 'green');
          }
            
          // error has occured
          if (error == true) {    
               $('#game-booking .error-wrapper .error').fadeOut(6500);
          }
          // register form
          else {
              var q_string = $('#game_booking_form').serialize().replace('&nickname=&register=', '');
              var switcher_ajax = false;
              var switcher_anim = false;
              $.ajax({
                  type: "POST",
                  url: ajax_sidebar_link,
                  async: true,
                  cache: true,
                  data: "type=game_book&" + q_string,
                  dataType: "json",
                  beforeSend: function(){
                      // change button
                      $("#game-booking #game_but span a").text(sidebar_trans['js_sidebar_back']);
                      $("#game-booking #game_but").addClass('return');                      
                          
                      $("#game-booking .fill_data").fadeOut(500);
                      $("#game-booking .middle").slideUp(1000, function() { 
                              
                          $("#game-booking .recieved_msg").css({'display' : 'block'});
                        
                          switcher_ajax = true;
                          if (switcher_anim == true) {
                             $("#game-booking .middle-short").slideDown(1000);
                          }
   
                      });
                  },
                  complete: function(){  
                    if (switcher_ajax == true) {
                       $("#game-booking .middle-short").slideDown(1000);
                    }
                    else {
                       switcher_anim = true;
                    }   
                  },
                  error: function(){                   
                      $("#game-booking .recieved_msg").html(print_confirmation(sidebar_trans['js_sidebar_gamebook_regerror_heading'], sidebar_trans['js_sidebar_gamebook_regerror']) );
                  },
                  success: function(msg){
                     
                      if (msg['success'] == true) {
                      
                        $("#game-booking .recieved_msg").html( print_confirmation(sidebar_trans['js_sidebar_gamebook_regsucess_heading'], sidebar_trans['js_sidebar_gamebook_regsucess']) );
                      }
                      else {
                      
                        $("#game-booking .recieved_msg").html(print_confirmation(sidebar_trans['js_sidebar_gamebook_regerror_heading'], sidebar_trans['js_sidebar_gamebook_regerror']) );
                      }   
                      
                  }
                  
              });
             
           
          }
          
          
          
          return false;
       
       });
       // game reservation end --------------- 
       
       
       // acc reservation ---------------
        $('#acc_but').click(function() {
         
          if ( $(this).hasClass('return') ) {
                $("#acc-booking #acc_but span a").text(sidebar_trans['js_sidebar_gamebook_send']);
                $("#acc-booking #acc_but").removeClass('return');                      
                
                $("#acc-booking .recieved_msg").fadeOut(500);
                $("#acc-booking .middle-short").slideUp(1000, function() {
                   $("#acc-booking input").val("");
                   $("#acc-booking textarea").val("");
                   $("#acc-booking .fill_data").css({'display' : 'block'});
                    
                   $("#acc-booking .middle").slideDown(1000); 
                });
                
                return false;
          }
   
          // clear errors
          $('#acc-booking .error-wrapper .error').remove();
          $('#acc-booking .error-wrapper input').removeClass('error-border');
          
          var error = false;
          
          // robot check
          if ( perform_robot_check(robot_tags) == false ) return false;
          
          var user_name = $('#accbook-name').val();
          var user_email = $('#accbook-email').val();
          var user_phone = $('#accbook-phone').val();
          var user_date = $('#accbook-date').val();
          
          if( !user_email.match("^.+@.+\\..+$") ) {
             error = true; 
             display_error(sidebar_trans['js_sidebar_email_error'], '#accbook-email', 'brown');
          }
             
          if( !user_name.match("^.+$") ) {
             error = true; 
             display_error(sidebar_trans['js_sidebar_name_error'], '#accbook-name', 'brown');
          }
          
          if( !user_phone.match("^\\+[0-9]{3} [0-9]{3} [0-9]{3} [0-9]{3}$") ) {
             error = true; 
             display_error(sidebar_trans['js_sidebar_phone_error'], '#accbook-phone', 'brown');
          }
          
          if( user_date == "" ) {
             error = true; 
             display_error(sidebar_trans['js_sidebar_date_error'], '#accbook-date', 'brown');
          }
          
            
          // error has occured
          if (error == true) {    
               $('#acc-booking .error-wrapper .error').fadeOut(6500);
          }
          // register form
          else {
              var q_string = $('#acc_booking_form').serialize().replace('&code=&buy=', '')
              
              var switcher_ajax = false;
              var switcher_anim = false;
              $.ajax({
                  type: "POST",
                  url: ajax_sidebar_link,
                  async: true,
                  cache: true,
                  data: "type=acc_book&" + q_string,
                  dataType: "json",
                  beforeSend: function(){
                      // change button
                      $("#acc-booking #acc_but span a").text(sidebar_trans['js_sidebar_back']);
                      $("#acc-booking #acc_but").addClass('return');                      
                          
                      $("#acc-booking .fill_data").fadeOut(500);
                      $("#acc-booking .middle").slideUp(1000, function() { 
                              
                          $("#acc-booking .recieved_msg").css({'display' : 'block'});
                        
                          switcher_ajax = true;
                          if (switcher_anim == true) {
                             $("#acc-booking .middle-short").slideDown(1000);
                          }
   
                      });
                  },
                  complete: function(){  
                    if (switcher_ajax == true) {
                       $("#acc-booking .middle-short").slideDown(1000);
                    }
                    else {
                       switcher_anim = true;
                    }   
                  },
                  error: function(){                   
                      $("#acc-booking .recieved_msg").html(print_confirmation(sidebar_trans['js_sidebar_accbook_regerror_heading'], sidebar_trans['js_sidebar_accbook_regerror']) );
                  },
                  success: function(msg){
                       
                      if (msg['success'] == true) {
                      
                        $("#acc-booking .recieved_msg").html( print_confirmation(sidebar_trans['js_sidebar_accbook_regsucess_heading'], sidebar_trans['js_sidebar_accbook_regsucess']) );
                      }
                      else {
                      
                        $("#acc-booking .recieved_msg").html(print_confirmation(sidebar_trans['js_sidebar_accbook_regerror_heading'], sidebar_trans['js_sidebar_accbook_regerror']) );
                      }   
                      
                  }
                  
              });
             
           
          }
          
          
          
          return false;
       
       });
       // acc reservation end --------------- 
        
        
        
        
        
        
        
        
        
            
       }
       
       sidebar_validations(); 
           
                    
});

   

 




