//***********************************************************************
//* APPLICATION	: WTO Web Site
//* COMPONENT	: 
//* PAGE		: 
//* CREATION	: 14/01/2002
//* AUTHOR		: Jane M Pickett
//* CONTENT		: Functions for cbt courses
//*		
//***********************************************************************
//* UPDATES		:
//*
//***********************************************************************
//* FUNCTIONS	:
//* cbtSignin(pagename) 
//***********************************************************************
<!--

	var course_userid;
	var cookie_array = new Array();
	var cookie_names_array = new Array();
	var cookie_values_array = new Array();
	var cookie_temp = new Array();
	var expiry_date = ";expires=Thursday, 20-Dec-31 12:00:00 GMT";
	var cookie_string;
	var current_settings;
	var cookie_string_array = new Array();
	var current_settings_array = new Array();
	var start_index = num_chapters + 3;
	var first_letter;
	var questionnum = 0;
	var nextquestionnum = 0;
	var lastquestionnum = 0;
	var array_index;

//***********************************************************************
// 
//***********************************************************************
function cbtCreateCurrentSettings() 
{
	var array_items = 4 + num_chapters + (question_array.length - 1);
	var num_pages = 0;

	for (var i=1; i<=num_chapters; i++)
	{
		num_pages = num_pages + chapter_details_array[i][0];
	}

	current_settings_array = new Array(num_pages + 2);

	for (var i=0; i<=num_pages; i++)
	{
		current_settings_array[i] = "";
	}

	current_settings_array[num_pages + 1] = "0";
	cookie_string_array = new Array(array_items);

	for (var i=1; i<array_items; i++)
	{
		cookie_string_array[i] = 0;
	}
}

//***********************************************************************
// 
//***********************************************************************
function cbtSplitCookie() 
{
	var logged_in = 0;
	cookie_array = document.cookie.split(";");
	
	if (cookie_array.length != 0)
	{
		for (var i=0; i<(cookie_array.length); i++)
		{
			cookie_temp  = cookie_array[i].split("=");
			first_letter = cookie_temp[0].search(/\w/);
			cookie_names_array[i]  = cookie_temp[0].slice(first_letter);
			cookie_values_array[i] = cookie_temp[1];

			if (cookie_names_array[i] == "current_settings")
			{
				current_settings_array = cookie_values_array[i].split("##");
				course_userid = current_settings_array[0];
				logged_in = 1;
			}
		}
	}

	if (logged_in != 1)
	{
		cbtCreateCurrentSettings();
		course_userid = "unknown";
		current_settings_array[0] = "unknown";
	}

}


//***********************************************************************
// 
//***********************************************************************
function cbtWriteCookie() 
{
	current_settings = current_settings_array.join("##");
	cookie_string    = cookie_string_array.join("##");
	document.cookie  = "current_settings=" + current_settings + expiry_date;
	document.cookie  = course_userid + "=" + cookie_string + expiry_date;
}


//***********************************************************************
// 
//***********************************************************************
function cbtSignin2(pagename, chapternum) 
{
	var continue_response;
	var temp_array;

	cbtCreateCurrentSettings();
	cookie_array = document.cookie.split(";");
	
	if (cookie_array.length != 0)
	{
		for (var i=0; i<(cookie_array.length); i++)
		{
			cookie_temp = cookie_array[i].split("=");
			first_letter = cookie_temp[0].search(/\w/);
			cookie_names_array[i] = cookie_temp[0].slice(first_letter);
			cookie_values_array[i] = cookie_temp[1];
		}
	}

	course_userid = document.signinform.elements[0].value;

	if (course_userid == "")
	{
		course_userid = "unknown";
	}
	else
	{
		for (var i=0; i<(cookie_array.length); i++)
		{
			if (cookie_names_array[i] == course_userid) 
			{
				temp_array = cookie_values_array[i].split("##");

				for (var j=0; j<temp_array.length; j++)
				{
					cookie_string_array[j] = temp_array[j];
				}

				if (pagename != cookie_string_array[0])
				{
					continue_response = confirm("Haga clic en OK para continuar el curso donde lo interrumpió la última vez...");

					if (continue_response == true)  
					{
						current_settings_array[0] = course_userid;
						cbtWriteCookie();
						window.location = cookie_string_array[0];
						return false;
					}
					break;
				}	
			}
		}
	}

	cookie_string_array[0] = pagename;
	cookie_string_array[1] = chapternum;
	current_settings_array[0] = course_userid;
	cbtWriteCookie();
	window.location = "intro1_" + wto_language + ".htm";
	return false;	 			
}


