

var TN_PREGUNTAS_POR_PAGINA = 6;
var tnPaginaActual = 0;
var tnUltimaPagina = 0;  // indica hasta que página ha llegado el usuario
var tnRespuestasUsuario = [];

// textos
var txtBtnSiguiente = "Siguiente";
var txtPreguntasPendientes = "Te quedan preguntas por responder...";
var txtNivelBajo = "Nivel Medio-Bajo - Podrías mejorar";
var txtNivelMedio = "Nivel Medio - Bastante bien";
var txtNivelAlto = "Nivel Medio-Alto - Estás hecho un fiera";
var txtGracias = "<div id='sidebar'><img src='/repo/tipos_campanya/intensivo/img/test_banner.gif' alt='Tu también puedes con Home English' title='Tu también puedes con Home English'/></div><div id='content' class='test'><h2>Gracias por realizar tu test de nivel</h2><p>El resultado de tu test es <b>Nivel Bajo – Puedes mejorar</b>. Te recomendamos un curso para mejorar tu inglés de una manera fácil y divertida en sólo unos meses.</p><p>Recuerda que los cursos de Inglés de Home English se adaptan a tus necesidades para que hables inglés desde el primer día.</p></div>";
var txtGraciasNivelBajoi = "<div id='sidebar'><img src='/repo/tipos_campanya/intensivo/img/test_banner.gif' alt='Tu también puedes con Home English' title='Tu también puedes con Home English'/></div><div id='content' class='test'><h2>Gracias por realizar nuestro test de nivel</h2><p>Apreciado usuario, tu nivel de Inglés es: <b>Bajo – Puedes mejorar</b>.</p><p>Empieza a hablar inglés desde el primer día con Home English. Solicita información para empezar a mejorar desde hoy y con resultados inmediatos.</p><p>Infórmate aquí sin compromiso.</p></div>";
var txtGraciasNivelMedioi = "<div id='sidebar'><img src='/repo/tipos_campanya/intensivo/img/test_banner.gif' alt='Tu también puedes con Home English' title='Tu también puedes con Home English'/></div><div id='content' class='test'><h2>Gracias por realizar nuestro test de nivel</h2><p>Apreciado usuario, tu nivel de Inglés es: <b>Nivel Medio - Bastante bien</b>. Te recomendamos un curso para mejorar tu inglés de una manera fácil y divertida en sólo unos meses.</p><p>Recuerda que los cursos de Inglés de Home English se adaptan a tus necesidades para que hables inglés desde el primer día.</p></div>";
var txtGraciasNivelAltoi = "<div id='sidebar'><img src='/repo/tipos_campanya/intensivo/img/test_banner.gif' alt='Tu también puedes con Home English' title='Tu también puedes con Home English'/></div><div id='content' class='test'><h2>Gracias por realizar nuestro test de nivel</h2><p>Apreciado usuario, tu nivel de Inglés es: <b>Nivel Alto - Sigue así</b>.</p><p>Estás preparado para hablar y escribir en inglés. Sólo tienes que confiar en tus conocimientos y lanzarte.</p><p>Infórmate aquí sin compromiso.</p></div>";
var txtGraciasNivelBajof = "<div id='sidebar'><img src='/repo/tipos_campanya/intensivo/img/test_banner.gif' alt='Tu también puedes con Home English' title='Tu también puedes con Home English'/></div><div id='content' class='test'><h2>Gracias por realizar nuestro test de nivel</h2><p>Apreciado usuario, tu nivel de Francés es: <b>Bajo – Puedes mejorar</b>.</p><p>Empieza a hablar francés desde el primer día con Home English. Solicita información para empezar a mejorar desde hoy y con resultados inmediatos.</p><p>Infórmate aquí sin compromiso.</p></div>";
var txtGraciasNivelMediof = "<div id='sidebar'><img src='/repo/tipos_campanya/intensivo/img/test_banner.gif' alt='Tu también puedes con Home English' title='Tu también puedes con Home English'/></div><div id='content' class='test'><h2>Gracias por realizar nuestro test de nivel</h2><p>Apreciado usuario, tu nivel de Francés es: <b>Nivel Medio - Bastante bien</b>.</p><p> Te recomendamos un curso para mejorar tu francés de una manera fácil y divertida en sólo unos meses.</p><p>Recuerda que los cursos de Francés de Home English se adaptan a tus necesidades para que hables francés desde el primer día.</p></div>";
var txtGraciasNivelAltof = "<div id='sidebar'><img src='/repo/tipos_campanya/intensivo/img/test_banner.gif' alt='Tu también puedes con Home English' title='Tu también puedes con Home English'/></div><div id='content' class='test'><h2>Gracias por realizar nuestro test de nivel</h2><p>Apreciado usuario, tu nivel de Francés es: <b>Nivel Alto - Sigue así</b>.</p><p>Estás preparado para hablar y escribir en francés. Sólo tienes que confiar en tus conocimientos y lanzarte.</p><p>Infórmate aquí sin compromiso.</p></div>";
var txtGraciasNivelBajoa = "<div id='sidebar'><img src='/repo/tipos_campanya/intensivo/img/test_banner.gif' alt='Tu también puedes con Home English' title='Tu también puedes con Home English'/></div><div id='content' class='test'><h2>Gracias por realizar nuestro test de nivel</h2><p>Apreciado usuario, tu nivel de Alemán es: <b>Bajo – Puedes mejorar</b>.</p><p>Empieza a hablar alemán desde el primer día con Home English. Solicita información para empezar a mejorar desde hoy y con resultados inmediatos.</p><p>Infórmate aquí sin compromiso.</p></div>";
var txtGraciasNivelMedioa = "<div id='sidebar'><img src='/repo/tipos_campanya/intensivo/img/test_banner.gif' alt='Tu también puedes con Home English' title='Tu también puedes con Home English'/></div><div id='content' class='test'><h2>Gracias por realizar nuestro test de nivel</h2><p>Apreciado usuario, tu nivel de Alemán es: <b>Nivel Medio - Bastante bien</b>.</p><p> Te recomendamos un curso para mejorar tu alemán de una manera fácil y divertida en sólo unos meses.</p><p>Recuerda que los cursos de alemán de Home English se adaptan a tus necesidades para que hables alemán desde el primer día.</p></div>";
var txtGraciasNivelAltoa = "<div id='sidebar'><img src='/repo/tipos_campanya/intensivo/img/test_banner.gif' alt='Tu también puedes con Home English' title='Tu también puedes con Home English'/></div><div id='content' class='test'><h2>Gracias por realizar nuestro test de nivel</h2><p>Apreciado usuario, tu nivel de Alemán es: <b>Nivel Alto - Sigue así</b>.</p><p>Estás preparado para hablar y escribir en alemán. Sólo tienes que confiar en tus conocimientos y lanzarte.</p><p>Infórmate aquí sin compromiso.</p></div>";

