
var UploadDialogController = function()
{
  var dialog = null;  
  var button = null;
  var file_list_tpl = new Ext.Template(
    "<div class='file-list-entry'>File {name} successfuly uploaded.</div>"
  );
  
  
  file_list_tpl.compile();

  function hideLoadingMask()
  {
    var loading = Ext.get('loading');
    var mask = Ext.get('loading-mask');
    mask.remove();
    loading.remove();
    Ext.get(document.body).setStyle('overflow', 'visible');
  }

  function getDialog()
  {
    if (!dialog) {
      dialog = new Ext.ux.UploadDialog.Dialog({
        url: uploadAddress,
        reset_on_hide: false,
        allow_close_on_upload: true,
        upload_autostart: false, //true,
        post_var_name: 'upload'
      });

      dialog.on('uploadcomplete', onUploadComplete);
      dialog.on('uploaderror', onUploadError);
      dialog.on('uploadstop', onUploadStop);
      dialog.on('uploadstart', uploadStart);
    }
    return dialog;
  }
  
  function showDialog(button)
  {
    getDialog().show(button.getEl());
  }
  
  function onUploadComplete(dialog, filename, resp_data, record)
  {
	  $("#photoForm").attr("action", redirectUrl);
	  submitForm(photoFormId);
  }
  
  function onUploadError(dialog, filename, resp_data, record)
  {
    //submitForm(photoFormId);
  }  

  function onUploadStop(dialog, filename, resp_data, record)
  {
    cancelCheck=1;
    
  }

  function uploadStart(dialog) {
	  
	  var customParams = new Array();
	  var amountEl = $("#upload_amount");
	  var productEl = $("#upload_product");
	  
	  customParams[$(amountEl).attr("name")] = $(amountEl).attr("value");
	  customParams[$(productEl).attr("name")] = $(productEl).attr("value");

	  dialog.setBaseParams(customParams);
  }
  
  return {
    init : function()
    {

      Ext.QuickTips.init();
		
		try {	  
      button = new Ext.photo123.PhotoButton({
        renderTo: 'show-dialog-btn',
        id: 'show-button',
        text: startLoading,
        handler: showDialog
      });
      } catch (err) { hideLoadingMask(); }



      hideLoadingMask();
      Ext.get(document.body).setStyle('overflow', 'auto');
    }
  }
}();

Ext.BLANK_IMAGE_URL = '../gfx_frontend/upload/s.gif';

Ext.onReady(UploadDialogController.init);
