// JavaScript Document

//*****Introduce en cada variable el número total de ejercicios de cada tema*******
	var TotalEjercicios_acento=21
	var TotalEjercicios_inicio=41
	var TotalEjercicios_bvw=21
	var TotalEjercicios_ckqz=21
	var TotalEjercicios_gj=21
	var TotalEjercicios_h=20
	var TotalEjercicios_iyll=21
	var TotalEjercicios_rrr=15
	var TotalEjercicios_Todas=16
//*****Aquí acaba la definición del total de ejercicios*********
	
	
//*****	Introduce en cada variable el número de errores 
//***** a partir del cual el contador de ejercicios realizados se pone a cero
	var BorraContador=100
//***** Por defecto se borra el contador cuando se han cometido 50 fallos
	
	
	
	
	
	
	
	
banner=null	
ventana=null
	//introducir parámetro con la direccion de lahoja de estilos
function PonEstilos()
{
ancho = screen.width

	if (1000 > ancho)
	{
	document.write("<link href='../../estilos.css' rel='stylesheet' type='text/css'>")
	}
	else 
	document.write("<link href='../../estilos.css' rel='stylesheet' type='text/css'>")
}

function OcultarCorrectas () {
document.formulario.elements.style.color='#EFEFEF';
}
function MostrarCampos () {
document.formulario.style.display='block';
}




//Oculta el formulario que contiene los glifos que se quieren mostrar en cada ejercicio
function MostrarOcultar () {
if (document.formTeclado.style.display=='none') {
document.formTeclado.style.display='block';
} else {
document.formTeclado.style.display='none';
}
}
function MostrarOcultar2 () {
if (document.oculto.style.display=='none') {
document.oculto.style.display='block';
} else {
document.oculto.style.display='none';
}
}



//escribe la letra que se ha tecleado en el campo correspondiente
//La usa la función dimeNombreImagen
//final es un nombre reservado (mozilla) por eso uso final1
var j=0;
function dimeletra(pp){
final1=document.formulario.elements.length;
document.formulario.elements[j].value =pp;
document.formulario.elements[j].style.color ="blue";
document.formulario.elements[j].style.fontWeight ="bold";
if (j==final1-1){
}
else {
document.formulario.elements[j+1].style.backgroundColor ="#dce467";
document.formulario.elements[j].style.backgroundColor ="";

j++;
}
}

//relaciona la tecla(dibujo) que se ha pulsado con un determinado carácter 
function DimeNombreImagen(orden){

 popo=document.images[orden].name;
 if (popo==''){
 popo='estavacia';
}
else {
if (popo=="atilde"){
popo="á"
} 
if (popo=="etilde"){
popo="é"
} 
if (popo=="itilde"){
popo="í"
} 
if (popo=="otilde"){
popo="ó"
} 
if (popo=="utilde"){
popo="ú"
} 
if (popo=="udieresis"){
popo="ü"
} 
if (popo=="enie"){
popo="ñ"
}
if (popo=="sinH"){
popo=""
}

dimeletra(popo)
}
//alert(popo)
}


// coloca el foco en el campo anterior al actual
function atras(){
if (j==0){
alert("Llegaste al principio del texto");
}
else {
j=j-1;
document.formulario.elements[j].style.backgroundColor ="#dce467";
document.formulario.elements[j+1].style.backgroundColor ="";
}
}

// coloca el foco en el campo posterior al actual
function adelante(){
if (j==document.formulario.elements.length-1){
alert("Llegaste al final del texto");
}
else {
j=j+1;
document.formulario.elements[j].style.backgroundColor ="#dce467";
document.formulario.elements[j-1].style.backgroundColor ="";
}
}


//Guarda en un Array los valores correctos de los campos introducidos en la plantilla 
function leeCadenaCorrecta(){
cadenaC = new Array
for (var c = 0; c < (document.formulario.elements.length); c++) {
cadenaC[c]=document.formulario.elements[c].value;
document.formulario.elements[c].value="";
}
}

//Lee la cadena los valores introducidos en los campos y los compara con la cadena correcta
//Introduce en el campo resultados la puntuación obtenida