var txtInicioi = "<h2>Test de nivel</h2><p>¿Quieres saber tu nivel de inglés? Con este rápido test podrás comprobar qué nivel tienes y descubrir qué curso necesitas.</p><p> ¿Sientes curiosidad? ¡Ha llegado el momento de probarlo! </p><br /><p>Marca la respuesta que creas correcta y pulsa el botón siguiente para seguir con el test.</p><br />";
var txtIniciof = "<h2>Test de nivel</h2><p>¿Quieres saber tu nivel de francés? Con este rápido test podrás comprobar qué nivel tienes y descubrir qué curso necesitas. ¿Sientes curiosidad? ¡Ha llegado el momento de probarlo!</p><br /><p>Marca la respuesta que creas correcta y pulsa el botón siguiente para seguir con el test.</p><br />";
var txtInicioa = "<h2>Test de nivel</h2><p>¿Quieres saber tu nivel de alemán? Con este rápido test podrás comprobar qué nivel tienes y descubrir qué curso necesitas. ¿Sientes curiosidad? ¡Ha llegado el momento de probarlo!</p><br /><p>Marca la respuesta que creas correcta y pulsa el botón siguiente para seguir con el test.</p><br />";

var txtPrincipal = "Apreciado usuario, tu nivel es:<img src='http://www2.home.es/test_nivel.php' width='1' height='1'>";
var txtFinali = "El curso que mejor se adapta a ti se encuentra en Home English. Un curso flexible, próximo y ameno que hará mejorar tu nivel de inglés en sólo unos meses.";
var txtFinalf = "El curso que mejor se adapta a ti se encuentra en Home English. Un curso flexible, próximo y ameno que hará mejorar tu nivel de francés en sólo unos meses.";
var txtFinala = "El curso que mejor se adapta a ti se encuentra en Home English. Un curso flexible, próximo y ameno que hará mejorar tu nivel de alemán en sólo unos meses.";


