﻿
function QuestionShowDetailsForThisQuestion(QuestionID,Category,ShowOrHide)
{
	if (ShowOrHide == true)
	{
		new Effect.BlindDown('HiddenQuestionDetails' + Category + QuestionID);
		document.getElementById('DivQuestionDetails' + Category + QuestionID).innerHTML = '<a href="javascript:QuestionShowDetailsForThisQuestion(' + QuestionID + ', \'' + Category + '\', false);"" title=""Hide the question details"">Hide Details</a>';
	}
	else
	{
		new Effect.BlindUp('HiddenQuestionDetails' + Category + QuestionID);
		document.getElementById('DivQuestionDetails' + Category + QuestionID).innerHTML = '<a href="javascript:QuestionShowDetailsForThisQuestion(' + QuestionID + ', \'' + Category + '\', true);"" title=""Show the question details"">Details</a>';
	}
}
function QuestionsRankThisQuestion(QuestionID,Category)
{
	Questions.QuestionsRankThisQuestion(document.getElementById('TheMemberID').value, QuestionID, Category, OnCompleteQuestionsRankThisQuestion, OnTimeout, OnError);
}

function OnCompleteQuestionsRankThisQuestion(value)
{
	QuestionsMakeTheVotedShowUpAndTheSpamDissapear(value.QuestionID)
}


function QuestionsMakeTheVotedShowUpAndTheSpamDissapear(QuestionID)
{
	var DivRankQuestionsAnsweredCorrectly = document.getElementById('DivRankQuestionsAnsweredCorrectly' + QuestionID)
	var DivQuestionIsSpamAnsweredCorrectly = document.getElementById('DivQuestionIsSpamAnsweredCorrectly' + QuestionID)
	var DivRankQuestionsAnsweredIncorrectly = document.getElementById('DivRankQuestionsAnsweredIncorrectly' + QuestionID)
	var DivQuestionIsSpamAnsweredIncorrectly = document.getElementById('DivQuestionIsSpamAnsweredIncorrectly' + QuestionID)
	var DivRankQuestionsSaved = document.getElementById('DivRankQuestionsSaved' + QuestionID)
	var DivQuestionIsSpamSaved = document.getElementById('DivQuestionIsSpamSaved' + QuestionID)
	var DivRankQuestionsAuthoredQuestions = document.getElementById('DivRankQuestionsAuthoredQuestions' + QuestionID)
	var DivQuestionIsSpamAuthoredQuestions = document.getElementById('DivQuestionIsSpamAuthoredQuestions' + QuestionID)
	var DivRankQuestionsLatestQuestionsLoggedIn = document.getElementById('DivRankQuestionsLatestQuestionsLoggedIn' + QuestionID)
	var DivQuestionIsSpamLatestQuestionsLoggedIn = document.getElementById('DivQuestionIsSpamLatestQuestionsLoggedIn' + QuestionID)
	var DivRankQuestionsQuestionsOfInterestLoggedIn = document.getElementById('DivRankQuestionsQuestionsOfInterestLoggedIn' + QuestionID)
	var DivQuestionIsSpamQuestionsOfInterestLoggedIn = document.getElementById('DivQuestionIsSpamQuestionsOfInterestLoggedIn' + QuestionID)
	if (DivRankQuestionsAnsweredCorrectly)
	{
		DivRankQuestionsAnsweredCorrectly.innerHTML = 'Voted';
	}
	if (DivQuestionIsSpamAnsweredCorrectly)
	{
		DivQuestionIsSpamAnsweredCorrectly.style.display = 'none';
		DivQuestionIsSpamAnsweredCorrectly.style.visibility = 'hidden';
	}
	if (DivRankQuestionsAnsweredIncorrectly)
	{
		DivRankQuestionsAnsweredIncorrectly.innerHTML = 'Voted';
	}
	if (DivQuestionIsSpamAnsweredIncorrectly)
	{
		DivQuestionIsSpamAnsweredIncorrectly.style.display = 'none';
		DivQuestionIsSpamAnsweredIncorrectly.style.visibility = 'hidden';
	}
	if (DivRankQuestionsSaved)
	{
		DivRankQuestionsSaved.innerHTML = 'Voted';
	}
	if (DivQuestionIsSpamSaved)
	{
		DivQuestionIsSpamSaved.style.display = 'none';
		DivQuestionIsSpamSaved.style.visibility = 'hidden';
	}
	if (DivRankQuestionsAuthoredQuestions)
	{
		DivRankQuestionsAuthoredQuestions.innerHTML = 'Voted';
	}
	if (DivQuestionIsSpamAuthoredQuestions)
	{
		DivQuestionIsSpamAuthoredQuestions.style.display = 'none';
		DivQuestionIsSpamAuthoredQuestions.style.visibility = 'hidden';
	}
	if (DivRankQuestionsLatestQuestionsLoggedIn)
	{
		DivRankQuestionsLatestQuestionsLoggedIn.innerHTML = 'Voted';
	}
	if (DivQuestionIsSpamLatestQuestionsLoggedIn)
	{
		DivQuestionIsSpamLatestQuestionsLoggedIn.style.display = 'none';
		DivQuestionIsSpamLatestQuestionsLoggedIn.style.visibility = 'hidden';
	}
	if (DivRankQuestionsQuestionsOfInterestLoggedIn)
	{
		DivRankQuestionsQuestionsOfInterestLoggedIn.innerHTML = 'Voted';
	}
	if (DivQuestionIsSpamQuestionsOfInterestLoggedIn)
	{
		DivQuestionIsSpamQuestionsOfInterestLoggedIn.style.display = 'none';
		DivQuestionIsSpamQuestionsOfInterestLoggedIn.style.visibility = 'hidden';
	}
}