//***********************************************************************
// 
//***********************************************************************
function cbtPageUpdate(pagename, chapternum) 
{
	var highlight_answer_array = new Array();
	var teststring = "c" + chapternum + "question_" + wto_language + ".htm";
	var pagename_array = pagename.split("#");

	cbtSplitCookie();

 	for (var i=0; i<(cookie_array.length); i++)
	{
		if (cookie_names_array[i] == course_userid)
		{
			cookie_string_array = cookie_values_array[i].split("##");
			highlight_answer_array[0] = cookie_string_array[3]; 
			highlight_answer_array[1] = cookie_string_array[0];
			cookie_string_array[0] = pagename_array[0];
			cookie_string_array[1] = chapternum;

			if (parseInt(cookie_string_array[3]) == 0)
			{	
				cookie_string_array[2] = 0;
			}
			else
			{
				cookie_string_array[3] = 0;
			}

			if (chapternum >= 1)
			{
				if (pagename_array[0] != teststring)
				{
					for (var j=1; j<current_settings_array.length; j++)
					{
						if (current_settings_array[j] == pagename_array[0])
						{
							break;
						}
						else if (current_settings_array[j] == "")
						{
							current_settings_array[j] = pagename_array[0];
							break;
						}
					}
				}
			}

			cbtWriteCookie();
			return highlight_answer_array;
		}	
	}

	return false;	 			
}


//***********************************************************************
// 
//***********************************************************************
function cbtLoadQuiz(pagename, chapternum) 
{
	var numquestions = 0;
	var absquestionnum = 0;
	var correctquestions = 0;
	var counter = 0;
	var array_index = 0;
	var user_question_array = new Array();
	var questionnum = 0;

	cbtSplitCookie();

	for (var i=0; i<(cookie_array.length); i++)
	{
		if (cookie_names_array[i] == course_userid)
		{
			cookie_string_array = cookie_values_array[i].split("##");
			cookie_string_array[0] = pagename;
			cookie_string_array[1] = chapternum;
			questionnum = parseInt(cookie_string_array[2]);

			if (questionnum > 0)
			{
				array_index = absquestionnum + start_index;
				user_question_array[1] = cookie_string_array[array_index];

				for (var j=1; j<(question_array.length); j++)
				{	
					if (question_array[j][0] == chapternum)
					{
						numquestions = numquestions + 1;
						counter = start_index + j;

						if (numquestions <= questionnum)
						{
							absquestionnum = absquestionnum + 1;
						}

						if (question_array[j][2] == parseInt(cookie_string_array[counter]))
						{
							correctquestions = correctquestions + 1;
						}

					}
					else if (question_array[j][0] < chapternum)
					{
						absquestionnum = absquestionnum + 1;
					}
					else
					{
						break;
					}
				}
			}

			array_index = absquestionnum + start_index;
			user_question_array[0] = cookie_string_array[2];
			user_question_array[1] = cookie_string_array[array_index];
			user_question_array[2] = absquestionnum;
			user_question_array[3] = numquestions;
			user_question_array[4] = correctquestions;
			nextquestionnum = parseInt(cookie_string_array[2]) + 1;
			lastquestionnum = parseInt(cookie_string_array[2]) - 1;
			return user_question_array;
		}	
	}

	return false;	 			
}


//***********************************************************************
// 
//***********************************************************************
function cbtLoadQuestion(questionnum) 
{
	var teststring = "c" + chapternum + "question_" + wto_language + ".htm";
	cbtSplitCookie();

	for (var i=0; i<(cookie_array.length); i++)
	{
		if (cookie_names_array[i] == course_userid)
		{
			cookie_string_array = cookie_values_array[i].split("##");
			cookie_string_array[0] = pagename;
			cookie_string_array[1] = chapternum;
			cookie_string_array[2] = questionnum;

			if (chapternum >= 1)
			{
				if (pagename != teststring)
				{
					for (var j=1; j<current_settings_array.length; j++)
					{
						if (current_settings_array[j] == pagename)
						{
							break;
						}
						else if (current_settings_array[j] == "")
						{
							current_settings_array[j] = pagename;
							break;
						}
					}
				}
			}

			cbtWriteCookie();
			break;
		}
	}
	
	pageToLoad = "c" + chapternum + "question_" + wto_language + ".htm";
	openAPopup( pageToLoad, 'question',500,450,1);			 	
}


