﻿
function ExamsSaveThisExam(ExamKey)
{
	Exams.ExamsSaveThisExam(document.getElementById('TheMemberID').value, ExamKey, OnCompleteExamsSaveThisExam, OnTimeout, OnError);
}

function OnCompleteExamsSaveThisExam(value)
{
	var TheJavascriptToReturnPart = '<a href="javascript:ExamsDoNotSaveThisExam(\'' + value + '\');" title="Do not save this exam">Saved</a>';
	ExamsMakeTheSavedUpdateForAllSavedOptions(value,TheJavascriptToReturnPart);
	var HeadNumberOfSavedExams = document.getElementById('HeadNumberOfSavedExams');
	if (HeadNumberOfSavedExams)
	{
	var TheNewCount = Number(parseInt(HeadNumberOfSavedExams.innerHTML) + 1);
	HeadNumberOfSavedExams.innerHTML = TheNewCount;
	}
}

function ExamsDoNotSaveThisExam(ExamKey)
{
	Exams.ExamsDoNotSaveThisExam(document.getElementById('TheMemberID').value, ExamKey, OnCompleteExamsDoNotSaveThisExam, OnTimeout, OnError);
}

function OnCompleteExamsDoNotSaveThisExam(value)
{
	var TheJavascriptToReturnPart = '<a href="javascript:ExamsSaveThisExam(\'' + value + '\');" title="Save this exam">Save</a>';
	ExamsMakeTheSavedUpdateForAllSavedOptions(value,TheJavascriptToReturnPart);
	var HeadNumberOfSavedExams = document.getElementById('HeadNumberOfSavedExams');
	if (HeadNumberOfSavedExams)
	{
	var TheNewCount = Number(parseInt(HeadNumberOfSavedExams.innerHTML) - 1);
	HeadNumberOfSavedExams.innerHTML = TheNewCount;
	}
}



function ExamsMakeTheSavedUpdateForAllSavedOptions(ExamKey,TheJavascriptToReturnPart)
{
	var DivSaveExamsCompleted = document.getElementById('DivSaveExamsCompleted' + ExamKey);
	var DivSaveExamsIncomplete = document.getElementById('DivSaveExamsIncomplete' + ExamKey);
	var DivSaveExamsSaved = document.getElementById('DivSaveExamsSaved' + ExamKey);
	var DivSaveExamsAdministered = document.getElementById('DivSaveExamsAdministered' + ExamKey);
	var DivSaveExamsLatestExamsLoggedIn = document.getElementById('DivSaveExamsLatestExamsLoggedIn' + ExamKey);
	var DivSaveExamsOfInterestLoggedIn = document.getElementById('DivSaveExamsOfInterestLoggedIn' + ExamKey);
	if (DivSaveExamsCompleted)
	{
		DivSaveExamsCompleted.innerHTML = TheJavascriptToReturnPart;
	}
	if (DivSaveExamsIncomplete)
	{
		DivSaveExamsIncomplete.innerHTML = TheJavascriptToReturnPart;
	}
	if (DivSaveExamsSaved)
	{
		DivSaveExamsSaved.innerHTML = TheJavascriptToReturnPart;
	}
	if (DivSaveExamsAdministered)
	{
		DivSaveExamsAdministered.innerHTML = TheJavascriptToReturnPart;
	}
	if (DivSaveExamsLatestExamsLoggedIn)
	{
		DivSaveExamsLatestExamsLoggedIn.innerHTML = TheJavascriptToReturnPart;
	}
	if (DivSaveExamsOfInterestLoggedIn)
	{
		DivSaveExamsOfInterestLoggedIn.innerHTML = TheJavascriptToReturnPart;
	}	
}


function ExamDetailsTagThisExam()
{
	if (document.getElementById('ctl00_ContentPlaceHolder1_MemberTagAnExam').style.display == 'none')
	{
		new Effect.BlindDown('ctl00_ContentPlaceHolder1_MemberTagAnExam');
	}
	else
	{		
		new Effect.BlindUp('ctl00_ContentPlaceHolder1_MemberTagAnExam');
	}
}


function ExamDetailsAddTagToList(Tag)
{
    var res = document.getElementById('Tags');
    res.value += Tag + ' ';
}


function ExamDetailsAddTagsExam()
{
	Exams.ExamDetailsTagThisExam(document.getElementById('TheMemberID').value, document.getElementById('TheExamKey').value, document.getElementById('Tags').value, OnCompleteExamDetailsAddTagsExam, OnTimeout, OnError);
}