function QuestionsTagThisQuestion(QuestionID,Category)
{
	Questions.QuestionsTagThisQuestion(document.getElementById('TheMemberID').value, QuestionID, Category, OnCompleteQuestionsTagThisQuestion, OnTimeout, OnError);
}

function OnCompleteQuestionsTagThisQuestion(value)
{
	document.getElementById('DivTagLinkQuestions' + value.Category + value.QuestionID).innerHTML = '<a href="javascript:QuestionsCloseTagThisQuestion(' + value.QuestionID + ', \'' + value.Category + '\');"" title=""Tag this question"">Hide Tags</a>';
	document.getElementById('DivTagQuestions' + value.Category + value.QuestionID).innerHTML = value.TagHTML;
	new Effect.BlindDown('DivTagQuestions' + value.Category + value.QuestionID);
}

function QuestionsCloseTagThisQuestion(QuestionID,Category)
{
	new Effect.BlindUp('DivTagQuestions' + Category + QuestionID);
	document.getElementById('DivTagLinkQuestions' + Category + QuestionID).innerHTML = '<a href="javascript:QuestionsTagThisQuestion(' + QuestionID + ', \'' + Category + '\');" title="Tag this question">Tag</a>';
}

function AddQuestionTagToList(Tag, QuestionID)
{
    var res = document.getElementById('Tags'+ QuestionID);
    res.value += Tag + ' ';
}


function QuestionsTagsQuestion(QuestionID,Category)
{
	Questions.QuestionsTagsQuestion(document.getElementById('TheMemberID').value, QuestionID, document.getElementById('Tags'+QuestionID).value, Category, OnCompleteQuestionsTagsQuestion, OnTimeout, OnError);
}


function OnCompleteQuestionsTagsQuestion(value)
{	
	new Effect.BlindUp('DivTagQuestions' + value.Category + value.QuestionID);
	document.getElementById('DivTagLinkQuestions' + value.Category + value.QuestionID).innerHTML = '<a href="javascript:QuestionsTagThisQuestion(' + value.QuestionID + ', \'' + value.Category + '\');" title="Tag this question">Tag</a>';
}


function QuestionsSaveThisQuestion(QuestionID,Category)
{
	Questions.QuestionSaveThisQuestion(document.getElementById('TheMemberID').value, QuestionID, Category, OnCompleteQuestionSaveThisQuestion, OnTimeout, OnError);
}

