function updatePrint(changed) {
  var url = "/prints/prints_ajax.php?action=update";
  var media = $('media').options[$('media').selectedIndex].value;
  var is_framed = $('is_framed').checked;
  var frame_type = $('frame_type').options[$('frame_type').selectedIndex].value;
  var mat1_type = $('mat1_type').options[$('mat1_type').selectedIndex].value;
  var mat1_width = $('mat1_width').value;
  var mat2_type = $('mat2_type').options[$('mat2_type').selectedIndex].value;
  var mat2_width = $('mat2_width').value;
  var glass_type = $('glass_type').options[$('glass_type').selectedIndex].value;
  var width = $('width').value;
  var height = $('height').value;
  var size_preset = $('size_preset').value;
  var qty = $('qty').value;
  var id = $('id').value;
  var calc = $('calc').value;
  // Disable frame options if the picture isn't framed
  var frame_status = false;
  if (is_framed==false) { frame_status = true; }
  $('frame_type').disabled = frame_status;
  $('mat1_type').disabled = frame_status;
  $('mat1_width').disabled = frame_status;
  $('mat2_type').disabled = frame_status;
  $('mat2_width').disabled = frame_status;
  $('glass_type').disabled = frame_status;
  $('framed_width').disabled = frame_status;
  $('framed_height').disabled = frame_status;
  new Ajax(url, {
    method: 'post',
    data: 'id='+id+'&changed='+changed+'&media='+media+'&width='+width+'&height='+height+'&size_preset='+size_preset+'&qty='+qty+'&is_framed='+is_framed+'&frame_type='+frame_type+'&mat1_type='+mat1_type+'&mat1_width='+mat1_width+'&mat2_type='+mat2_type+'&mat2_width='+mat2_width+'&glass_type='+glass_type+'&calc='+calc,
    evalScripts: true,
    update: $('print_status'),
    onRequest: function() {
      printStatusLoading(true);
    },
    onComplete: function() {
      printStatusLoading(false);
    },
    onFailure: function() {
      printStatusError('updatePrint('+changed+')');
    }
  }).request();
}

function applyAll() {
  // Apply these settings to all prints
  var approved;
  approved = confirm('Apply these settings to every print in your folder?');
  if (approved) {
    var url = "/prints/prints_ajax.php?action=apply_all";
    var id = $('id').value;
    new Ajax(url, {
      method: 'post',
      data: 'id='+id,
      evalScripts: true,
      update: $('print_status'),
      onRequest: function() {
        printStatusLoading(true);
      },
      onComplete: function() {
        printStatusLoading(false);
      },
      onFailure: function() {
        printStatusError('applyAll()');
      }
    }).request();
  }
}

function printStatusLoading(val) {
  if (val) {
    $('print_status').innerHTML = '&nbsp;';
    $('print_status').addClass('ajax_loading');
  } else {
    $('print_status').removeClass('ajax_loading');
    bgFader($('print_status'), '#ccffcc', '#cccccc');
  }
}

function printStatusError(retryFunction) {
  $('print_status').removeClass('ajax_loading');
  $('print_status').innerHTML = 'Please wait a moment and <a href=\'javascript:'+retryFunction+';\'>try your request again</a> to update the page.';
  bgFader($('print_status'), '#ffcccc', '#cccccc');
}

function bgFader(obj, start, finish) {
  var fx = new Fx.Style(obj, 'background-color', {
    duration: 1000,
    transition: Fx.Transitions.Quad.easeOut
  }).start(start, finish);
}

// Initialization
  var $j = jQuery.noConflict();

  window.addEvent('domready', function() {
    updatePrint('media');
    var mySlide = new Fx.Slide('printbox_advanced');
    $('toggle').addEvent('click', function(e){
      e = new Event(e);
      mySlide.toggle();
      e.stop();
    });
    mySlide.hide();
  });

  // Prepare fancybox popups
  $j(document).ready(function() {
    $j("#frame_popup").fancybox({
      'width'		: '50%',
      'height'		: '75%',
      'autoScale'	: false,
      'transitionIn'	: 'elastic',
      'transitionOut'	: 'elastic',
      'type'		: 'iframe'
    });
    $j("#mat1_popup").fancybox({
      'width': '75%', 'height': '75%', 'transitionIn': 'elastic', 'transitionOut': 'elastic', 'type': 'iframe' });
    $j("#mat2_popup").fancybox({
      'width': '75%', 'height': '75%', 'transitionIn': 'elastic', 'transitionOut': 'elastic', 'type': 'iframe' });
    $j("#framepreview_popup").fancybox({
      'width': '85%', 'height': '85%', 'transitionIn': 'elastic', 'transitionOut': 'elastic', 'type': 'iframe' });
    $j("#media_popup").fancybox({
      'width': '55%', 'height': '75%', 'transitionIn': 'elastic', 'transitionOut': 'elastic', 'type': 'iframe' });
    $j("#size_popup").fancybox({
      'width': '55%', 'height': '50%', 'transitionIn': 'elastic', 'transitionOut': 'elastic', 'type': 'iframe' });
    $j("#qty_popup").fancybox({
      'width': '55%', 'height': '50%', 'transitionIn': 'elastic', 'transitionOut': 'elastic', 'type': 'iframe' });
    $j("#dpipreview_popup").fancybox({
      'width': '75%', 'height': '85%', 'transitionIn': 'elastic', 'transitionOut': 'elastic', 'type': 'iframe' });
  });