function tnIniciarTest(curso)
{
// ocultar formulario del cupón
    $('#cupon').hide("fast").css({visibility:"hidden"});

    //Ingles
	if((curso == 1) || (curso == 2) || (curso == 12)){
	  $('#tnivelgracias').html(txtInicioi);
	}else if(curso == 3){
	  $('#tnivelgracias').html(txtIniciof);		
	}else  if(curso == 4){
	  $('#tnivelgracias').html(txtInicioa);		
	}

    tnMostrarPagina(0);
    
    // inicializar respuestas
    for (i=0; i<preguntas.length; ++i) tnRespuestasUsuario[i] = -1;
}

function tnRenderPaginacion()
{
    var html = "";
    var npaginas = preguntas.length / TN_PREGUNTAS_POR_PAGINA;
    var ant = true;
    

			

	html += '<ul class="pagina">';
//html += '<span class="progreso">Progreso</span>';
    for (var i=0; i<npaginas; ++i)
    {
        if (i == tnUltimaPagina) ant = false;
        
        // TODO: poner <span> con colores diferentes
        if (tnPaginaActual == i)
        {
            // página actual
            html += '<li class="on"><strong>Página ' + (i+1) + '</strong></li>';
        }
        else if (ant)
        {
            // página que ya ha sido visitada
            html += '<li>Página ' + (i+1) + '</li>';
        }
        else
        {
            // página que aun no ha sido visitada
            html += '<li>Página ' + (i+1) + '</li>';
        }
    }
    html += '<li>Resultados</li>';
	html += '</u>';
	
    return html;
}

function tnMostrarPagina(ipag)
{
   if (ipag > tnUltimaPagina) tnUltimaPagina = ipag;
    
    var html = "";
    var ipre = ipag * TN_PREGUNTAS_POR_PAGINA;
    var ifin = ipre + TN_PREGUNTAS_POR_PAGINA;

    while (ipre < preguntas.length && ipre < ifin)
    {
        var p = preguntas[ipre];
        
		html += "<ul class='question left'><li class='quest'>Question "+ (ipre+1) +"</li><li>"+ p.pregunta +"</li>" ;
//html += "<p><span>Question " + (ipre+1) + "</span> " + p.pregunta ;
        
        for (j=0; j<p.respuestas.length; ++j)
        {
			html += '<li><input type="radio" name="' + ipre + '"';
            if (tnRespuestasUsuario[ipre] == j) html += ' checked';
            html += ' onclick="javascript:tnResponder(' + ipre + ', ' + j + ')" /> ';
            html += p.respuestas[j] + "</li>";
        }
        
        html += "</ul>";
        ++ipre;
    }
    
    $('#tnBtnSiguiente').val(txtBtnSiguiente);
    $('#tnZonaPaginacion').html(tnRenderPaginacion());
    $('#tnZonaPreguntas').html(html);
}

function tnMostrarPaginaAnterior(curso)
{
    tnMostrarPagina(--tnPaginaActual);
    
    // ocultar botón "anterior" si estamos en primera página
    if (tnPaginaActual == 0) $('#tnBtnAnterior').css({visibility:"hidden"});
    
    // mostrar texto del botón "siguiente"
    $('#tnBtnSiguiente').text(txtBtnSiguiente);
}

function tnMostrarPaginaSiguiente(curso)
{
    if (tnSinResponder(tnPaginaActual)) {
        alert(txtPreguntasPendientes);
        return;
    }
    
    ++tnPaginaActual;
    
    if (tnPaginaActual == preguntas.length / TN_PREGUNTAS_POR_PAGINA)
    {
        tnFinalizarTest(curso);
        return;
    }   
    
    tnMostrarPagina(tnPaginaActual);
    
    // mostrar botón "anterior"
    if (tnPaginaActual > 0) $('#tnBtnAnterior').css({visibility:"visible"});
    
    // cambiar texto del botón "siguiente" si estamos en la última página
    if (tnPaginaActual >= preguntas.length / TN_PREGUNTAS_POR_PAGINA - 1)
        $('#tnBtnSiguiente').val('Terminar');
    else
        $('#tnBtnSiguiente').val(txtBtnSiguiente);
}

function tnResponder(pregunta, respuesta)
{
    tnRespuestasUsuario[pregunta] = respuesta;
}