//***********************************************************************
// 
//***********************************************************************
function cbtCheckAnswer(absquestionnum, answernum) 
{	
	array_index = num_chapters + 3 + absquestionnum;
	cbtSplitCookie();

	for (var i=0; i<(cookie_array.length); i++)
	{
		if (cookie_names_array[i] == course_userid)
		{
			cookie_string_array = cookie_values_array[i].split("##");
			cookie_string_array[0] = pagename;
			cookie_string_array[1] = chapternum;
			cookie_string_array[array_index] = answernum - 3;
			cbtWriteCookie();
			break;
		}	
	}
	
	window.location = "c" + chapternum + "question_" + wto_language + ".htm";
	return false;					
}


//***********************************************************************
// 
//***********************************************************************
function cbtShowAnswerText(absquestionnum, questionnum) 
{	
	cbtSplitCookie();

	for (var i=0; i<(cookie_array.length); i++)
	{
		if (cookie_names_array[i] == course_userid)
		{
			cookie_string_array = cookie_values_array[i].split("##");
			cookie_string_array[3] = 1;
			cbtWriteCookie();
			break;
		}	
	}

	var pagetoshow = question_array[absquestionnum][3] + "#answer" + questionnum;
	openAPopup( pagetoshow, 'answertext',500,400,1); 	
}


//***********************************************************************
// 
//***********************************************************************
function cbtShowTestSummary() 
{		
	var chapter_score = 0;
	var total_score = 0;
	var chapter_questions = 0;
	var total_questions = 0;

	document.writeln('<table border="0" cellpadding="5" cellspacing="5">');
	document.writeln('<tr><td width="150"><img src="../../../../images/150pxls.gif"  width="150" height="2"></td><td>&nbsp;</td><td width="50" align="right"><p class="paraboldtext">Puntaje</p></td></tr>');
		
	for (var i=1; i<chapter_details_array.length; i++)
	{
		chapter_score = 0;
		chapter_questions = 0;

		for (var j=1; j<question_array.length; j++)
		{
			if (question_array[j][0] == i)
			{
				chapter_questions = chapter_questions + 1;
				total_questions = total_questions + 1;
				array_index = start_index + total_questions;
				if (chapter_questions == 1)
				{
					document.writeln('<tr><td width="150" valign="top"><p class="paraboldtext">' + chapter_details_array[i][1] + '</p></td>');
					document.writeln('<td width="300" valign="top"><p class="paranormaltext">');
				}

				if (parseInt(cookie_string_array[array_index]) == 0)
				{
					document.writeln('<a href="javascript:cbtShowQuestion(' + chapter_questions + ',' + i + ')"><img border="0" src="../../../../images/img_cbt_course/white_checkbox.gif" width="15" height="15" title="pregunta sin respuesta" align="middle"></a>&nbsp;' + chapter_questions + '&nbsp;&nbsp; ');
				}
				else if (parseInt(cookie_string_array[array_index]) == question_array[total_questions][2])
				{
					chapter_score = chapter_score + 1;
					total_score = total_score + 1;
					document.writeln('<a href="javascript:cbtShowQuestion(' + chapter_questions + ',' + i + ')"><img border="0" src="../../../../images/img_cbt_course/right_checkbox.gif" width="15" height="15" title="respuesta correcta" align="middle"></a>&nbsp;' + chapter_questions + '&nbsp;&nbsp; ');
				}
				else
				{
					document.writeln('<a href="javascript:cbtShowQuestion(' + chapter_questions + ',' + i + ')"><img border="0" src="../../../../images/img_cbt_course/wrong_checkbox.gif" width="15" height="15" title="respuesta incorrecta" align="middle"></a>&nbsp;' + chapter_questions + '&nbsp;&nbsp; ');
				}					
			}
			else if (question_array[j][0] > i)
			{
				break;
			}
		}
		if (chapter_questions > 0) 
		{
		document.writeln('</p></td>');
		document.writeln('<td align="right" width="50" valign="top"><p class="paranormaltext" title="resultado de la prueba sobre el capítulo  ' + i + '">' + chapter_score + '/' + chapter_questions + '</p></td></tr>');
		}
	}

	document.writeln('<tr><td width="150">&nbsp;</td><td align="right" width="300"><p class="paraboldtext">Total:</p></td><td align="right" width="50"><p class="paranormaltext" title="resultado total de la prueba sobre el curso">' + total_score + '/' + total_questions + '</p></td></tr>');
	document.writeln('</table>');
	return false;			
}