function OnCompleteExamDetailsAddTagsExam(value)
{	
	document.getElementById('TheExamsTags').innerHTML = value;
	ExamDetailsTagThisExam()	
}



function ExamDetailsVotePopUp()
{	
	if (document.getElementById('VotePopUp').style.display == 'none')
	{
		new Effect.Appear('VotePopUp');
	}
	else
	{
		document.getElementById('VotePopUp').style.display = 'none';
	}
}


function ExamDetailsVoteForThisExam(isPositiveVote)
{
	if (isPositiveVote)
	{
		Exams.ExamDetailsVoteForThisExam(document.getElementById('TheMemberID').value,document.getElementById('TheExamKey').value, true,OnCompleteExamDetailsVoteForThisExam, OnTimeout, OnError);
	}
	else
	{
		ExamDetailsVotePopUp();
		document.getElementById('VoteForAnExamDiv').innerHTML = 'Voted';
	}
}


function OnCompleteExamDetailsVoteForThisExam(value)
{
	ExamDetailsVotePopUp();
	document.getElementById('VoteForAnExamDiv').innerHTML = 'Voted';
	var TheCurrentNumberOfVotes = document.getElementById('TheVoteCount');
	var TheNewCount = Number(parseInt(TheCurrentNumberOfVotes.innerHTML) + 1);
	TheCurrentNumberOfVotes.innerHTML = TheNewCount;
}


function ExamDetailsSaveThisExam()
{
	Exams.ExamsSaveThisExam(document.getElementById('TheMemberID').value, document.getElementById('TheExamKey').value, OnCompleteExamDetailsSaveThisExam, OnTimeout, OnError);
}

function OnCompleteExamDetailsSaveThisExam(value)
{
	document.getElementById('SaveAnExamDiv').innerHTML = '<a href="javascript:ExamDetailsDoNotSaveThisExam();" title="Do not save this exam">Saved</a>';
}

function ExamDetailsDoNotSaveThisExam()
{
	Exams.ExamsDoNotSaveThisExam(document.getElementById('TheMemberID').value, document.getElementById('TheExamKey').value, OnCompleteExamDetailsDoNotSaveThisExam, OnTimeout, OnError);
}

function OnCompleteExamDetailsDoNotSaveThisExam(value)
{
	document.getElementById('SaveAnExamDiv').innerHTML = '<a href="javascript:ExamDetailsSaveThisExam();" title="Save this exam">Save</a>';
}


function ExamDetailsShowCommentsForThisExam()
{
	if (document.getElementById('ctl00_ContentPlaceHolder1_ExamCommentsBox').style.display == 'none')
	{
		new Effect.BlindDown('ctl00_ContentPlaceHolder1_ExamCommentsBox');
	}
	else
	{		
		new Effect.BlindUp('ctl00_ContentPlaceHolder1_ExamCommentsBox');
	}
}


function postanexamcommenttoggle()
{
	if (document.getElementById('divHiddenPostACommentBox').style.display == 'none')
	{
		new Effect.BlindDown('divHiddenPostACommentBox');
	}
	else
	{		
		new Effect.BlindUp('divHiddenPostACommentBox');
	}
}


function AddExamComment()  
{
	Exams.InsertCommentForThisExam(document.getElementById('TheMemberID').value,document.getElementById('TheExamKey').value, document.getElementById('AddAComment').value, OnCompleteAddExamComment, OnTimeout, OnError);
}

function OnCompleteAddExamComment(value) 
{
	var ctl00_ContentPlaceHolder1_lblExamComments = document.getElementById('ctl00_ContentPlaceHolder1_lblExamComments');
	ctl00_ContentPlaceHolder1_lblExamComments.innerHTML = value;
	var NumberOfCommentsForAnExam = document.getElementById('NumberOfCommentsForAnExam');
	var TheNewCount = Number(parseInt(NumberOfCommentsForAnExam.innerHTML) + 1);
	NumberOfCommentsForAnExam.innerHTML = TheNewCount;
}

function ExamDetailsViewTheExam()
{
	var HideTheExamCover = document.getElementById('HideTheExamCover');
	HideTheExamCover.style.visibility = 'hidden';
	HideTheExamCover.style.display = 'none';
	var NextQuestion = document.getElementById('NextQuestion');
	var TotalNumberOfQuestions = Number(parseInt(document.getElementById('TotalNumberOfQuestions').innerHTML));
	if (NextQuestion)
	{
	    if (TotalNumberOfQuestions > 1)
	    {
		NextQuestion.disabled = false;
		}
	}
}


