var g_isInviteWorking   = false;
var g_onSuccessInvite   = null;
var g_isImportWorking   = false;

function onInviteShow()
{
	var recp = document.getElementById("to");
	recp.focus();
}

function onImportKey(e, importURL)
{
	if (e.keyCode != 13)
	  return;
	  
	importContacts(importURL);
	
	return false;
}

function showInviteWindow(inviteURL, onSuccessInvite)
{
	g_onSuccessInvite       = onSuccessInvite;
	
	var url = inviteURL + "?action=invite";
	
    showWindow(url, null, "Invite by e-mail", 600, 420, "es_message_window");
}

function sendInvite()
{
    if (g_isInviteWorking == true)
	  return;


	var recp = document.getElementById("to").value;
	var from = document.getElementById("from").value;
	
	if (recp.length == 0)
	{
		alert('Please type in at least one e-mail address');
		return;
	}

	if (from.indexOf("@") == -1)
	{
		alert('Please type your e-mail address');
		return;
	}

	while (recp.indexOf("\n") >= 0)
      recp = recp.replace('\n', ',');
	  
	var inviteStatus = document.getElementById("inviteStatus");
	inviteStatus.innerHTML = "<img hspace='10' align='absmiddle' src='/images/indicator.gif'/> Sending e-mail...";

    var url = "/invite/?action=inline_invite&to=" + recp + "&from=" + from + "&ts="+new Date().getTime();
   
	g_isInviteWorking = true;
    
	var button = document.getElementById("sendMessageButton");
    button.style.display = 'none';
	
    sendEvent(url, handleInviteHttpResponse);
}

 function handleInviteHttpResponse() {
  
   if (http.readyState != 4)  
     return;
	
   g_isInviteWorking = false;
	
   var response = http.responseText;
   
   var inviteStatus = document.getElementById("inviteStatus");
   
   if (response == 'ok')
   {
	   if (g_onSuccessInvite == null)
	   {
		   
		   inviteStatus.innerHTML = "E-mail invitation successfully sent!";	   
	   }
	   else
	     g_onSuccessInvite(g_InviteCallbackData);
   }
   else
   {
	   inviteStatus.innerHTML = response;
   }
   
   showEmbeddedObjects();
 }
 

function importContacts(importURL)
{
    if (g_isImportWorking == true)
	  return;

	var user 		= document.getElementById("user").value;
	var password	= document.getElementById("password").value;
	var provider	= document.getElementById("provider").value;
	
	if (user.length == 0)
	{
		alert('Please enter a valid user name');
		return;
	}

	if (password.length == 0)
	{
		alert('Please enter a valid password');
		return;
	}

	var inviteStatus = document.getElementById("inviteStatus");
	inviteStatus.innerHTML = "<img hspace='10' align='absmiddle' src='/images/indicator.gif'/> Importing e-mails, please wait...";

	g_isImportWorking = true;

    var url = importURL + "/contacts/?ts=" + new Date().getTime();
	
    http.open("post", url, true); 
	http.onreadystatechange = handleImportHttpResponse;
	
	http.send("useremail=" + user + "&password=" + password + "&provider=" + provider); 
}

 function handleImportHttpResponse() {
  
   if (http.readyState != 4)  
     return;
	
   g_isImportWorking = false;
	
   var response = http.responseText;
   
   var inviteStatus = document.getElementById("inviteStatus");
   
   if (response == 'ERR'){
	   inviteStatus.innerHTML = "Failed to import e-mails. Please check e-mail or password.";
   } else {
	   if (g_onSuccessInvite == null)
	   {
		   inviteStatus.innerHTML = "E-mails successfully imported. Click 'Send' when ready.";
			
			var recp = document.getElementById("to");
			recp.value=response;
			recp.focus();
	   }
	   else
	     g_onSuccessInvite(g_InviteCallbackData);
   }
   
   showEmbeddedObjects();
 }
