$.ajax({
	type: "GET",
	url: '/ajax/getArchive',
	dataType: 'json'
}).done(function(data)
{
	window.archiveData = data;

	var owner = getOwner();
	if (owner.user_type == 0) // Enum\UserType::FREEMIUM
	{
		Modal.open('update-signup', {
			closable:true
		});
	}

	// Credit Card Payment Nag
	//console.log('%c DO NOT COMMIT THIS LINE ENABLED!  THIS LINE UNCOMMENTED FOR DEBUGGING.', 'background-color: red; color: yellow; font-size: 24px;'); var disable_nag = true; if(!disable_nag)
	if(data.amount_due && archiveData.coupon == null)
	{
		//alert(archiveData.coupon);
		//if (archiveData.coupon == null) continue; 
		setTimeout(function()
		{
			var owner = getOwner();
			var created_at = new Date(owner.created_at); 
			//var action_date = new Date('2018-04-25 12:00:00'); // The significance of this date was not documented; presumably date when payment handling method was changed
			//var newUser = owner.user_type >= 1 && created_at > action_date; // Enum\UserType::KINDEXER
			var plan = owner.user_type == 2 ? "monthly-5" : "monthly-10" ;  // Enum\UserType::CLOUD
			
			pay(archiveData.amount_due, plan);
			/*if(newUser){
				pay(archiveData.amount_due, plan);
			}
			else
				Modal.open('update-account', {
					closable: false
				});*/

		}, 500);
	}

	if(data.stats) {
		var percent = '';
		if(data.stats.indexed == 0) {
			percent = 0;
		}
		else {
			percent = (data.stats.indexed / data.stats.total) * 100;
		}
		var text = Math.round(percent) + '% Indexed';
		$('.percent').text(text);
	}
});


/* Global open modal utils */
$(function()
{
  $('.archive-open-modal-request-access').click(function() {
    Modal.open('request-access');
  });

  // !!!! This might be redundant because of app.js
  //$('.archive-open-modal-signup').click(function()
  //{
  //  signup_link_clicked_2();
  //});
});

function signup_link_clicked_2()
{
  var archiveId;
  var email;


  // !!!! This is a duplicate of what's in app.js
  function signupClosed(data) {
    console.log('archive.js:signupClosed()');//!TEMP
    if (data) {
      archiveId = data.archiveId;
      email = data.email;
      Modal.open('terms', {
        closable: false,
        close: termsClosed
      });
    }
  }

  function termsClosed(data) {
    Modal.open('archive-name', {
      close: upgradeClosed,
      params: {
        archiveId: archiveId,
        email: email,
      }
    });
  }

  function upgradeClosed(data) {
    if(window.dont_prompt_for_subdomain)
    {
      window.location.reload();
      return;
    }
    Modal.open('archive-name', {
      closable: false,
      close: updateClosed,
      params: {
        archiveId: archiveId
      }
    });
  }

  function updateClosed(data) {
    window.location.reload();
  }

  console.log('calling signup...');
  Modal.open('signup', {close: signupClosed});
}


function pay(price, plan)
{
  var token = null;
  var isPublic = plan == 'monthly-5';

  StripeCheckout.open(
  {
    key: window.stripe_pub,
    amount: price,
    name: "Kindex",
    email: window.archiveEmail,
    zipCode: true,
    description: "Upgrade your Archive",
    allowRememberMe: false,
    closed: function(data)
    {
      if(token == null)
        window.location.reload();
      window.archiveData.paid = true;
      upgrade(plan, token, isPublic);
    },
    token: function(result)
    {
        token = result.id;
    }
  });
}

function upgrade(plan, token, isPublic) {

        $.post('/ajax/upgradeArchive', {
            id: window.archiveId,
            plan: plan,
            token: token,
            public: isPublic // Will be ignored if plan does not allow public
        }, function(data){
                Modal.close();
        });
}

function getOwner() {
	var users = archiveData.users;
	var owner = users.find(u => u.role == 4);
	return owner;
}


function request_download_archive_zip()
{
  var url = '/ajax/downloadArchiveZip?' + (new Date()).getTime();
  $.getJSON(url).then(function(result){
    var message = '';

    if(result && result.message)
      message = result.message;
    else
      message = 'Unable to complete request.  Please try again later.';

    Modal.open('message', {
      params: {
        message: message,
        reDirect:'manage-archive'
      }
    });
  });
}


function request_download_archive_excel()
{
  window.open('/ajax/downloadArchiveExcel', '_blank');
}