function confirmationasspamForACommentForAnExam(CommentID) 
{
	var answer = confirm("Are you sure you want to delete this comment?")
	if (answer)
	{
		Exams.ExamAdminRemoveACommentFromAnExam(document.getElementById('TheMemberID').value, document.getElementById('TheExamKey').value,CommentID, OnCompleteExamAdminRemoveACommentFromAnExam, OnTimeout, OnError);
	}
}

function OnCompleteExamAdminRemoveACommentFromAnExam(value) {

	var ctl00_ContentPlaceHolder1_lblExamComments = document.getElementById('ctl00_ContentPlaceHolder1_lblExamComments');
	ctl00_ContentPlaceHolder1_lblExamComments.innerHTML = value;
	var NumberOfCommentsForAnExam = document.getElementById('NumberOfCommentsForAnExam');
	var TheNewCount = Number(parseInt(NumberOfCommentsForAnExam.innerHTML) - 1);
	NumberOfCommentsForAnExam.innerHTML = TheNewCount;
}



function ExamDetailsShowImprovementsForThisExam()
{
	if (document.getElementById('ctl00_ContentPlaceHolder1_TheImprovementsBox').style.display == 'none')
	{
		new Effect.BlindDown('ctl00_ContentPlaceHolder1_TheImprovementsBox');
	}
	else
	{		
		new Effect.BlindUp('ctl00_ContentPlaceHolder1_TheImprovementsBox');
	}
}

function suggestimprovementToAnExamtoggle()
{
	if (document.getElementById('divHiddenSuggestAnImprovementBox').style.display == 'none')
	{
		new Effect.BlindDown('divHiddenSuggestAnImprovementBox');
	}
	else
	{		
		new Effect.BlindUp('divHiddenSuggestAnImprovementBox');
	}
}

function Examcopyrighttoggle()
{
	if (document.getElementById('divHiddencopyrightBox').style.display == 'none')
	{
		new Effect.BlindDown('divHiddencopyrightBox');
	}
	else
	{		
		new Effect.BlindUp('divHiddencopyrightBox');
	}
}

function AddExamImprovement() 
{
	Exams.InsertImprovementForThisExam(document.getElementById('TheMemberID').value,document.getElementById('TheExamKey').value, document.getElementById('AddAnImprovement').value, OnCompleteAddExamImprovement, OnTimeout, OnError);
}

function OnCompleteAddExamImprovement(value) 
{
	var ctl00_ContentPlaceHolder1_lblTheImprovements = document.getElementById('ctl00_ContentPlaceHolder1_lblTheImprovements');
	ctl00_ContentPlaceHolder1_lblTheImprovements.innerHTML = value;
	var NumberOfImprovementsForAnExam = document.getElementById('NumberOfImprovementsForAnExam');
	var TheNewCount = Number(parseInt(NumberOfImprovementsForAnExam.innerHTML) + 1);
	NumberOfImprovementsForAnExam.innerHTML = TheNewCount;
}


function MarkImprovementAsSolvedOrUnresolvedForAnExam(ExamsProblemID, IsResolved)
{
		Exams.MarkImprovementAsSolvedOrUnresolvedForAnExam(document.getElementById('TheMemberID').value, document.getElementById('TheExamKey').value,ExamsProblemID,IsResolved, OnCompleteMarkImprovementAsSolvedOrUnsolvedForAnExam, OnTimeout, OnError);
}

function OnCompleteMarkImprovementAsSolvedOrUnsolvedForAnExam(value) 
{

	var ctl00_ContentPlaceHolder1_lblTheImprovements = document.getElementById('ctl00_ContentPlaceHolder1_lblTheImprovements');
	ctl00_ContentPlaceHolder1_lblTheImprovements.innerHTML = value;
}

function confirmationasspamForASuggestedImprovementForAnExam(ExamsProblemID) 
{
	var answer = confirm("Are you sure you want to delete this suggestion?")
	if (answer)
	{
		Exams.ExamAdminRemoveASuggestedImprovementFromAnExam(document.getElementById('TheMemberID').value, document.getElementById('TheExamKey').value,ExamsProblemID, OnCompleteExamAdminRemoveASuggestedImprovementFromAnExam, OnTimeout, OnError);
	}
}

function OnCompleteExamAdminRemoveASuggestedImprovementFromAnExam(value) {

	var ctl00_ContentPlaceHolder1_lblTheImprovements = document.getElementById('ctl00_ContentPlaceHolder1_lblTheImprovements');
	ctl00_ContentPlaceHolder1_lblTheImprovements.innerHTML = value;
	var NumberOfImprovementsForAnExam = document.getElementById('NumberOfImprovementsForAnExam');
	var TheNewCount = Number(parseInt(NumberOfImprovementsForAnExam.innerHTML) - 1);
	NumberOfImprovementsForAnExam.innerHTML = TheNewCount;
}


