$(document).ready(function() {
  sfFileWidgetInitUploadButtons(false);
});
function sfFileWidgetInitUploadButtons(noButton)
{
  if(noButton)
  {
    $(".file-upload-widget").unbind('change');
    $(".file-upload-widget").change(function() {
      $(this).siblings(".file-upload-ajax").click();
    });
    $(".file-upload-ajax").hide();
  }
  $(".file-upload-ajax").unbind('click');
  $(".file-upload-ajax").click(fileUpload);
  $(".file-remove-ajax").unbind('click');
  $(".file-remove-ajax").click(fileUpload);
}

function fileUpload(e)
{
	$("#backend-error").remove();
	var input = $(this).siblings(".file-upload-widget");
	var val = input.val();
	var op = $(this).attr('op');
	if(op == 'upload' && !isValidFileType(val))
	{
		$(this).siblings(".error").show();
		return false;
	}
  $(this).siblings(".error").hide();
  var form = $(this).parents("form");
  var target = $(this).parents(".file-upload-widget-wrapper").attr("id");
 
  /*var field_name = $(this).siblings(".field_name").val();
  var form_name = $(this).siblings(".form_name").val();
  var directory = $(this).siblings(".directory").val();
  var album_id = $(this).siblings(".album_id").val();
  var no_button = $(this).css("display") == "none";
  var thumb_width = $(this).siblings(".thumb_width").val();
  var thumb_height = $(this).siblings(".thumb_height").val();
  
  var data = {
    op: op,
    field_name: field_name, 
    form_name: form_name, 
    wrapper_id: target,
    directory: directory,
    album_id: album_id,
    no_button: no_button,
    thumb_width: thumb_width,
    thumb_height: thumb_height
  };
  
  var delta = $(this).siblings(".delta").val();
  if(delta)
  {
    data.delta = delta;
  }*/
  var data = { op: op, wrapper_id: target };
  
  if(op == 'upload') {
    
    $(this).siblings(".loader").show();
    $(this).siblings(".file-upload-widget").hide();
    $(this).siblings(".file-upload-widget-desc").hide();
  } else if(op == 'remove') {
    $(this).siblings(".loader").show();
    $(this).siblings(".file-upload-widget").hide();
    
    var photo_id = $(this).siblings(".photo_id").val();
    var id = $(this).siblings(".file-upload-widget-id").val();
    var fid = $(this).siblings(".file-upload-widget-fid").val();
    data.id = id;
    data.fid = fid;
    data.photo_id = photo_id;
  }
  
  form.ajaxSubmit({
    iframe: true,
    url: '/file_upload_widget/upload',
    data: data,
    target: "#"+target,
    success: function(data) {
    	$(this).siblings(".loader").hide();
  	}
  });
  
  var cur_file = $(this).siblings(".file-upload-widget");
  var disabled_elements = $(".file-upload-widget").not(cur_file);
  disabled_elements.attr("disabled","disabled");
  
  setTimeout(function(){
    disabled_elements.removeAttr("disabled");
  }, 1000);
  return false;
}
function isValidFileType(filename)
{
	var filename = filename.toLowerCase();
	return endsWith(filename,'.png') || endsWith(filename,'.jpg') || endsWith(filename,'.gif') || endsWith(filename,'.jpeg');
}

