//----------------------------------   AJAX   --------------------------------------------------------------
// necesita tener definida la funcion SendToLingo en el javasript de la pagina para el motor
//----------------------------------------------------------------------------------------------------------
//NuevoAjax: Crea un objeto XMLHTTP para la gestión de eventos entre navegador y servidor
//----------------------------------------------------------------------------------------------------------
function NuevoAjax(){
        var xmlhttp=false;
        try{
                xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }catch(e){
                try{
                        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }catch(E){
                        xmlhttp = false;
                }
        }
        if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
                xmlhttp = new XMLHttpRequest();
        }
        return xmlhttp;
}

//----------------------------------------------------------------------------------------------------------
//NuevoAjax: Gestor eventos con el objeto XMLHTTP 
//----------------------------------------------------------------------------------------------------------
function Cargar(URL, preloader, funcionCarga, funcionOK){
          //creamos el objeto XMLHttpRequest
		var txt="";
        ajax=NuevoAjax(); 
        //petdimos los datos, le damos la url enviada desde el link
        ajax.open("GET", URL ,true); 
        
        ajax.onreadystatechange=function(){
          
			if(ajax.readyState==1){
			        if  (preloader.innerHTML == "") {
					preloader.innerHTML = "Cargando...";}
					//modificamos el estilo de la div, mostrando una imagen de fondo
					eval(funcionCarga);
			} else {
			   eval(funcionOK);
			   if(ajax.readyState==4){
					if  (preloader.innerHTML == "Cargando...") {
						//preloader.innerHTML ="";               
					}
					////alert(ajax.status);
					if(ajax.status==200){
						//mostramos los datos dentro de la div
						respo=ajax.responseText;
						//alert ("pacopacopaco");
						//alert (respo);
						//preloader.innerHTML =ajax.responseText;
						//alert('Standard');
						//alert(respo);
						var pars = respo.split(";");
						////alert('----aqui empezamos con los parametros---');
						    //alert("0" + pars[0]);
							//alert("1" + pars[1]);
							//alert("2" + pars[2]);
							//alert("3" + pars[3]);
							//alert("4" + pars[4]);
							//alert("5" + pars[5]);
							//alert("6" + pars[6]);
							
							
							if (pars.length>4) txt=pars[5];  
							////alert('Parametro 2');
							////alert(pars[2]);
						//	//alert('Total Parametros');
						//	//alert(pars.length);
							
						
						if (pars.length==2)
						{
							////alert("2: -> "+respo);
				            setAudioFonemas(respo); // llamada a funcion del Avatar.js del motor
				            //FLC 20091027
							preloader.innerHTML = "";
						} 
						else if (pars.length>2)
						{
						   // //alert('Por parametros mayor que 2');
						   // //alert(modoPreg);
						   if(modoPreg=="ATOS")
						   {
							    Estado=pars[2];
							    if (pars.length>3) Nombre=pars[3];
							    if (pars.length>4) Trato=pars[4];
							    respo=pars[0]+";"+pars[1]; 
							    //alert('Atos');
								//alert(respo);  
								 if (vozOn == 1)                              
							    setAudioFonemas(respo); // llamada a funcion del Avatar.js del motor
							    
							   // //alert('Parametros');
							   // //alert("0" + pars[0]);
							   // //alert("1" + pars[1]);
							   // //alert("2" + pars[2]);
							   // //alert("3" + pars[3]);
							   // //alert("4" + pars[4]);
							   // //alert("5" + pars[5]);
							   // //alert("6" + pars[6]);
    							   
							    //PACO, SE AÑADE PARA QUE REDIRECCIONE A LA PAGINA SELECCIONADA
							     var pagURL =pars[6];
							     //alert(pagURL);
					
							     
							    if (pagURL!="")
							    {
							    	
							    	if (pagURL.substring(0,1)=="$")
							        {
							            	pagURL=pagURL.replace("$","/");
							           	if (ExisteForm() == true)
							           	{
							           		//alert (pagURL);
							            		cargaiFrame("fichas/." + pagURL); 
							            		//alert ("1");	
							           	}
							           	else
							           	{
							           		//alert ("iFrame NO Cargado");
							           		cargaFrame("/innovacion09/" + "portf_pctos.html","fichas/." + pagURL); 
							            		//alert ("2");	
							            		//cargaiFrame("fichas/" + PagURL); 
							            	}      
							            	if (pars.length>4) txt=pars[5];    
							    //alert (txt);
							    //preloader.innerHTML = txt;
							    //preloader.innerHTML = "";
							     if (txt!="undefined") {
							    preloader.innerHTML = txt;
							    }
							        }
							        else //Si no es iFrame, la carga es normal
							        {
							        	if (pagURL.substring(0,1)=="/")
							            	{
							            		cargaFrame("/innovacion09/" +pagURL,"");   
							            	}
							        	else 
							            	{
							            	//cargaVentana(pagURL);   
							        	}
							        }
							    } 
							    
							    
							    
							//alert (txt);
							    if (txt!="undefined") {
							    preloader.innerHTML = txt;
							    }
							    
						   } 
						   else 
						   {
						       // //alert('JJJ');
							    state=pars[2];
							    txt="";
							    if (pars.length>2) ident=pars[3];
							    //if (pars.length>3) pagURL=pars[4];
							    if (pars.length>3) pagURL=pars[6];
							   // //alert('pagURL');
							   // //alert(pagURL);
							    
							    if (pars.length>4) txt=pars[5];
							    
							    respo=pars[0]+";"+pars[1];  
							    //alert('3º via');
								//alert(respo);                             
							    setAudioFonemas(respo); // llamada a funcion del Avatar.js del motor
							    if (pagURL!="")
							    {
							       // //alert('Miramos la url');
							        ////alert(pagURL);
							        if (pagURL.substring(0,1)=="/")
							            {
							            cargaFrame("/Innovacion09/"+pagURL);   
							            }
							        else    
							            {
							            cargaVentana(pagURL);   
							            }
							    } 
							    if (txt!="undefined") {
							    preloader.innerHTML = txt;}
						     }
						}
					} 
					    else if(ajax.status==404){
					    //alert('La pagina no exite');
						preloader.innerHTML = "La página no existe";
					} 
					    else 
					    {
					    //alert('POR ERROR');
						//mostramos el posible error
						preloader.innerHTML = "Error:" + ajax.status;
					    }
			   }
			}
        }
        ajax.send(null);
}

