
$(document).ready(function() {
 
  $('#travel-planner-widget').load('/modules/travel_planner/ajax/ajax.travel_planner_widget.php');
  
  $("div.travel-planner-add").one('click', function () {
    var session_id = $('#travel-planner-widget').attr('title'); 
    var widget_offset = $('#travel-planner-widget').offset(); // Gets widget position
    var button_offset = $(this).offset(); // Gets button position
    var floatTime = 2000; // The speed of the button float
    var add_button = $(this).removeClass('travel-planner-add').addClass('travel-planner-adding');
    var add_data = add_button.attr('id');
    var float_button = add_button.clone();
    var float_css = {
          'position': 'absolute',
          'z-index': '9999',
          'left': button_offset.left,
          'top': button_offset.top
    }
    float_button.prependTo(add_button)
           .css(float_css)
           .animate(
             { left : widget_offset.left, top : widget_offset.top, opacity : '.2', width: '144px'},
             floatTime,
             "linear",
             function(){
               add_button.removeClass('travel-planner-adding').addClass('travel-planner-added');
               $(this).remove();
               $('#travel-planner-widget').load('/modules/travel_planner/ajax/ajax.travel_planner_widget.php');
             }
           )
    
    /** AJAX posts*/
    $.ajax({
      type: "POST",
      url: "/modules/travel_planner/ajax/ajax.travel_planner_add.php",
      data: "s="+session_id+"&d="+add_data,
      success: function(msg){
        if(msg == "0"){
          $(float_button).remove();
          alert('The item could not be added');
          $(add_button).remove();
          $('#travel-planner-widget').delay(floatTime).load('/modules/travel_planner/ajax/ajax.travel_planner_widget.php');
        }
      }
    });
  });
  
  $("form.tp-form-submit").ajaxForm({
    beforeSubmit: function(arr, subForm){
      $("input[type='submit']",subForm).fadeOut(500);
      var fail;
      $(arr).each(function(key, item){
        var itemObject = $("input[name="+($(item).attr('name'))+"], textarea[name="+($(item).attr('name'))+"]"); 
        if($(itemObject).hasClass('required')){
          if($(itemObject).val() == ''){
            alert('Missing required field');
            $(itemObject).focus();
            fail = 1;
            return false;
          }
        }
      });
      if(fail == 1){
        $("input[type='submit']",subForm).show();
        return false;
      };
    },
    success: function(responseText, status, xhr, frm){
//      alert(responseText);
      if(responseText == 0){
        alert('An error has occured. Please try again.');
      }
      else{
        $(frm).fadeOut(500, function(){
          list_items(); //refresh tp list
          $('#tp-form-message').fadeIn(500).html(responseText).delay(4000).fadeOut(500);
        });
      }
      $("input[type='submit']",frm).delay(1000).show();
    },
    resetForm: 1
  });
  
  $(".tp-form-close").click(function(){
    $(this).parents('form').fadeOut(500);
  });
  
  $(".tp-main-button, .tp-main-button-guest").click(function(){
    $(".tp-form-submit").hide();
    var displayForm = $(this).attr('id')+'-form';
    if(displayForm.indexOf('print') >= 0){ // Print Event
      $('#travel-planner-list-print').load('/modules/travel_planner/snippets/travel_planner_list_print.php');
      window.print();
    }
    else{
      $('#'+displayForm).fadeIn(500);
    }
  })

  $('#tp-form-save-pdf').click(function(){ //file download
   var url = '/modules/travel_planner/snippets/travel_planner_list_pdf.php';
    jQuery('<form action="'+ url +'" method="post"></form>').appendTo('body').submit().remove();
    $(".tp-form-submit").hide();
  });
 
  function list_items(){
    $('#travel-planner-list').load('/modules/travel_planner/ajax/ajax.travel_planner_list.php');
  }
  
  $("#travel-planner-clear").click(function(){
   if(confirm('Are you sure you want to clear your travel planner?\n\nThis action cannot be undone!')){
     var session_id = $('#travel-planner-widget').attr('title'); 
     $.ajax({
       type: "POST",
       url: "/modules/travel_planner/ajax/ajax.travel_planner_clear.php",
       data: "s="+session_id,
       success: function(msg){
         if(msg == "0"){
           alert('Your travel planner could not be cleared');
         }
         else{
           $('#travel-planner-widget').load('/modules/travel_planner/ajax/ajax.travel_planner_widget.php');
           list_items();
         }
       }
     });
   }
  });
  
  
});

