/*

VERSION: 1.0.0
FILENAME: utils.js
LAST MODIFICATION: 02/12/2010
DESCRIPTION: 

  Funciones comunes plara el Launch del Avanzo Player

------------------------------------------------------------------------------*/

// Inserta un VALOR con el nombre NOMBREVALOR, en una CADENA dada usando
// el SEPARADOR especificado. 
// ---------------------------------------------------------------------
function insertarCadena(cadena, separador, nombreValor, valor) {
    var respuesta="";
    var encontrado=false;
    var aux;
    var left;
    var right;
    var i;
    
    /// Si la cadena tiene como primer caracter el separador, este se omite
    /// -------------------------------------------------------------------
    if (cadena.substring(0,1) == separador) { cadena=cadena.substring(1); }
    aux=cadena.split(separador);
    
    /// Si la cadena es vacia, se omite el proceso y se aniade la nueva
    /// --------------------------------------------------------------
    if (cadena.length > 0) {    
    
       //// Si la cadena no es vacia, se construye buscando el nombreValor
       //// --------------------------------------------------------------
	     for (i=0;i<aux.length;i++) {
  		    left=aux[i].split('=')[0];
  		    right=unescape(aux[i].split('=')[1]);
  		    if (left.toUpperCase()==nombreValor.toUpperCase()) {
  		       respuesta=respuesta + separador + nombreValor + "=" + valor;
  		       encontrado=true;
          } else {
             respuesta = respuesta + separador + left + "=" + right;
          }
  		}
		}
		
		/// Si no se encontro el nombreValor buscado, se aniade
		/// --------------------------------------------------
		if (!encontrado) {
		    respuesta=respuesta + separador + nombreValor + "=" + valor;
    }
    
		return respuesta;
}  
//------------------------------------------------------------------------------


  
// Obtiene un valor de la cadena de Suspend_Data
// ---------------------------------------------
function obtenerValorSuspendData(nombreValor) {
    var respuesta="0";
    var aux=suspend_data.split('@');
    var vLeft;
    var vRight;
    var i;
    
	  for (i=0;i<aux.length;i++) {
		    vLeft=aux[i].split('=')[0];
		    vRight=unescape(aux[i].split('=')[1]); 
		    if (vLeft.toUpperCase()==nombreValor.toUpperCase()) { 
          respuesta=vRight; 
        }
		}
		
		return respuesta.toLowerCase();
}
//------------------------------------------------------------------------------



// CONGIFURAR IDIOMA DEL CURSO
// -----------------------------------------------------------------------------
function configLangs() {
    // LAS PRIORIDADES SON:
	  // -------------------------------------------------------------------
	      
	  //1. Si llega un lenguaje por parametro, (LANG)
    ///  se guarda en la variable strLANG, que por defecto vale "0"
    ///  Esto ya se ha hecho antes al recuperar los parametros que vienen 
    ///  en la URL de llamada
	  ///  -----------------------------------------------------------------
     
	  //2. Si llega por parametro auxiliar (AUXLANG)
	  ///  prevalece y se sustituye.
	  ///  -------------------------------------------------------------------
	  if (suspend_data.indexOf("AuxLang") > -1) {
      strLANG = obtenerValorSuspendData("AuxLang");
    }
    ///  -------------------------------------------------------------------
        	      
	  //3. Si no llega por parametro, (LANG) ni por auxiliar, (AUXLANG)
    ///  se usa el del navegador, (IDIOMA_NAV)
	  ///  ---------------------------------------------------------------
	  if (strLANG == "0") { strLANG = idioma_Nav.toLowerCase(); }
	          
    /// Una vez obtenido strLANG, se inserta en la cadena AuxLang y en
    /// la variable LANG, de forma que quedan sincronizados
    /// --------------------------------------------------- 
	  suspend_data = insertarCadena(suspend_data, "@", "AuxLang", strLANG);
    params = insertarCadena(params, "&", "lang", strLANG); 
    params = params.substring(1);
}          
// -----------------------------------------------------------------------------

// CONGIFURAR IDIOMA DEL CURSO
// -----------------------------------------------------------------------------
function configLangs_AICC() {
    // LAS PRIORIDADES SON:
	  // -------------------------------------------------------------------
	      
	  //1. Si llega un lenguaje por parametro, (LANG)
    ///  se guarda en la variable strLANG, que por defecto vale "0"
    ///  Esto ya se ha hecho antes al recuperar los parametros que vienen 
    ///  en la URL de llamada
	  ///  -----------------------------------------------------------------
     
        	      
	  //3. Si no llega por parametro, (LANG) ni por auxiliar, (AUXLANG)
    ///  se usa el del navegador, (IDIOMA_NAV)
	  ///  ---------------------------------------------------------------
	  if (strLANG == "0") { strLANG = idioma_Nav.toLowerCase(); }
	          
    /// Una vez obtenido strLANG, se inserta en la cadena AuxLang y en
    /// la variable LANG, de forma que quedan sincronizados
    /// --------------------------------------------------- 
	  //suspend_data = insertarCadena(suspend_data, "@", "AuxLang", strLANG);
    params = insertarCadena(params, "&", "lang", strLANG); 
    params = params.substring(1);
}          
// -----------------------------------------------------------------------------


  
/* CONGIFURAR IDIOMA DEL CURSO, SINCRONIZANDO AUXDATA CON LANG
// SOLO PARA CURSOS MULTIIDIOMA IBERDROLA
// -----------------------------------------------------------
function configLangs_Iberdrola() {
    // LAS PRIORIDADES SON:
	  // -------------------------------------------------------------------
	      
	  //1. Si llega un lenguaje por parametro, (LANG)
    ///  se guarda en la variable strLANG, que por defecto vale "0"
    ///  Esto ya se ha hecho antes al recuperar los parametros que vienen 
    ///  en la URL de llamada
	  ///  -----------------------------------------------------------------
     
	  //2. Si llega por parametro auxiliar (AUXDATA)
	  ///  prevalece y se sustituye.
    ///  (SOLO PARA EL CASO ESPECIAL DE LOS CURSOS MULTIIDIOMA DE IBERDROLA)
	  ///  -------------------------------------------------------------------
	  if (suspend_data.indexOf("AuxData") > -1) {
      strLANG = obtenerValorSuspendData("AuxData");
    }
    ///  -------------------------------------------------------------------
        	      
	  //3. Si no llega por parametro, (LANG) ni por auxiliar, (AUXDATA)
    ///  se usa el del navegador, (IDIOMA_NAV)
	  ///  ---------------------------------------------------------------
	  if (strLANG == "0") { strLANG = idioma_Nav.toLowerCase(); }
	          
    /// Una vez obtenido strLANG, se inserta en la cadena AuxData y en
    /// la variable LANG, de forma que quedan sincronizados
    /// --------------------------------------------------- 
	  suspend_data = insertarCadena(suspend_data, "@", "AuxData", strLANG);
    params = insertarCadena(params, "&", "lang", strLANG); 
    params = params.substring(1);
}          
// ---------------------------------------------------------------------------*/




// Full Screen a mano para navegadores no IE
// -----------------------------------------
function forzarFullScreen() {
  top.resizeTo(window.screen.availWidth, window.screen.availHeight);
  top.moveTo(0,0);
}
// -----------------------------------------------------------------------------