//FLC 20091022
//Función para saber si existe o no un elemento en el formulario.
function isDefined (variable) {return (typeof(window[variable]) !="undefined");}
//FLC


//FLC 20091022
//Función para saber si existe o no un formulario.

//"top.frames['cgral'].f1.caja")


function ExisteForm() 
{ 
if (! top.frames['cgral'].document.forms['f1']) { 
    //alert('no existe el formulario'); 
    return false; 
} 
else { 
   // alert('el formulario existe'); 
    return true; 
} 
} 

//FLC 20091022
//Función para saber si existe o no un campo en un formulario.
function NoExisteCampo() 
{ 
if (! document.forms['formulario'].elements['boton1']) { 
    alert('no exsiste el campo'); 
    return false; 
}  
else { 
    alert('el campo existe'); 
    return true; 
} 
} 



function carga(voz,txt,pitch,speed,timbre,nameSal,funcionCargando,funcionNoCargando){
	alert('Carga innovacion');
	var texto,txtURL, contenido, preloader;
	txtURL= 'voz=' + voz + '&pitch=' + pitch + '&speed=' + speed+ '&timbre=' + timbre+'&texto=' + trataAcentos(txt); 
	txtURL= 'http://'+ IPMaquina + aspServicio + txtURL;
	preloader = document.getElementById(nameSal);
	////alert('Aqui estamos mirando los parametros que se cargan en el txtURL');
	alert(txtURL);
	Cargar(txtURL,  preloader, funcionCargando, funcionNoCargando);
}

function locucion(voz,pagina,loc,pitch,speed,timbre,nameSal,funcionCargando,funcionNoCargando){
		////alert('locucion');
    var txtURL, contenido, preloader;
	txtURL= 'voz=' + voz + '&pitch=' + pitch + '&speed=' + speed+ '&timbre=' + timbre+ '&page=' + pagina+ '&locution=' + loc; 
	txtURL= 'http://'+ IPMaquina + aspServicioLoc + txtURL;
	preloader = document.getElementById(nameSal);
	Cargar(txtURL, preloader, funcionCargando, funcionNoCargando);
}