function ReportExamAsBreakingCopyrightPolicy() 
{
    Exams.ReportExamAsBreakingExamCopyrightPolicy(document.getElementById('TheMemberID').value,document.getElementById('TheExamKey').value, document.getElementById('ReportAscopyright').value, OnCompleteReportExamAsBreakingExamCopyrightPolicy, OnTimeout, OnError);
}

function OnCompleteReportExamAsBreakingExamCopyrightPolicy(value) 
{
    var BreakingCopyrightPolicy = document.getElementById('copyright');
	BreakingCopyrightPolicy.innerHTML = '';
    var divHiddencopyrightBox = document.getElementById('divHiddencopyrightBox');
    divHiddencopyrightBox.innerHTML = '<span style="font-size: 14px; font-weight: bold; color: #B60000;">Thank you for your report. We will look into the exam in detail to see if policy has been broken</span>';
}

function RemoveThisCompletedExam(ExamKey,ExamSessionCode)
{
	var answer = confirm("Are you sure you want to remove this exam?")
	if (answer)
	{
		Exams.RemoveThisCompletedExam(document.getElementById('TheMemberID').value, ExamKey, ExamSessionCode, document.getElementById('HeadNumberOfCompletedExams').innerHTML, OnCompleteRemoveThisCompletedExam, OnTimeout, OnError);
	}
}

function OnCompleteRemoveThisCompletedExam(value) 
{
	var MembersCompletedExamsBox = document.getElementById('MembersCompletedExamsBox');
	MembersCompletedExamsBox.innerHTML = value;
	var HeadNumberOfCompletedExams = document.getElementById('HeadNumberOfCompletedExams');
	var TheNewCount = Number(parseInt(HeadNumberOfCompletedExams.innerHTML) - 1);
	HeadNumberOfCompletedExams.innerHTML = TheNewCount;
}

function RemoveThisCompletedExamFromCompletedExamsPage(ExamKey,ExamSessionCode)
{
	var answer = confirm("Are you sure you want to remove this exam?")
	if (answer)
	{
		Exams.RemoveThisCompletedExamFromCompletedExamsPage(document.getElementById('TheMemberID').value, ExamKey, ExamSessionCode, document.getElementById('HeadNumberOfCompletedExams').innerHTML, OnCompleteRemoveThisCompletedExamFromCompletedExamsPage, OnTimeout, OnError);
	}
}

function OnCompleteRemoveThisCompletedExamFromCompletedExamsPage(value) 
{
	new Effect.BlindUp('ExamBox' + value);
	var HeadNumberOfCompletedExams = document.getElementById('HeadNumberOfCompletedExams');
	var TheNewCount = Number(parseInt(HeadNumberOfCompletedExams.innerHTML) - 1);
	HeadNumberOfCompletedExams.innerHTML = TheNewCount;
}

function RemoveThisIncompleteExamExamsPage(ExamKey,ExamSessionCode)
{
	var answer = confirm("Are you sure you want to remove this exam?")
	if (answer)
	{
		Exams.RemoveThisIncompleteExam(document.getElementById('TheMemberID').value, ExamKey, ExamSessionCode, document.getElementById('HeadNumberOfCompletedExams').innerHTML, OnCompleteRemoveThisIncompleteExamExamsPage, OnTimeout, OnError);
	}
}

function OnCompleteRemoveThisIncompleteExamExamsPage(value) 
{
	var MembersIncompleteExamsBox = document.getElementById('MembersIncompleteExamsBox');
	MembersIncompleteExamsBox.innerHTML = value;
	var HeadNumberOfIncompletedExams = document.getElementById('HeadNumberOfIncompletedExams');
	var TheNewCount = Number(parseInt(HeadNumberOfIncompletedExams.innerHTML) - 1);
	HeadNumberOfIncompletedExams.innerHTML = TheNewCount;
}



function RequestToBeAnAdminOfThisExam() {
    var RequestToBeAnAdmin = document.getElementById('RequestToBeAnAdmin');
    RequestToBeAnAdmin.disabled = true;
    Exams.RequestToBeAnAdminOfThisExam(document.getElementById('TheMemberID').value, document.getElementById('TheExamKey').value, OnCompleteRequestToBeAnAdminOfThisExam, OnTimeout, OnError);
}


function OnCompleteRequestToBeAnAdminOfThisExam(value) {
    document.getElementById('DivRequestToBeAnAdmin').innerHTML = 'The request has been sent';
}