function EvaluaCadena(TipoEjercicio){

	if (document.formTotales.temporal.value =="")
{
	
puntos=0
puntosPosibles=document.formulario.elements.length
cadena = new Array
for (var i = 0; i < (document.formulario.elements.length); i++) {
cadena[i]=document.formulario.elements[i].value;
document.formTotales.temporal.value=cadena;
if (cadenaC[i]!=document.formulario.elements[i].value){
document.formulario.elements[i].style.borderColor ="red";
}
else{
	
puntos=(puntos+1)
}
}

if (puntos==puntosPosibles){
	document.formTotales.temporal.value="¡Correcto!";
}
else{
document.formTotales.temporal.value="Has completado correctamente "+ puntos +" de "+ puntosPosibles;

AbreBanner('../../Normas/'+TipoEjercicio+'.htm')
}

fallos=puntosPosibles-puntos

	if(dameValor(TipoEjercicio) ==""){
		pipi=0
	ponValor(TipoEjercicio, fallos+pipi)
pip=parseInt(dameValor(TipoEjercicio))
document.formTotales.totales.value="Fallos acumulados "+pip+".";

CuentaEjercicios('Cuenta'+TipoEjercicio)
	}
	else{
pipi=parseInt(dameValor(TipoEjercicio))	
/////para inicializar cookie

if (pipi>BorraContador) {
	 pipi=0
 alert("Has acumulado más de 100 fallos el contador se ha puesto a cero")
 
	}
//////

ponValor(TipoEjercicio, fallos+pipi)
pip=parseInt(dameValor(TipoEjercicio))
document.formTotales.totales.value="Fallos acumulados "+pip+".";

CuentaEjercicios('Cuenta'+TipoEjercicio)

	}
	
}
else {
puntos=0
puntosPosibles=document.formulario.elements.length
cadena = new Array
for (var i = 0; i < (document.formulario.elements.length); i++) {
cadena[i]=document.formulario.elements[i].value;
document.formTotales.temporal.value=cadena;
if (cadenaC[i]!=document.formulario.elements[i].value){
//document.formulario.elements[i].style.backgroundColor ="dce467";
document.formulario.elements[i].style.borderColor ="red";
}
else{
	
	document.formulario.elements[i].style.borderColor ="#cccccc";
	
puntos=(puntos+1)
}
}

if (puntos!=puntosPosibles){
	document.formTotales.temporal.value="¡Todavía hay fallos!";
	AbreBanner('../../Normas/'+TipoEjercicio+'.htm')
}
else {
	document.formTotales.temporal.value="!Correcto!";
}
}

}


//Coloca en el teclado las imágenes correspondientes a los glifos seleccionados en formulario de la plantilla
//p es el número de imagen en el que comienza el teclado
var p=4
function PonLetrasTeclado(){
numero=0
for (t=0; t<document.formTeclado.length; t++){
if (document.formTeclado.elements[t].checked){
numero=numero+1
}
}

letra=new Array()
for (t=0; t<document.formTeclado.length; t++){
if (document.formTeclado.elements[t].checked){
letra[t]=document.formTeclado.elements[t].value

document.formulario.elements[0].style.backgroundColor ="#dce467";
p=p+1

if (p<=parseInt(numero)+4){
document.images[p].src="../../glifos/"+letra[t]+".gif" ;
document.images[p].name=letra[t];
}
//cambiar +4 en funcion numero de imágenes antes teclado
for (var z = parseInt(numero)+5; z < 19; z++) {
document.images[z].src="../../glifos/vacia.gif";
}
}
}
}


//Abre una nueva ventana con el contenido especificado en el parámetro url

	function AbreUrlVentana (url)
	{
	ventana=window.open ([url],"ventana1", " width=606,height=30")
	ventana.focus()	
	}
	
	function AbreBanner (url)
	{
		leftPos=0
		if (screen) {
			leftPos=screen.width-340
		}
	banner=window.open ([url],"banner", " width=330,height=150, scrollbars=yes,resizable=yes, left="+leftPos+",top=0")
	banner.focus()	
	}
	function AbreBanner2 (url)
	{
	banner=window.open ([url],"banner", " width=1,height=1, scrollbars=no")
		
	}
	
	
	function NombreVentana(){
		alert(window.name)
	}
	
	function AbreRandomUrlVentana (Directorio, TipoEjercicio)
	{
	if (TipoEjercicio=='acento'){TotalEjercicios=TotalEjercicios_acento}
	if (TipoEjercicio=='bvw'){TotalEjercicios=TotalEjercicios_bvw}
	if (TipoEjercicio=='ckqz'){TotalEjercicios=TotalEjercicios_ckqz}
	if (TipoEjercicio=='gj'){TotalEjercicios=TotalEjercicios_gj}
	if (TipoEjercicio=='h'){TotalEjercicios=TotalEjercicios_h}
	if (TipoEjercicio=='iyll'){TotalEjercicios=TotalEjercicios_iyll}
	if (TipoEjercicio=='rrr'){TotalEjercicios=TotalEjercicios_rrr}
	if (TipoEjercicio=='inicio'){TotalEjercicios=TotalEjercicios_inicio}
	if (TipoEjercicio=='Todas'){TotalEjercicios=TotalEjercicios_Todas}
	
		randomUrl=Math.random() *TotalEjercicios
		randomUrl=Math.floor(randomUrl)
		laDireccion=Directorio+TipoEjercicio+randomUrl+".htm"
	
	//para que redimensiones desde index
	posicion=0
	if (screen){
		posicion= (screen.width/2)-350
	}
	ventana=window.open ('',"ventana1", " width=611,height=30, left="+posicion+", top=0")
	ventana.resizeTo(610,28)
	ventana=window.open (laDireccion,"ventana1", " width=611,height=30, left="+posicion+", top=0")
	ventana.focus()	
	}


