//Variables de ruta del servidor
	
var servidor = "https://newton.proyectodescartes.org/juegosdidacticos/";
var rutaJuegosPrefijo = "images/juegos/unzip-juegos/jug-";
var rutaJuegosSufijo = "/subida/ficheros/";

var rutaFicherosPrefijo = "images/juegos/materiales/relacion-ficheros/tipo-";
var rutaFicherosSufijo = "/ficheros/";
var barraSeparadora = "/";


rutaIdioma = "/interfaz/esp.txt";

var rutaListaSufijo = "/subida/";
var listaPhp = "fich-menu.php"

var generador = "https://newton.proyectodescartes.org/juegosdidacticos/images/juegos/materiales/generador-ficheros/index.html";
var buscador = "https://newton.proyectodescartes.org/juegosdidacticos/index.php?option=com_content&view=article&id=101&Itemid=769&lang=es";


//Variables de ruta locales

var rutaLista = './subida/lista.txt';
var rutaRelativa = "./subida/ficheros/"
     
var responsive;
var estilo_div_con_scale;
var estilo_div_sin_scale;
var escalado = 0;

/// Control del Responsive
function parametrosResponsive()
	{
	responsive = document.getElementsByClassName("DescartesAppContainer");

	//Control del autoescalado (responsive) que aplica Descartes

    estilo_div_con_scale = responsive[0].getAttribute("style");			//Valor del estilo generado por Descartes en el div que controla el autoescalado
	//Ejemplo: width: 1000px; height: 700px; transform-origin: 0px 0px; left: 50%; transform: translate3d(0px, 0px, 0px) scale(0.714286) translate(-50%, 0px);
    
	//Análisis de estilo_div_con_scale para poder y quitar el atributo scale que aplica el autoescalado
    posicion_inicio_scale = estilo_div_con_scale.search(/scale\(/);			//Localización de la posición inicial de del atributo scale (de la s).
	scale_a_final =	estilo_div_con_scale.substr(posicion_inicio_scale);		
	posicion_fin_scale = scale_a_final.search( /\)/ );						//Localización de la posición final de del atributo scale (del paréntesis final).
	valor_scale = estilo_div_con_scale.substr(posicion_inicio_scale,posicion_fin_scale + 1);  //Obtención de la cadena completa scale

	//Obtención del estilo sin el atributo scale
    estilo_div_sin_scale = estilo_div_con_scale.substr(0,posicion_inicio_scale - 1) + ' ' + estilo_div_con_scale.substr(posicion_inicio_scale + valor_scale.length + 1 , estilo_div_con_scale.length); 
	
	}

function pantallaResponsive()
{	
	responsive[0].setAttribute("style", estilo_div_con_scale);

    // Con Zoom NO operativo (Responsive activado): NO Mostrar Scrolls
	document.getElementsByTagName("div")[0].style.overflow = 'hidden';

	escalado = 0; //indica que no se está utilizando el zoom
}

	
	window.addEventListener("resize", controlZoom, false);

	function controlZoom ()

	{
	setTimeout(  () => {       //Para que se ejecute tras el addEventListener de Descartes que reescribe el scale

	parametrosResponsive();
	
	responsive[0].setAttribute("style", estilo_div_sin_scale);
	
	// Con Zoom operativo: Mostrar Scrolls si son necesrios
	document.getElementsByTagName("div")[0].style.overflow = 'auto';

	escalado = 1; //indica que se está utilizando el zoom
					  })
	}

    ///// Manejo del despliegue de la barra superior. Cuando los eventos ss desencadenan se pasa al juego el valor de la variable ratonEnBarra
    var ratonEnBarra;

    window.addEventListener("message", function(message) {

      if (message.data == "activarbarra") {

        document.getElementById("EN").onmouseleave = function() {
          window.postMessage({
            type: "set",
            name: "ratonEnBarra",
            value: 0
          }, '*');
          window.postMessage({
            type: "update"
          }, '*');
        };
        document.getElementById("EN").onmouseenter = function() {
          window.postMessage({
            type: "set",
            name: "ratonEnBarra",
            value: 1
          }, '*');
          window.postMessage({
            type: "update"
          }, '*');
        };

        document.getElementById("BANDERAS").onmouseleave = function() {
          window.postMessage({
            type: "set",
            name: "ratonEnBarra",
            value: 0
          }, '*');
          window.postMessage({
            type: "update"
          }, '*');
        };
        document.getElementById("BANDERAS").onmouseenter = function() {
          window.postMessage({
            type: "set",
            name: "ratonEnBarra",
            value: 1
          }, '*');
          window.postMessage({
            type: "update"
          }, '*');
        };

        document.getElementById("MNUEVA").onmouseleave = function() {
          window.postMessage({
            type: "set",
            name: "ratonEnBarra",
            value: 0
          }, '*');
          window.postMessage({
            type: "update"
          }, '*');
        };
        document.getElementById("MNUEVA").onmouseenter = function() {
          window.postMessage({
            type: "set",
            name: "ratonEnBarra",
            value: 1
          }, '*');
          window.postMessage({
            type: "update"
          }, '*');
        };

        document.getElementById("MGUARDAR").onmouseleave = function() {
          window.postMessage({
            type: "set",
            name: "ratonEnBarra",
            value: 0
          }, '*');
          window.postMessage({
            type: "update"
          }, '*');
        };
        document.getElementById("MGUARDAR").onmouseenter = function() {
          window.postMessage({
            type: "set",
            name: "ratonEnBarra",
            value: 1
          }, '*');
          window.postMessage({
            type: "update"
          }, '*');
        };

        document.getElementById("VELOC").onmouseleave = function() {
          window.postMessage({
            type: "set",
            name: "ratonEnBarra",
            value: 0
          }, '*');
          window.postMessage({
            type: "update"
          }, '*');
        };
        document.getElementById("VELOC").onmouseenter = function() {
          window.postMessage({
            type: "set",
            name: "ratonEnBarra",
            value: 1
          }, '*');
          window.postMessage({
            type: "update"
          }, '*');
        };
      }

      if (message.data == "pantallaResponsive") {
		  pantallaResponsive();
      }

      if (message.data == "pantallaventana1") {
	  if (escalado == 0)
	  {
		setTimeout(pantallaResponsive,500);
	  }	
      }
      if (message.data == "pantallaventana2") {
	  if (escalado == 0)
	  {
	setTimeout(pantallaResponsive,500);
	  }
      }
    });


//Lee el idioma por defecto, on-line del juego en el servidor de AJDA
    var idm;

    function leerIdioma(urlIDM) {
      var xmlhttp = new XMLHttpRequest();
      xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
          idm = xmlhttp.responseText;

          window.addEventListener("load", function(evt) {
            window.postMessage({
              type: "set",
              name: "IDMDEFECTO",
              value: idm
            }, '*');
            window.postMessage({
              type: "update"
            }, '*');
          });

        }
      }
      xmlhttp.open("POST", urlIDM, false);
      xmlhttp.send();
    }

    var urlIDM = servidor + rutaJuegosPrefijo + nombreJuego + rutaIdioma;
    leerIdioma(urlIDM);
	
	
	