function OnCompleteQuestionSaveThisQuestion(value)
{
	var TheJavascriptToReturnPart1 = '<a href="javascript:QuestionsDoNotSaveThisQuestion(' + value.QuestionID + ',\'';
	var TheJavascriptToReturnPart2 = '\');" title="Do not save this question">Saved</a>';
	QuestionsMakeTheSavedUpdateForAllSavedOptions(value.QuestionID,TheJavascriptToReturnPart1,TheJavascriptToReturnPart2);
	var HeadNumberOfSavedQuestions = document.getElementById('HeadNumberOfSavedQuestions');
	if (HeadNumberOfSavedQuestions)
	{
	var TheNewCount = Number(parseInt(HeadNumberOfSavedQuestions.innerHTML) + 1);
	HeadNumberOfSavedQuestions.innerHTML = TheNewCount;
	}
}

function QuestionsDoNotSaveThisQuestion(QuestionID,Category)
{
	Questions.QuestionDoNotSaveThisQuestion(document.getElementById('TheMemberID').value, QuestionID, Category, OnCompleteQuestionsDoNotSaveThisQuestion, OnTimeout, OnError);
}

function OnCompleteQuestionsDoNotSaveThisQuestion(value)
{
	var TheJavascriptToReturnPart1 = '<a href="javascript:QuestionsSaveThisQuestion(' + value.QuestionID + ',\'';
	var TheJavascriptToReturnPart2 = '\');" title="Save this question">Save</a>';
	QuestionsMakeTheSavedUpdateForAllSavedOptions(value.QuestionID,TheJavascriptToReturnPart1,TheJavascriptToReturnPart2);
	var HeadNumberOfSavedQuestions = document.getElementById('HeadNumberOfSavedQuestions');
	if (HeadNumberOfSavedQuestions)
	{
	var TheNewCount = Number(parseInt(HeadNumberOfSavedQuestions.innerHTML) - 1);
	HeadNumberOfSavedQuestions.innerHTML = TheNewCount;
	}
}

function QuestionsMakeTheSavedUpdateForAllSavedOptions(QuestionID,TheJavascriptToReturnPart1,TheJavascriptToReturnPart2)
{
	var DivSaveQuestionsAnsweredCorrectly = document.getElementById('DivSaveQuestionsAnsweredCorrectly' + QuestionID);
	var DivSaveQuestionsAnsweredIncorrectly = document.getElementById('DivSaveQuestionsAnsweredIncorrectly' + QuestionID);
	var DivSaveQuestionsSaved = document.getElementById('DivSaveQuestionsSaved' + QuestionID);
	var DivSaveQuestionsAuthoredQuestions = document.getElementById('DivSaveQuestionsAuthoredQuestions' + QuestionID);
	var DivSaveQuestionsLatestQuestionsLoggedIn = document.getElementById('DivSaveQuestionsLatestQuestionsLoggedIn' + QuestionID);
	var DivSaveQuestionsQuestionsOfInterestLoggedIn = document.getElementById('DivSaveQuestionsQuestionsOfInterestLoggedIn' + QuestionID);
	if (DivSaveQuestionsAnsweredCorrectly)
	{
		DivSaveQuestionsAnsweredCorrectly.innerHTML = TheJavascriptToReturnPart1 + 'AnsweredCorrectly' + TheJavascriptToReturnPart2;
	}
	if (DivSaveQuestionsAnsweredIncorrectly)
	{
		DivSaveQuestionsAnsweredIncorrectly.innerHTML = TheJavascriptToReturnPart1 + 'AnsweredIncorrectly' + TheJavascriptToReturnPart2;
	}
	if (DivSaveQuestionsSaved)
	{
		DivSaveQuestionsSaved.innerHTML = TheJavascriptToReturnPart1 + 'Saved' + TheJavascriptToReturnPart2;
	}
	if (DivSaveQuestionsAuthoredQuestions)
	{
		DivSaveQuestionsAuthoredQuestions.innerHTML = TheJavascriptToReturnPart1 + 'AuthoredQuestions' + TheJavascriptToReturnPart2;
	}
	if (DivSaveQuestionsLatestQuestionsLoggedIn)
	{
		DivSaveQuestionsLatestQuestionsLoggedIn.innerHTML = TheJavascriptToReturnPart1 + 'LatestQuestionsLoggedIn' + TheJavascriptToReturnPart2;
	}
	if (DivSaveQuestionsQuestionsOfInterestLoggedIn)
	{
		DivSaveQuestionsQuestionsOfInterestLoggedIn.innerHTML = TheJavascriptToReturnPart1 + 'QuestionsOfInterestLoggedIn' + TheJavascriptToReturnPart2;
	}	
}


