/**
 * @author shabith ishan
 *
 */

$(function(){
	
				$(document).pngFix(); 
				
				var cin, time, cout, suite, rest, nog, name, sal, con, phone, email, spec_req;
				var error_msg;
				
            
                prettyForms();
				
				$('#time').timeEntry(
				{
					spinnerImage:'images/spinnerImage.jpg',
					spinnerIncDecOnly: true,
					spinnerSize: [15, 16, 0], 
					spinnerBigSize: [30, 32, 0]
				});
				
                $('#checkin').datepicker({
                    showOn: 'both',
                    buttonImage: 'images/cal-icon.jpg',
                    dateFormat: 'dd-mm-yy',
                    duration: 'slow',
                    hideIfNoPrevNext: true,
                    minDate: new Date(),
                    showAnim: 'slideDown',
                    buttonImageOnly: true
                });
				
				//reset button
				$('#reset-btn').click(function(){
					$('#time').val('');
					$('#checkin').val('');
					$('#frmShdwMenuChosen0').text('-------- Select a Restaurant --------');
					$('#number_of_guests').val('');
					$('#name').val('');
					$('#phone').val('');
					$('#email').val('');
					$('#special_request').val('');
				});
				
				//submit button
				$('#submit-btn').click(function(){
					
					//get form values
					cin = $('#checkin').val();
					time = $('#time').val();
					rest = $('#frmShdwMenuChosen0').text();
					nog = $('#number_of_guests').text();
					name = $('#name').val();
					phone = $('#phone').val();
					email = $('#email').val();
					spec_req = $('#special_request').val();
					
					
					//validate
					var result = $.fn.validate();
					
					if(!result)
					{
						
						$('#msgdiv').text(error_msg).addClass('error-message').fadeIn();
					}else
					{
						$('#msgdiv').removeClass('error-message');
						$('#msgdiv').html(error_msg).addClass('info-message').fadeIn();
						
						$.ajax({
							type: 'POST',
							url: 'php/resRest.php',
							data: 'CheckIn='+cin+'&Time='+time+'&Resturant='+rest+'&Nog='+nog+'&Name='+name+'&Email='+email+'&special_request='+spec_req+'&Phone='+phone,
							async: false,
							success: function(msg)
							{
								$('#msgdiv').fadeOut();
								if(msg=="true")
								{
									$('#msgdiv').html('Thank you for your inquiry<br />One of our reservation staff will get back to you shortly.').fadeIn();
								}
								else{
									$('#msgdiv').html('Error in sending reservation request. Please try again later.').removeClass('info-message').addClass('error-message').fadeIn();
								}
							}
							
						});
					}
					
					
						
				});
				
				$.fn.validate = function(){
					//validate check in date
					if(cin=="") {
						error_msg = "Please select a check in date.";
						
						return false;
					}
					else if(time=="") {
						error_msg = "Please select a time.";
						return false;
					}
					else if(suite=='-------- Select a Restaurant --------'){
						error_msg = "Please select a Restaurant.";
					}
					else if(name==""){
						error_msg = "Please provide your name.";
						return false;
					}
					else if(phone=="" || isNaN(phone)){
						error_msg = "Please provide your phone number.";
						return false;
					}
					else if(email=="" || !$.fn.emailvalidate(email)){
						error_msg = "Please provide your email address.";
						return false;
					}
					else
					{
						error_msg = "Sending your reservation request...";
						return true;
					}
				}
                
            });
			
			$.fn.emailvalidate = function(str){
				
				var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
					if (str.match(emailRegEx)) {
				   		return true;
				 	} else {
				 		return false;
				 	}
			}