/* Validar que el usuario no haya dejado preguntas
    sin responder en la página ipag. */
function tnSinResponder(ipag)
{
    var ipre = ipag * TN_PREGUNTAS_POR_PAGINA;
    var ifin = ipre + TN_PREGUNTAS_POR_PAGINA;
    
    while (ipre < tnRespuestasUsuario.length && ipre < ifin)
    {
        if (tnRespuestasUsuario[ipre] == -1) return true;
        
        ++ipre;
    }
    
    return false;
}

function tnValorar()
{
    var correctas = 0;
    
    for (var i=0; i<tnRespuestasUsuario.length; ++i)
    {
        if (tnRespuestasUsuario[i] == preguntas[i].correcta) ++correctas;
    }
    
    return correctas;
}

function tnFinalizarTest(curso)
{
	// Ocultamos las preguntas y los botones del test
    $('#tnZonaPaginacion').hide("fast").css({visibility:"hidden"});
    $('#tnZonaPreguntas').hide("fast").css({visibility:"hidden"});
    $('#tnBtnSiguiente').hide("fast").css({visibility:"hidden"});
    $('#tnBtnAnterior').hide("fast").css({visibility:"hidden"});

	// calcular puntuación del test
	var puntuacion = tnValorar();  
    var puntuacion_p = puntuacion / preguntas.length;

    // mostrar el mensaje
    if (puntuacion_p < 0.33){
  if((curso == 1) || (curso == 2) || (curso == 12)){
   $('#tnivelgracias').html(txtGraciasNivelBajoi);
  }else if(curso == 3){
   $('#tnivelgracias').html(txtGraciasNivelBajof);
  }else if(curso == 4){
   $('#tnivelgracias').html(txtGraciasNivelBajoa);	  
  }
	$('#resultado').html(txtPrincipal);
	  $('#resultadoTest').text(txtNivelBajo);
		if((curso == 1) || (curso == 2) || (curso == 12)){
		  $('#resultadoFinal').html(txtFinali);
		}else if(curso == 3){
		  $('#resultadoFinal').html(txtFinalf);
		}else  if(curso == 4){
		  $('#resultadoFinal').html(txtFinala);
		}
	}else if (puntuacion_p < 0.66){
  if((curso == 1) || (curso == 2) || (curso == 12)){
   $('#tnivelgracias').html(txtGraciasNivelMedioi);
  }else if(curso == 3){
   $('#tnivelgracias').html(txtGraciasNivelMediof);
  }else if(curso == 4){
   $('#tnivelgracias').html(txtGraciasNivelMedioa);	  
  }
	$('#resultado').html(txtPrincipal);
	  $('#resultadoTest').text(txtNivelMedio);
		if((curso == 1) || (curso == 2) || (curso == 12)){
		  $('#resultadoFinal').html(txtFinali);
		}else if(curso == 3){
		  $('#resultadoFinal').html(txtFinalf);
		}else  if(curso == 4){
		  $('#resultadoFinal').html(txtFinala);
		}
	}else{

 //   $('#tnivel').hide("fast").css({visibility:"hidden"});       
  if((curso == 1) || (curso == 2) || (curso == 12)){
   $('#tnivelgracias').html(txtGraciasNivelAltoi);
  }else if(curso == 3){
   $('#tnivelgracias').html(txtGraciasNivelaltof);
  }else if(curso == 4){
   $('#tnivelgracias').html(txtGraciasNivelAltoa);	  
  }
	   $('#resultado').html(txtPrincipal);
	   $('#resultadoTest').html(txtNivelAlto);
		if((curso == 1) || (curso == 2) || (curso == 12)){
		  $('#resultadoFinal').html(txtFinali);
		}else if(curso == 3){
		  $('#resultadoFinal').html(txtFinalf);
		}else  if(curso == 4){
		  $('#resultadoFinal').html(txtFinala);
		}

	}

    $('#resultado').show('fast').css({display:"block"});
    $('#resultadoTest').show('fast').css({display:"block"});
    $('#resultadoFinal').show('fast').css({display:"block"});

	// mostrar el cupón 
    $('#cupon').show("fast").css({visibility:"visible"});
    $('#formCupon').css({height:"480px"});



}

//window.addEventListener('load', tnIniciarTest, false);  // DOM2 no funciona en MSIE...

$(window).bind('load', tnIniciarTest);