//***********************************************************************
// 
//***********************************************************************
function cbtShowQuestion(questionnum, chapternum) 
{	
	cbtSplitCookie();

	for (var i=0; i<(cookie_array.length); i++)
	{
		if (cookie_names_array[i] == course_userid)
		{
			cookie_string_array = cookie_values_array[i].split("##");
			cookie_string_array[1] = chapternum;
			cookie_string_array[2] = questionnum;
			cbtWriteCookie();
			break;
		}	
	}

	pageToLoad = "c" + chapternum + "question_" + wto_language + ".htm";
	openAPopup( pageToLoad, 'question',500,450,1);		
}


//***********************************************************************
// 
//***********************************************************************
function cbtShowChaptersDone() 
{
	var page_count = 0;
	var chap_count = 0;

	document.writeln('<p class="parasmallcolourtext">');

	for (var i=1; i<=num_chapters; i++)
	{
		if (parseInt(cookie_string_array[i+3]) == 1)
		{
			document.writeln('<img border="0" src="../../../../images/img_cbt_course/darkred_checkbox.gif" width="15" height="15" align="middle" title="capítulo ' + i + ' terminado">&nbsp;' + i + '&nbsp; ');
		}
		else 
		{
			page_count = 0;

			for (var j=1; j<current_settings_array.length; j++)
			{
				if (current_settings_array[j] == "")
				{	
					break;
				}

				if (current_settings_array[j].charAt(0) == "c") 
				{
					if (((current_settings_array[j].charAt(2) == "s") || (current_settings_array[j].charAt(2) == "q")) && (parseInt(current_settings_array[j].charAt(1)) == i))
					{
						page_count = page_count + 1;
					}
					else if ((current_settings_array[j].charAt(3) == "s") || (current_settings_array[j].charAt(3) == "q"))
					{
						chap_count = (current_settings_array[j].charAt(1)  + current_settings_array[j].charAt(2));
						if (chap_count == i)
						{
							page_count = page_count + 1;
						}
					}
				}
			}

			if (page_count == parseInt(chapter_details_array[i][0]))
			{
				document.writeln('<img border="0" src="../../../../images/img_cbt_course/darkred_checkbox.gif" width="15" height="15" align="middle" title="capítulo ' + i + ' terminado">&nbsp;' + i + '&nbsp; ');
				cookie_string_array[i+3] = 1;
			}
			else
			{
				document.writeln('<img border="0" src="../../../../images/img_cbt_course/white_checkbox.gif" width="15" height="15" align="middle" title="capítulo ' + i + ' sin terminar">&nbsp;' + i + '&nbsp; ');
			}
		}
	}

	document.writeln('</p>');
	cookie_string = cookie_string_array.join("##");
	document.cookie = course_userid + "=" + cookie_string + expiry_date;
}

//***********************************************************************
// 
//***********************************************************************
function cbtHighlightAnswer() 
{
	if (parseInt(highlight_answer_array[0]) == 1)
	{
		document.write('<p align="center" class="paranormaltext"><a href="#" onClick="self.close()"' + '" class="paraboldcolourtext">Volver al test</a></p>');
	}
}



//***********************************************************************
// 
//***********************************************************************
function cbtShowQuestionDetails() 
{
	questionnum = parseInt(user_question_array[0]);
	absquestionnum = user_question_array[2];
	nextquestionnum = questionnum + 1;
	lastquestionnum = questionnum - 1;
 
         document.writeln('<table border="0" cellpadding="5" cellspacing="5"><tr>');
		document.writeln('<td><p align="left" class="paranormaltext">Seleccione su respuesta haciendo clic en el recuadro.</p>');
		document.writeln('<p align="left" class="paranormaltext">Si introduce una respuesta errónea, tendrá la oportunidad de volver atrás para leer la sección correspondiente.</p>');
		document.writeln('<p align="left" class="paranormaltext">Examine su resultado total en el resumen de la prueba.</p>');
		document.writeln('<p align="left" class="paranormaltext"><a class="paracolourtext" href="javascript:cbtLoadQuestion(1)">Inicie la prueba</a></p></td>');
		document.writeln('</tr></table>');
}	