function QuestionsMarkThisQuestionAsSpam(QuestionID)
{
	var answer = confirm ("Are you sure this question provides no value?");
	if (answer)
	{		
		Questions.QuestionsRankThisQuestionAsSpam(document.getElementById('TheMemberID').value, QuestionID,  OnCompleteQuestionsRankThisQuestionAsSpam, OnTimeout, OnError);
	}
}

function OnCompleteQuestionsRankThisQuestionAsSpam(value)
{
	QuestionsMakeTheVotedShowUpAndTheSpamDissapear(value)
}

function QuestionDetailsTagThisQuestion()
{
	if (document.getElementById('ctl00_ContentPlaceHolder1_MemberTagAQuestion').style.display == 'none')
	{
		new Effect.BlindDown('ctl00_ContentPlaceHolder1_MemberTagAQuestion');
	}
	else
	{		
		new Effect.BlindUp('ctl00_ContentPlaceHolder1_MemberTagAQuestion');
	}
}


function QuestionDetailsAddTagToList(Tag)
{
    var res = document.getElementById('Tags');
    res.value += Tag + ' ';
}


function QuestionDetailsAddTagsQuestion()
{
	QuestionDetails.QuestionDetailsTagThisQuestion(document.getElementById('TheMemberID').value, document.getElementById('TheQuestionKey').value, document.getElementById('Tags').value, OnCompleteQuestionDetailsAddTagsQuestion, OnTimeout, OnError);
}


function OnCompleteQuestionDetailsAddTagsQuestion(value)
{	
	document.getElementById('TheQuestionTags').innerHTML = value;
	QuestionDetailsTagThisQuestion()	
}

function QuestionDetailsRankThisQuestion(QuestionID)
{
	QuestionDetails.QuestionDetailsRankThisQuestion(document.getElementById('TheMemberID').value, QuestionID, OnCompleteQuestionDetailsRankThisQuestion, OnTimeout, OnError);
}

function OnCompleteQuestionDetailsRankThisQuestion(value)
{
	var VoteForAQuestionDiv = document.getElementById('VoteForAQuestionDiv');
	var DivQuestionIsSpam = document.getElementById('DivQuestionIsSpam');
	VoteForAQuestionDiv.innerHTML = 'Voted';
	DivQuestionIsSpam.innerHTML = '';	
}

function QuestionDetailsMarkThisQuestionAsSpam(QuestionID)
{
	var answer = confirm ("Are you sure this question provides no value?");
	if (answer)
	{		
		QuestionDetails.QuestionsRankThisQuestionAsSpam(document.getElementById('TheMemberID').value, QuestionID,  OnCompleteQuestionDetailsRankThisQuestion, OnTimeout, OnError);
	}
}

function QuestionDetailsSaveThisQuestion()
{
	QuestionDetails.QuestionDetailsSaveThisQuestion(document.getElementById('TheMemberID').value, document.getElementById('TheQuestionKey').value, OnCompleteQuestionDetailsSaveThisQuestion, OnTimeout, OnError);
}

function OnCompleteQuestionDetailsSaveThisQuestion(value)
{
	document.getElementById('SaveAQuestionDiv').innerHTML = '<a href="javascript:QuestionDetailsDoNotSaveThisQuestion();" title="Do not save this question">Saved</a>';
}

function QuestionDetailsDoNotSaveThisQuestion()
{
	QuestionDetails.QuestionDetailsDoNotSaveThisQuestion(document.getElementById('TheMemberID').value, document.getElementById('TheQuestionKey').value, OnCompleteQuestionDetailsDoNotSaveThisQuestion, OnTimeout, OnError);
}

function OnCompleteQuestionDetailsDoNotSaveThisQuestion(value)
{
	document.getElementById('SaveAQuestionDiv').innerHTML = '<a href="javascript:QuestionDetailsSaveThisQuestion();" title="Save this question">Save</a>';
}

