// BINDING

var pdata = {};
var hash = '';

$(document).ready(function() {

  $('a[href=""]').bind('click', function() {
    return false;
  });
  
$('#inputDate').DatePicker({
	  format:'Y-m-d',
	  date: curdate,
    current: curdate,
	  starts: 1,
	  position: 'r',

	  onChange: function(formated, dates){
		  var fdate = formated.split('-');
		  $('#PubDateMonth').val(fdate[0]+'-'+fdate[1]);
		  $('#PubDateDay').val(fdate[2]);
      $('#inputDate').DatePickerHide();
	  }
  });
  
  $('#PubDateMonth, #PubDateDay').bind('change', function() {
  
    $('#inputDate').DatePickerSetDate($('#PubDateMonth').val() + '-' + $('#PubDateDay').val(), true);
  
  });
  
    $('#PubDateMonth').bind('change', function() {
    var selected = $("#PubDateDay").val();
    $.getJSON(base + "/bookings/days_in_month/" + $(this).val(), function(result) {
      var options = $("#PubDateDay");
      $(options).find('option').remove();
      $.each(result, function() {
        options.append($("<option />").val(this.key).text(this.val));
      });
      if(jQuery.inArray(selected, options)){
        options.val(selected);
      }
      else {
        options.val(options[0].val());
      }
    });
  });
  
  $('.tabs ul li').bind('click', function() {
    
    $('.venuetab').hide();
    $('.tabs ul li').children('a').removeClass('active');
    $(this).children('a').addClass('active');
    
    var rel = $(this).children('a').attr('rel');
    
    window.location.hash = rel;
     
    $('.venuetab[rel='+rel+']').show();
    if(rel == "location") {
        map.checkResize();
        map.setCenter(latlng, 15);
        map.addControl(new GLargeMapControl());
    }
  
  });
  
  $('#quickBootSubmit').bind('click', function() {
  
    window.location = $('#quickBookForm').attr('action') + '/bookings/add/' + $('#PubDateMonth').val() + '-' + $('#PubDateDay').val() + '/' + $('#PubLocation').val() + '/' + $('#PubPeople').val();
  
  });
  
  $('#buttonAmend').bind('click', function () {
  
    curtains(1);
  
    $('#amend_box').load(base + '/bookings/amend/' + hash, function() {
    
        //$('#amend_box').center();
        $('#amend_box').show();
    
    });
  
  });
  
  $('#buttonCancel').bind('click', function() {
  
    curtains(1);
    $('#confirmBoxTitle').html('Booking cancellation');
    $('#confirmBoxContent').load(base + '/bookings/cancel_info/' + hash, function() {
    
        $('#confirmBox').parent().center().show();
    
    });
  
  });
  
  $('#buttonPostpone').bind('click', function() {
  
    curtains(1);
    $('#confirmBoxTitle').html('Postpone your booking');
    $('#confirmBoxContent').load(base + '/bookings/postpone_info/' + hash, function() {
    
        $('#confirmBox').parent().center().show();
    
    });
  
  });
  
  function bindPopup() {
  
    $('#PaymentType').bind('change', function() {
    
        for(var i in pdata) {
            if(pdata[i].type == $(this).val()) {
                if(typeof(pdata[i].amount) == "number") {
                    $('#PaymentAmount').val(pdata[i].amount).removeAttr('disabled');
                }
                else {
                    $('#PaymentAmount').val('').attr('disabled', 'disabled');
                }
            }
        }   
    
    });
    
    $('#PaymentSubmit').bind('click', function() {
    
        if($('#PaymentType').val() == "") {
            alert('Please choose an action');
        }
        else {
            $('#paymentSettings').attr('action', base + '/payments/operation');
            $('#paymentSettings').submit();
        }    
    
    });
  
  }
  
  $('.showPopup').bind('click', function() {
  
    curtains(1);
    $('#popup_content1, #popup_content2, #popup_content3').html('');
    
    var rel = $(this).attr('rel'); 
    $.get(base + '/logs/popup/' + hash + '/' + rel, function(data) {
        data = data.split("||");
        $('#popup_content1').html(data[0]);
        $('#popup_content2').html(data[1]);
        
        if(data[2]) {
                       
                var phtml = '<form id="paymentSettings" method="POST">';
                    phtml += '<p id="errorBox_text">';
                    phtml += '<select class="input_white" style="border: 1px solid #ccc;" id="PaymentType" name="data[op][type]" /></select>';
                    phtml += '<br /><br />&pound;<input type="text" class="input50 input_white" style="border: 1px solid #ccc;" value="" id="PaymentAmount" name="data[op][amount]" />';
                    phtml += '<br /><br />Reason: <input type="text" name="data[op][info]" class="input_white" style="border: 1px solid #ccc;" value="" />';
                    phtml += '<br /><br /><input type="button" id="PaymentSubmit" class="btn_red_small" value="Submit" />';
                    phtml += '</p>';
                    phtml += '<input type="hidden" name="data[op][pid]" value="'+data[3]+'" />';
                    phtml += '</form>';
                    
                $('#popup_content3').html(phtml);
                $('#PaymentType').append('<option value="">- Payment action -</option>');
                
                pdata = jQuery.parseJSON(data[2]);
                for(var i in pdata) {
                    $('#PaymentType').append('<option value="'+pdata[i].type+'">'+pdata[i].name+'</option>');
                }
                
                bindPopup();                                
                
        }
        
        $('#popup').center();
        $('#popup').show();  
    });
  
  });

});


function curtains(bool) {

    if(bool) {
        $('#curtains').height($(document).height()).show();
    }
    else {
        $('#curtains').hide();
    }

}
