function OpenSlidelogShareForm(idResource)
{
    $("#share_form" + idResource).show();
    HideSlidelogClipboardButtons(idResource);
    ShowShareFormFields(idResource);
}

function CloseSlidelogShareForm(idResource)
{
    $("#share_form" + idResource).hide();
    ShowSlidelogClipboardButtons(idResource);
}

function HideSlidelogClipboardButtons(idResource)
{
    $("#clipboardPlayerEmbedContainer" + idResource).hide();
    $("#clipboardPlayerWordPressEmbedContainer" + idResource).hide();
    $("#clipboardResourceUrlContainer" + idResource).hide();
}

function ShowSlidelogClipboardButtons(idResource)
{
    $("#clipboardPlayerEmbedContainer" + idResource).show();
    $("#clipboardPlayerWordPressEmbedContainer" + idResource).show();
    $("#clipboardResourceUrlContainer" + idResource).show();
}

function CopyEmbed(idField)
{
    CopyToClipboard(GetElementValue(idField));
    SwitchVisibility(idField + "Link");
    SwitchVisibility(idField + "Span");
}

function OpenResourceShareDialog(idResource, shareDialog)
{
	CloseSlidelogShareForm(idResource);
    SwitchVisibility(shareDialog);
}


var g_shareResourceId = 0;


function StartSendFromSlidelog(idResource, useCaptcha)
{
    var emails = GetElement("emails" + idResource).value;
    var userName = GetElement("user_name" + idResource).value;
    var message = GetElement("message" + idResource).value;
    var captcha = "";
    
    if (emails.length == 0)
    {
        alert(LBL_EMAIL_INVALID);
        return;
    }

    if (userName.length == 0)
    {
        alert(LBL_EMPTY_USER);
        return;
    }
    
    if (useCaptcha)
    {
        var publicKey  = window.capt.document.captcha.public_key.value;
        var privateKey = GetElementValue("private_key" + idResource);
        captcha = "&public_key=" + publicKey + "&private_key=" + privateKey;
    }
    
    GetElement("shareProgress" + idResource).style.display = '';
    DisableButton("shareResourceButton" + idResource);

    var url = "/send_shared_resource.php";
    var emails = "emails=" + encodeURI(emails);
    var message = "message=" + encodeURI(message);
    var userName = "user_name=" + encodeURI(userName);
    var resource = "id_resource=" + encodeURI(idResource);
    var isSlidelog = "is_slidelog=1";
    var parameters = emails + "&" + message + "&" + userName + "&" + isSlidelog + "&" + resource + captcha;
    g_shareResourceId = idResource;
    ajaxpage(
    		url, 
    		function (text) 
    		{
    			OnSendFromSlidelog(idResource, text)
    		}, 
    		parameters);
}

function OnSendFromSlidelog(shareResourceId, text)
{   
    GetElement("shareProgress" + shareResourceId).style.display = 'none';
    EnableButton("shareResourceButton" + shareResourceId);
    
    var messages = text.split(";");
    for (var iMessage = 0; iMessage < messages.length; ++iMessage)
    {
        var messageParts = messages[iMessage].split(":");
        AnalyzeMessage(messageParts);
    }
    CloseSlidelogShareForm(shareResourceId);
}

function AnalyzeMessage(messageParts)
{
    var code = parseInt(messageParts[0]);
    switch (code)
    {
        case ERR_EMAIL_EMPTY:
            alert(LBL_EMAIL_INVALID);
            break;
        case ERR_EMAIL_INCORRECT:
            alert(LBL_EMAIL_INVALID + ": " + messageParts[1]);
            break;
        case ERR_EMAIL_SEND_FAIL:
            alert(LBL_EMAIL_SEND_FAIL + ": " + messageParts[1]);
            break;
		case ERR_IMAGE_CHECK_PASS:
			alert(LBL_IMAGE_CHECK_PASS_FAIL);
			break;
        case S_OK:
            SuccessfullyShared();
            break;
    }
}

function SuccessfullyShared()
{
	alert(LNG_SHARED_SUCCESSFULLY);
}

function ShowShareFormFields(shareResourceId)
{
	ResetShareForm(shareResourceId);
	$("share_form" + shareResourceId).show();
}

function ResetShareForm(shareResourceId)
{
	$("#share_form" + shareResourceId + " textarea").val("");
}

function GeneratePrivateKey(resourceId)
{
	GetElement("privateKeyProgress" + resourceId).style.visibility = "";

	var queryString = UriSerialize(["id_resource"], [resourceId]);
	ajaxpage("/generate_private_key.php", OnGeneratePrivateKey, queryString);
}

function OnGeneratePrivateKey(response)
{
	var result = ParseQueryString(response);
	var privateKey = GetQueryStringParam(result, "private_key");
	var resourceId = GetQueryStringParam(result, "id_resource");
	
	GetElement("resourcePrivateKey" + resourceId).value = privateKey;
	GetElement("privateKeyProgress" + resourceId).style.visibility = "hidden";
}

function ShowHtmlPlayerEmbed(resourceId)
{
	SetVisibility("playerEmbedHtml" + resourceId, true);
	SetVisibility("playerEmbedXhtml" + resourceId, false);
}

function ShowXhtmlPlayerEmbed(resourceId)
{
	SetVisibility("playerEmbedHtml" + resourceId, false);
	SetVisibility("playerEmbedXhtml" + resourceId, true);
}