function QuestionDetailsShowCommentsForThisQuestion()
{
	if (document.getElementById('ctl00_ContentPlaceHolder1_QuestionCommentsBox').style.display == 'none')
	{
		new Effect.BlindDown('ctl00_ContentPlaceHolder1_QuestionCommentsBox');
	}
	else
	{		
		new Effect.BlindUp('ctl00_ContentPlaceHolder1_QuestionCommentsBox');
	}
}

function PostACommentToggle() {
    var TheCommentsBox = document.getElementById('divHiddenPostACommentBox');
    if (TheCommentsBox.style.display == 'none')
	{
	    TheCommentsBox.style.display = 'block';
	}
	else
	{
	    TheCommentsBox.style.display = 'none';
	}
}

function AddQuestionComment()  
{
	QuestionDetails.InsertCommentForThisQuestion(document.getElementById('TheMemberID').value,document.getElementById('TheQuestionKey').value, document.getElementById('AddAComment').value, OnCompleteAddQuestionComment, OnTimeout, OnError);
}

function OnCompleteAddQuestionComment(value) 
{
	var ctl00_ContentPlaceHolder1_lblQuestionComments = document.getElementById('ctl00_ContentPlaceHolder1_lblQuestionComments');
	ctl00_ContentPlaceHolder1_lblQuestionComments.innerHTML = value;
	var NumberOfCommentsForAQuestion = document.getElementById('NumberOfCommentsForAQuestion');
	var TheNewCount = Number(parseInt(NumberOfCommentsForAQuestion.innerHTML) + 1);
	NumberOfCommentsForAQuestion.innerHTML = TheNewCount;
}


function confirmationasspamForACommentForAQuestion(CommentID) 
{
	var answer = confirm("Are you sure you want to delete this comment?")
	if (answer)
	{
		QuestionDetails.QuestionAdminRemoveACommentFromAQuestion(document.getElementById('TheMemberID').value, document.getElementById('TheQuestionKey').value, CommentID, OnCompleteconfirmationasspamForACommentForAQuestion, OnTimeout, OnError);
	}
}

function OnCompleteconfirmationasspamForACommentForAQuestion(value) {

	var ctl00_ContentPlaceHolder1_lblQuestionComments = document.getElementById('ctl00_ContentPlaceHolder1_lblQuestionComments');
	ctl00_ContentPlaceHolder1_lblQuestionComments.innerHTML = value;
	var NumberOfCommentsForAQuestion = document.getElementById('NumberOfCommentsForAQuestion');
	var TheNewCount = Number(parseInt(NumberOfCommentsForAQuestion.innerHTML) - 1);
	NumberOfCommentsForAQuestion.innerHTML = TheNewCount;
}

function QuestionDetailsShowImprovementsForThisQuestion()
{
	if (document.getElementById('ctl00_ContentPlaceHolder1_TheImprovementsBox').style.display == 'none')
	{
		new Effect.BlindDown('ctl00_ContentPlaceHolder1_TheImprovementsBox');
	}
	else
	{		
		new Effect.BlindUp('ctl00_ContentPlaceHolder1_TheImprovementsBox');
	}
}

function SuggestImprovementToAQuestionToggle() {
    var TheSuggestionBox = document.getElementById('divHiddenSuggestAnImprovementBox');
    if (TheSuggestionBox.style.display == 'none')
	{
	    TheSuggestionBox.style.display = 'block';
	}
	else
	{
	    TheSuggestionBox.style.display = 'none';
	}
}

function AddQuestionImprovement() 
{
	QuestionDetails.InsertImprovementForThisQuestion(document.getElementById('TheMemberID').value,document.getElementById('TheQuestionKey').value, document.getElementById('AddAnImprovement').value, OnCompleteAddQuestionImprovement, OnTimeout, OnError);
}

function OnCompleteAddQuestionImprovement(value) 
{
	var ctl00_ContentPlaceHolder1_lblTheImprovements = document.getElementById('ctl00_ContentPlaceHolder1_lblTheImprovements');
	ctl00_ContentPlaceHolder1_lblTheImprovements.innerHTML = value;
	var NumberOfImprovementsForAQuestion = document.getElementById('NumberOfImprovementsForAQuestion');
	var TheNewCount = Number(parseInt(NumberOfImprovementsForAQuestion.innerHTML) + 1);
	NumberOfImprovementsForAQuestion.innerHTML = TheNewCount;
}