function pregunta(txt,Apl,Estad,Nomb,Trat,urlr){
	var txtURL, preloader;
	modoPreg="ATOS";
	txtURL= 'voz=' + Mivoz + '&pitch=' + MiPitchVoz + '&speed=' + MiSpeedVoz+ '&timbre=' + MiTimbreVoz +'&aplicacion=' + Apl +  '&estado=' + Estad +  '&nombre=' +  Nomb + '&trato=' + Trat +'&respuesta=' + txt + '&respuesta_URL=' + urlr; 
	txtURL= 'http://'+ IPMaquina + aspServicioPregSanidad + txtURL;
	preloader = document.getElementById(nameDivMensajes);
	Cargar(txtURL, preloader, funcionCargando, funcionNoCargando);
}

function preguntaAS(txt,state,ident){
		//alert('preguntaas');
		//alert (txt);
	var txtURL, preloader;
	modoPreg="AS";
	txtURL= 'voz=' + Mivoz + '&pitch=' + MiPitchVoz + '&speed=' + MiSpeedVoz+ '&timbre=' + MiTimbreVoz +'&state=' + state +  '&ident=' + ident + '&entry=' + txt; 
	txtURL= 'http://'+ IPMaquina + aspServicioPregSanidad + txtURL;
	
	preloader = document.getElementById(nameDivMensajes);
	Cargar(txtURL, preloader, funcionCargando, funcionNoCargando);
}

//-------------------------------------------------------------------------- 
//                           TRATAMIENTO DE LOCUCIONES 
//--------------------------------------------------------------------------
   
var pag = new Array();
var loc = new Array(); 
    
function getLocucion(voz,pagina,pitch,speed,timbre,nameSal,funcionCargando,funcionNoCargando,inc) {
	////alert('getlocucion');
	var SearchIndex = -1; 
	var txtLoc="0000";
  
  for (var i=0;i<pag.length;i++){
    if (pag[i]==(pagina+voz)) {
       SearchIndex = i;
       loc[i]+=inc; 
       break;  
    }
  } 
  if (SearchIndex < 0) {
     pag.push(pagina+voz);
     loc.push(1);
     SearchIndex = pag.length-1;
  } 
  txtLoc=txtLoc+loc[SearchIndex];
  txtLoc=txtLoc.substring(txtLoc.length-4,txtLoc.length);
  locucion(voz, pagina, txtLoc,pitch,speed,timbre,nameSal,funcionCargando,funcionNoCargando); 
}


//--------------------------------------------------------------------------
//              Activacion del TIMER y gestor
//--------------------------------------------------------------------------
//Controla la ultima pagina/documento analizado para actualizar el link
var antDoc;
vozOn=1;
var Mivoz='Jorge';
var MiSpeedVoz='50';
var MiPitchVoz='50';
var MiTimbreVoz='50';
var funcionCargando='';
var funcionNoCargando='';
var nameDivMensajes=''; 
var texto=''; 
var nomFicLocucion = '';
var txtLocucion = ''; 
//variables para reproducir otra vez el audio
var ultDoc = ''; 
var ultTxtLocucion = ''; 
var pagURL= ''; 
var ultFicLocucion = ''; 
var CargandoAvatar=false;
var imgvoz="";
var imgestado="";
imgVozOn=new Image;
imgVozOff=new Image;
imgOn=new Image;
imgOff=new Image;
var respo="";
var modoPreg="";
  
function switchImg(habilita) {  	                     
    if (habilita == 0){
        document.images[imgestado].src=imgOn.src;
    }else{
      	document.images[imgestado].src=imgOff.src;
    }	       
}
    

function switchVoz() {  
	//alert ("por aqui");	                     
    if (vozOn == 1){
		vozOn=0;
		//alert ("voz = 0");
		document.images[imgvoz].src=imgVozOn.src;
	}else{
        document.images[imgvoz].src=imgVozOff.src;
        //alert ("voz = 1");
        vozOn=1;
    }
}

function Inicia(voz,txto,nameSal,timbre,speed,pitch,fCargando,fNormal,imagevoz,imagevozOn,imagevozOff,imageEstado,imageEstadoOn,imageEstadoOff) {	
  ////alert('Inicia');
    Mivoz=voz;
    ////alert(Mivoz);
    MiSpeedVoz=speed;
    MiPitchVoz=pitch;
    MiTimbreVoz=timbre;
    funcionCargando=fCargando;
    ////alert(funcionCargando);
    
    funcionNoCargando=fNormal;
    nameDivMensajes=nameSal;
    ////alert(nameDivMensajes)
    texto=txto;
    //alert(txto);
    imgvoz=imagevoz;
    imgestado=imageEstado;
    imgVozOn.src=imagevozOn;
    imgVozOff.src=imagevozOff;
    imgOff.src=imageEstadoOff;
    imgOn.src=imageEstadoOn;
    setTimeout("actTimer()", 1000);  // se activa cada 1 segundo
}