//***********************************************************************
// 
//***********************************************************************
function cbtShowQuestionDetails2() 
{
	questionnum = parseInt(user_question_array[0]);
	absquestionnum = user_question_array[2];
	nextquestionnum = questionnum + 1;
	lastquestionnum = questionnum - 1;
	
 	    document.writeln('<table width="450" border="0" cellpadding="5" cellspacing="5">');
		document.writeln('<tr><td colspan="2"><p align="center" class="paraboldcolourtext">Cuestionario &mdash; Capítulo ' + chapternum + '</p></td></tr>');
		document.writeln('<tr><td colspan="2"><p align="left" class="paraboldtext">' + questionnum + '. ' + question_array[absquestionnum][1] +'</p></td></tr>');

		for (var i=4; i<(question_array[absquestionnum].length); i++)
		{
			document.writeln('<tr><td width="25" valign="top"><a href="javascript:cbtCheckAnswer(' + absquestionnum + ', ' + i + ')">');

			if (question_array[absquestionnum][2] == (i - 3))
			{
				if (parseInt(user_question_array[1]) == (i-3))
				{
				 	document.writeln('<img border="0" src="../../../../images/img_cbt_course/right_checkbox.gif" width="15" height="15" alt="respuesta correcta" title="respuesta correcta"></a></td>');
				 }
				 else
				 {
				 	document.writeln('<img border="0" src="../../../../images/img_cbt_course/white_checkbox.gif" width="15" height="15" alt="pregunta sin respuesta" title="pregunta sin respuesta"></a></td>');
				 }
			}
			else
			{
				if (parseInt(user_question_array[1]) == (i - 3))
				{
				 	document.writeln('<img border="0" src="../../../../images/img_cbt_course/wrong_checkbox.gif" width="15" height="15" alt="respuesta incorrecta" title="respuesta incorrecta"></a></td>');
				 }
				 else
				 {
				 	document.writeln('<img border="0" src="../../../../images/img_cbt_course/white_checkbox.gif" width="15" height="15" alt="pregunta sin respuesta" title="pregunta sin respuesta"></a></td>');
				 }
			}
			document.writeln('<td width="425" valign="top"><p align="left" class="paranormaltext">' + question_array[absquestionnum][i] +'</p></td></tr>');	
		}
		document.writeln('</table>');
		document.writeln('<table width="450" border="0" cellpadding="5" cellspacing="5">');

		if (parseInt(user_question_array[1]) != 0)
		{
			if (parseInt(user_question_array[1]) == question_array[absquestionnum][2] )
			{
				document.writeln('<tr><td><p align="left" class="paraboldtext">Respuesta correcta</p></td></tr>');
			}
			else
			{
				document.writeln('<tr><td><p align="left" class="paraboldtext">Sírvase probar nuevamente</p></td></tr>');
			}
		}
		document.writeln('<tr><td><p align="left" class="paraboldtext">Score: ' + user_question_array[4] + '/' + user_question_array[3] + '</p></td></tr>');


		if (nextquestionnum <= parseInt(user_question_array[3]))
		{
			document.writeln('<tr><td><p align="left" class="paranormaltext">&gt;&nbsp;<a class="paracolourtext" href="javascript:cbtLoadQuestion(' + nextquestionnum + ')">Pregunta siguiente</a></p></td></tr>');
		}
		else
		{
			document.writeln('<tr><td><p align="left" class="paranormaltext">&nbsp;</p></td></tr>');
		}
		
		if (question_array[absquestionnum][3] == "")
		{
			document.writeln('<tr><td><p align="left" class="paranormaltext">&nbsp;</p></td></tr>');
		}
		else
		{
			document.writeln('<tr><td><p align="left" class="paranormaltext">&gt;&nbsp;<a class="paracolourtext" href="javascript:cbtShowAnswerText(' + absquestionnum + ', ' + questionnum + ')">Consulte el texto pertinente en relación con esta pregunta</a> (Se abrirá una nueva ventana)</p></td></tr>');
		}	
		document.writeln('<tr><td><p class="paranormaltext">&gt;&nbsp;<a href="#" onClick="self.close()" class="paracolourtext">Cerrar la ventana</a></p></td></tr>');
    	document.writeln('<tr><td><p class="paranormaltext">&gt;&nbsp;<a href="http://www.wto.org/indexsp.htm" target="_blank" title="Se abrirá una nueva ventana" class="paracolourtext">Ir a la portada del sitio Web de la OMC</a> (Se abrirá una nueva ventana)</p></td></tr>');
		document.writeln('</table>');
}


//-->