function MarkImprovementAsSolvedOrUnresolvedForAQuestion(ReportProblemID, IsResolved)
{
		QuestionDetails.MarkImprovementAsSolvedOrUnresolvedForAQuestion(document.getElementById('TheMemberID').value, document.getElementById('TheQuestionKey').value,ReportProblemID,IsResolved, OnCompleteMarkImprovementAsSolvedOrUnresolvedForAQuestion, OnTimeout, OnError);
}

function OnCompleteMarkImprovementAsSolvedOrUnresolvedForAQuestion(value) 
{
	var ctl00_ContentPlaceHolder1_lblTheImprovements = document.getElementById('ctl00_ContentPlaceHolder1_lblTheImprovements');
	ctl00_ContentPlaceHolder1_lblTheImprovements.innerHTML = value;
}

function confirmationasspamForASuggestedImprovementForAQuestion(ExamsProblemID) 
{
	var answer = confirm("Are you sure you want to delete this suggestion?")
	if (answer)
	{
		QuestionDetails.ExamAdminRemoveASuggestedImprovementFromAQuestion(document.getElementById('TheMemberID').value, document.getElementById('TheQuestionKey').value,ExamsProblemID, OnCompleteconfirmationasspamForASuggestedImprovementForAQuestion, OnTimeout, OnError);
	}
}

function OnCompleteconfirmationasspamForASuggestedImprovementForAQuestion(value) {

	var ctl00_ContentPlaceHolder1_lblTheImprovements = document.getElementById('ctl00_ContentPlaceHolder1_lblTheImprovements');
	ctl00_ContentPlaceHolder1_lblTheImprovements.innerHTML = value;
	var NumberOfImprovementsForAQuestion = document.getElementById('NumberOfImprovementsForAQuestion');
	var TheNewCount = Number(parseInt(NumberOfImprovementsForAQuestion.innerHTML) - 1);
	NumberOfImprovementsForAQuestion.innerHTML = TheNewCount;
}
function Questioncopyrighttoggle()
{
	if (document.getElementById('divHiddencopyrightBox').style.display == 'none')
	{
		new Effect.BlindDown('divHiddencopyrightBox');
	}
	else
	{		
		new Effect.BlindUp('divHiddencopyrightBox');
	}
}




function ReportQuestionAsBreakingCopyrightPolicy() 
{
    QuestionDetails.ReportQuestionAsBreakingCopyrightPolicy(document.getElementById('TheMemberID').value,document.getElementById('TheQuestionKey').value, document.getElementById('ReportAscopyright').value, OnCompleteReportQuestionAsBreakingCopyrightPolicy, OnTimeout, OnError);
}

function OnCompleteReportQuestionAsBreakingCopyrightPolicy(value) 
{
    var BreakingCopyrightPolicy = document.getElementById('copyright');
	BreakingCopyrightPolicy.innerHTML = '';
    var divHiddencopyrightBox = document.getElementById('divHiddencopyrightBox');
    divHiddencopyrightBox.innerHTML = '<span style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; font-weight: bold; color: #B60000;">Thank you for your report. We will look into the question in detail to see if policy has been broken.</span>';
}

function ShowPastUsedTagsForASpecificCategory(QuestionID,Category)
{
    if (document.getElementById('PastUsedTags' + QuestionID + Category).style.display == 'none')
	    {
		    new Effect.Appear('PastUsedTags' + QuestionID + Category);
	        var SpanShowPastTags = document.getElementById('SpanShowPastTags'+QuestionID+Category);		
	        SpanShowPastTags.innerHTML = '<a href="javascript:ShowPastUsedTagsForASpecificCategory(' + QuestionID + ',\'' + Category + '\');">Hide past tags</a>';		    
	    }
	    else
	    {
		    new Effect.Fade('PastUsedTags' + QuestionID + Category);
	        var SpanShowPastTags = document.getElementById('SpanShowPastTags'+QuestionID+Category);		
	        SpanShowPastTags.innerHTML = '<a href="javascript:ShowPastUsedTagsForASpecificCategory(' + QuestionID + ',\'' + Category + '\');">Show past tags</a>';	
	    }
}