function actTimer()
{
    gestorTimer();                   //gestion de eventos del TIMER
    setTimeout("actTimer()", 1000);  //se vuelve a activar el TIMER
    return(0);
}

function gestorTimer(){
  if (AvatarCargado){	
	  if ((vozOn==1) &&(eval("Avatar"+Avatar)!="")){
	      var docu=quitaURL(parent.cgral.location.href); //si el documento del frame principal se comeinza el tratamiento
		  if (antDoc!=docu) {
		      antDoc=docu;
		      ultDoc = docu; 
		      ultTxtLocucion = ''; 
		      ultFicLocucion = ''; 
		      //PACO, SE QUITA PARA QUE HABLE EN LA PRIMERA PÁGINA
	  	      if (docu!='') {
	  	      getLocucion(Mivoz,docu,MiPitchVoz,MiSpeedVoz,MiTimbreVoz,nameDivMensajes,funcionCargando,funcionNoCargando,1); 
	  	      
	  	      }
		  } else if (texto!="") {
		      ultDoc = ""; 
		      ultTxtLocucion = texto;   
		      ultFicLocucion = ''; 
		      carga(Mivoz,texto,MiPitchVoz,MiSpeedVoz,MiTimbreVoz,nameDivMensajes,funcionCargando,funcionNoCargando);
		      texto='';  
		  } 
		  if ((txtLocucion != '')&&(nomFicLocucion!='')) {
		      ultDoc = ""; 
		      ultTxtLocucion = txtLocucion; 
		      ultFicLocucion = nomFicLocucion; 
		      locucion(Mivoz,nomFicLocucion,txtLocucion,MiPitchVoz,MiSpeedVoz,MiTimbreVoz,nameDivMensajes,funcionCargando,funcionNoCargando,0);                          
		      nomFicLocucion="";
		      txtLocucion="";
		   }	  
	  } else  {
	     texto="";
	  }
  }
  return(0);
}   

function locutaOtraVez(){
 
 if (!CargandoAvatar){	
   if ((vozOn==1) &&(eval("Avatar"+Avatar)!="")){
      if (ultDoc!="") {
         getLocucion(Mivoz,ultDoc,MiPitchVoz,MiSpeedVoz,MiTimbreVoz,nameDivMensajes,funcionCargando,funcionNoCargando,0); 
      }   
      if ((ultFicLocucion=="")&&(ultTxtLocucion!="")) {
         carga(Mivoz,ultTxtLocucion,MiPitchVoz,MiSpeedVoz,MiTimbreVoz,nameDivMensajes,funcionCargando,funcionNoCargando);  
      } 
      if ((ultFicLocucion != '')&&(ultTxtLocucion!='')) {  
         locucion(Mivoz,ultFicLocucion,ultTxtLocucion,MiPitchVoz,MiSpeedVoz,MiTimbreVoz,nameDivMensajes,funcionCargando,funcionNoCargando,0);                          
      }	  
      if (respo!= '') setAudioFonemas(respo); 		
   }  
 }  
}

function cargaiFrame(doc){
	
	cadena = "top.frames['cgral'].contenido.location='"+doc+"';"
	//setTimeout ("top.frames['cgral'].contenido.location='./fichas/dig_cert_fras.html';",600)
	setTimeout (cadena,600)
	//setTimeout("alert (top.frames['cgral'].f1.caja.value);"	,1000);
	//alert (top.frames['cgral'].f1.caja.value);
	//top.frames['cgral'].contenido.location='./fichas/dig_cert_fras.html';
	//alert ('adios');
}
function cargaFrame(doc,sIFrame){
		
  // setTimeout ("top.frames['cgral'].location="+doc+";",500);
   top.frames['cgral'].location=doc;
   if (sIFrame!="")
   	{
   	cadena = "top.frames['cgral'].contenido.location='"+sIFrame+"';"
   	//setTimeout ("top.frames['cgral'].contenido.location='./fichas/dig_cert_fras.html';",1500)
   	setTimeout (cadena,600)
	//setTimeout("alert (top.frames['cgral'].f1.caja.value);"	,1000);
	}
   
}
function cargaVentana(el_url) { 
		//alert('CargaVentana');
   var titulo="AVI";
   window.open(el_url,titulo,"top=0, left=0, resizable=yes, width=800,height=600"); 
}