var gAdmin = function() {


  var _confirmDeleteImageFileUrl = null;
  var _confirmDeleteImageId = null;
	var _confirmDeleteGridX = null;
	var _confirmDeleteGridY = null;

  var _adminDeletePanel = null;


  function _clearDeleteContentData() {
    _confirmDeleteImageId = null;
    _confirmDeleteGridX = null;
    _confirmDeleteGridY = null;
    _confirmDeleteImageFileUrl = null;
  };


	function confirmDeleteContent( gridX, gridY ) {
    var jsonrpcCallback = { success: _confirmDeleteContentSuccessCallback,
                            failure: _confirmDeleteContentFailureCallback
 };

    // these fields are only now used in the error message displayed if the square is not occupied
		_confirmDeleteGridX = gridX;
		_confirmDeleteGridY = gridY;

    JSON_RPC.send( jsonrpcCallback, "admin.confirmDeleteImage", gridX, gridY );
  };
  
  function _confirmDeleteContentSuccessCallback( responseObj ) {
    YAHOO.log( "confirm delete content SUCCESS" );

    if( responseObj != null ){
      // an occupied square was clicked

      // save the image id and grid coordinates of the click the real delete request
      _confirmDeleteImageId = responseObj.bn_order_id;
      _confirmDeleteImageFileUrl = responseObj.image_file_url;

      
      gMap.highlightSquares( responseObj.x_nbr,
                             responseObj.max_x_nbr,
                             responseObj.y_nbr,
                             responseObj.max_y_nbr,
                             false,  // show the delete image button
														 "#ff0000");
    } else {
      // square clicked was not occupied
      alert( "Sorry, grid location (" + _confirmDeleteGridX + "," + _confirmDeleteGridY + ") can't be deleted because it is not occupied." );
    }

  };

    

  
	function _confirmDeleteContentFailureCallback( responseObj ) {
    YAHOO.log( "confirm delete content FAILED", "error" );
  };


  function deleteContent() {
    _deleteContentRequest()
 }
    
  function _deleteContentRequest() {

    var refundCredits = ($("refundCredits").checked) ? true : false;
    var elDeleteType = $("deleteType");
    var deleteType =  _proxy_jslib_handle( _proxy_jslib_handle(elDeleteType.options, (elDeleteType.options.selectedIndex), 0, 0), 'value', '', 0, 0);

    if( deleteType == "" ){
      alert( "Please choose a deletion type." );
      elDeleteType.style.border = "2px solid red";
      elDeleteType.focus();
      return;

    }

    var jsonrpcCallback = { success: _deleteContentSuccessCallback,
                            failure: _deleteContentFailureCallback
 };

    JSON_RPC.send( jsonrpcCallback,
									 "admin.deleteImage",
                   _confirmDeleteImageId,
                   //                   reason,
                   deleteType,
                   refundCredits);
  };


  function _deleteContentSuccessCallback( responseObj ) {

		YAHOO.log( "delete content SUCCESS!" );

    hideAdminDeletePanel();

    _clearDeleteContentData();
    gMap.endHighlightSquares();

    alert("Content deleted successfuly.\n\nThe image will disappear the next time the map generator batch job runs (approximately every 3 minutes)");

  };



  function _deleteContentFailureCallback( responseObj ) {

    var errorObj = response.error;
		YAHOO.log( "delete content FAILURE: " + errorObj );

    alert("Delete content failed.\n\nError message: " + errorObj);

  };


  function showAdminDeletePanel() {

    // CPU seems to get high with the animation so shut if off here
    gMap.stopHighlightAnimation();


    var elPanel = $("adminDeletePanel");


    if( !_adminDeletePanel ){

      var options = {
        width: "450px",
        height: "130px",
        fixedcenter: true,
        underlay: "shadow",
        close: false,
        modal: true,
        draggable: true,
        visible: true
 };

      _adminDeletePanel = new (YAHOO.widget.SimpleDialog)(elPanel, options);

      _adminDeletePanel.render(  _proxy_jslib_handle(document, 'body', '', 0, 0) );
    }

    
    var elDeleteType = $("deleteType");
    elDeleteType.options.selectedIndex = 0;
    elDeleteType.style.border = "";
    elDeleteType.focus();

     _proxy_jslib_assign('', $("deleteImageSample"), 'src', '=', ( _confirmDeleteImageFileUrl));
    
    gNewImageProcess.centerPanel( elPanel, _adminDeletePanel );

    _adminDeletePanel.show();

  };

  function hideAdminDeletePanel() {

    if( _adminDeletePanel ) {
      _adminDeletePanel.hide();
    }
    gMap.endHighlightSquares(); 
    _proxy_jslib_assign('', $("deleteImageSample"), 'src', '=', ( ""));

  }

    
  return {
    confirmDeleteContent : confirmDeleteContent,
      deleteContent : deleteContent,
      showAdminDeletePanel : showAdminDeletePanel,
      hideAdminDeletePanel : hideAdminDeletePanel
 };
}();
 ;
_proxy_jslib_flush_write_buffers() ;