function AbreEnOrdenUrlVentana (Directorio, TipoEjercicio)
	{
	CuentaPaginas('ordenInicio')
		
		contadorDesde0=contador2-1
		
	if (TipoEjercicio=='acento'){TotalEjercicios=TotalEjercicios_acento}
	if (TipoEjercicio=='bvw'){TotalEjercicios=TotalEjercicios_bvw}
	if (TipoEjercicio=='ckqz'){TotalEjercicios=TotalEjercicios_ckqz}
	if (TipoEjercicio=='gj'){TotalEjercicios=TotalEjercicios_gj}
	if (TipoEjercicio=='h'){TotalEjercicios=TotalEjercicios_h}
	if (TipoEjercicio=='iyll'){TotalEjercicios=TotalEjercicios_iyll}
	if (TipoEjercicio=='rrr'){TotalEjercicios=TotalEjercicios_rrr}
	if (TipoEjercicio=='inicio'){TotalEjercicios=TotalEjercicios_inicio}
	if (TipoEjercicio=='Todas'){TotalEjercicios=TotalEjercicios_Todas}
	
		
		laDireccion=Directorio+TipoEjercicio+contadorDesde0+".htm"
	
	//para que redimensiones desde index
	posicion=0
	if (screen){
		posicion= (screen.width/2)-350
	}
	ventana=window.open ('',"ventana1", " width=611,height=30, left="+posicion+", top=0")
	ventana.resizeTo(610,28)
	ventana=window.open (laDireccion,"ventana1", " width=611,height=30, left="+posicion+", top=0")
	ventana.focus()	
	
	}


function noerror(){
	return true;
}
	
	function AbreUrlVentanaNormal (url)
	{
	ventana=window.open ([url],"principal", "location=yes, toolbar=yes, scrollbars=yes, statusbar=yes, menubar=yes,personalbar=yes, resizable=yes, width=700,height=560")
	ventana.focus()	
	}

function RedimensionaVentana (){
	window.resizeTo(610,550)
}
function CierraVentana () {
	
window.close()
}


 
 function CierraVentana2(laventana){
	 
	 if (laventana && !laventana.closed){
		 
	laventana.close()
	} 
 }
 

 function ValorCookie(NombreCookie)
{
CookieActual = document.cookie.split("; ")
for (i=0; i<CookieActual.length; i++)
	{
	if (NombreCookie == CookieActual[i].split("=")[0])
		{
		return CookieActual [i].split("=")[1]
		}
	}
return 0	
}


function ponValor(nombre,valor,dias) {
  if(typeof(dias) == "undefined") dias = 7;
  // una semana por defecto
  var fecha = new Date;
  fecha.setTime(fecha.getTime() + dias * 24 * 3600000);
  var caduca = "; expires=" + fecha.toGMTString();
  galleta = nombre + "=" + valor + caduca;
  document.cookie = galleta;
}

function borraValor(nombre) {
  ponValor(nombre,"",-1);
}

function dameValor(nombre) {
	
	
  var ini = document.cookie.indexOf(nombre);
  if(ini == -1) return ""; 
  var sep = document.cookie.indexOf("=", ini);
  var fin = document.cookie.indexOf(";", ini);
  if(fin == -1) 
    fin = document.cookie.length;
  return document.cookie.substring(sep+1, fin);
}

function CuentaEjercicios(CuentaTipoEjercicio){
	Fecha= new Date
caduca = new Date
caduca.setMonth(caduca.getMonth()+6)
contador1=parseInt(ValorCookie(CuentaTipoEjercicio))


contador1++
document.cookie= (CuentaTipoEjercicio+"=") +contador1+ "; expires=" +caduca.toGMTString()
document.formTotales.contador.value= "Has realizado "+contador1+" ejercicios de este tipo. "

if (pip>BorraContador) {
	ponValor(CuentaTipoEjercicio,0)
	}
	
}

function CuentaPaginas(CuentaTipoEjercicio){
	Fecha= new Date
caduca = new Date
caduca.setMonth(caduca.getMonth()+6)
contador2=parseInt(ValorCookie(CuentaTipoEjercicio))
contador2++

if (contador2>TotalEjercicios_inicio) {
	contador2=1
	}
document.cookie= (CuentaTipoEjercicio+"=") +contador2+ "; expires=" +caduca.toGMTString()
}