﻿var ReportTargetId;
var IsPageInited;

function LinkHelperUrl_Click(eventElement) {
		eventElement.target.select();
    }
    
function EventElementToCommentId(eventElement)
{
	var targetId = eventElement.target.id;
	var i = targetId.indexOf("-");
	
    return targetId.slice(i + 1);
}

function CommentLinkHelperButton_Click(eventElement)
{
    $get(LinkHelperUrlId).value = CommentLinkBaseUrl + EventElementToCommentId(eventElement);
}
    
function CommentReporterButton_Click(eventElement)
{
    ReportTargetId = EventElementToCommentId(eventElement);
    
    $get("ReportInitiate").disabled = false;
    $get("ReportOk").className = "sysHidden";
    $get("ReportCancel").className = "";

    $get("ReportProgressMessage").className = "sysHidden";
    $get("ReportSuccessMessage").className = "sysHidden";
    $get("ReportFailureMessage").className = "sysHidden";

    $find("ReporterBehavior").show();
}
    
function CreatePopup(id)
{
	$create(AjaxControlToolkit.PopupControlBehavior, {"PopupControlID":LinkHelperId,"Position":3,"id":"pce_c" + id}, null, null, $get("CommentLinkHelperButton-" + id));
}

function CreatePopups()
{
    for (var i = 0; i < CommentIds.length; i++)
    {
        CreatePopup(CommentIds[i]);
    }
}

function AddClickHandler(id)
{
	$addHandler($get("CommentLinkHelperButton-" + id), "click", CommentLinkHelperButton_Click);
	
	var reporterButton = $get("CommentReporterButton-" + id);
	if (reporterButton != null)
	{
	    $addHandler(reporterButton, "click", CommentReporterButton_Click);
	}
}

function AddClickHandlers()
{
    for (var i = 0; i < CommentIds.length; i++)
    {
        AddClickHandler(CommentIds[i]);
    }
}

function SubmitReport()
{
    $get("ReportInitiate").disabled = true;

    $get("ReportProgressMessage").className = "";
    
    PageMethods.ReportViolation(ReportTargetId, OnSubmitReportSucceeded, OnSubmitReportFailed);
}

function OnSubmitReportSucceeded(result)
{
    $get("ReportOk").className = "";
    $get("ReportCancel").className = "sysHidden";

    $get("ReportProgressMessage").className = "sysHidden";
    $get("ReportSuccessMessage").className = "";
}

function OnSubmitReportFailed(result)
{
    $get("ReportOk").className = "";
    $get("ReportCancel").className = "sysHidden";

    $get("ReportProgressMessage").className = "sysHidden";
    $get("ReportFailureMessage").className = "";
}

function pageLoad(sender, args)
{
	$addHandler($get(LinkHelperUrlId), "click", LinkHelperUrl_Click);
	AddClickHandlers();
}

function page_init(sender)
{
    CreatePopups();
	IsPageInited = true;
}

if (typeof(Sys) != "undefined")
{
Sys.Application.add_init(page_init);
}


if (typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();
