<%@ page import="java.util.*,java.io.*" %>
<%@ page import="java.text.*,javax.servlet.*" %>
<%@ page import="netscape.ldap.*" %>
<%@ page import="org.w3c.dom.*,javax.xml.transform.*" %>
<%@ page import="n38c.exe.*" %>
<%@ page import="javax.servlet.http.*" %>
<%@ page import="javax.xml.parsers.*" %>
<%@ page import="org.apache.xpath.*" %> 
<%@ page import="java.util.Date" %>
<%

     
      
      Vector vUrls = new Vector();
      String strUrlPortal="";
      String strUrlRedireccion="";
      int i;
      int intLongitud;
      int intLongitudRedir;
      int posicion;
      String miStrAuxiliar;
      int posParcial;
      String strSiguientes="";
      
              
        System.out.println("va a recoger:"+request.getParameter("xmlsesion"));
        String strDoc=request.getParameter("xmlsesion");
        
    if (strDoc!=null){
        
        System.out.println("ahora del mismo documento xml va a obtener la url final que es n38urlportal");
        posicion=strDoc.indexOf("<parametro id=\"n38urlportal\">");
        miStrAuxiliar=strDoc.substring(posicion+28+8,strDoc.length());
        strUrlPortal=miStrAuxiliar.substring(0,miStrAuxiliar.indexOf("</valor></parametro>"));
        System.out.println("valor de n38urlportal obtenido del filtrorrr:"+strUrlPortal);
           
        
        System.out.println("ahora del mismo documento xml va a obtener las urls de redireccion");
        strDoc=request.getParameter("xmlsesion");
        posicion=strDoc.indexOf("<parametro id=\"n38urlsredireccion\">");
        miStrAuxiliar=strDoc.substring(posicion+34+8,strDoc.length());
        posParcial=miStrAuxiliar.indexOf("</valor>");
        strUrlRedireccion=miStrAuxiliar.substring(0,posParcial);
        System.out.println("añadimos al vector la redireccion:"+strUrlRedireccion);
        vUrls.addElement(strUrlRedireccion);
        strSiguientes=strSiguientes+strUrlRedireccion;
        intLongitudRedir=strUrlRedireccion.length();
        intLongitud=miStrAuxiliar.length();
        miStrAuxiliar=miStrAuxiliar.substring(intLongitudRedir,intLongitud);
        
        
        while (miStrAuxiliar.startsWith("</valor><valor>"))
        {
            intLongitud=miStrAuxiliar.length();
            miStrAuxiliar=miStrAuxiliar.substring(15,intLongitud);
            posParcial=miStrAuxiliar.indexOf("</valor>");
            strUrlRedireccion=miStrAuxiliar.substring(0,posParcial);
            System.out.println("añadimos al vector la redireccion:"+strUrlRedireccion);
            vUrls.addElement(strUrlRedireccion);
            strSiguientes=strSiguientes+"kkk"+strUrlRedireccion;
            intLongitudRedir=strUrlRedireccion.length();
            intLongitud=miStrAuxiliar.length();
            miStrAuxiliar=miStrAuxiliar.substring(intLongitudRedir,intLongitud);
        }
        
        strSiguientes=strSiguientes+"jjj"+strUrlPortal;
        System.out.println("STRSIGUIENTES:"+strSiguientes);
        
        System.out.println(request.getParameter("siguientes"));
        System.out.println("finiquitaun del codigo");
      
    }    
        
%>
<html>
<SCRIPT language=JavaScript>

function trim(inputString) {
    
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) {  
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);  
   }
   return retValue;  
}  

 
function getQueryString() 
{ 
var query_string = location.search.substring(1, location.search.length); 
return query_string;
} 

function contar() 
{ 
  var contador; 
  var q = getQueryString(); 
  q=unescape(q);
  Start = q.indexOf('&contador='); 
  if(Start==-1)
  {
    contador=0;
  }
  else
  {
    Start=Start+10; 
  }
  End = q.indexOf('&', Start + 1); 
 
  if(End==-1)
  {
    End=q.length;
  } 
  if (contador!=0){
    contador = window.location.search.substring(Start, End);
  }
  return unescape(contador);
}  

function devolver(parametro) 
{ 
  alert('ha entrado en devolver:'+parametro);
  var contador; 
  var q = getQueryString(); 
  q=unescape(q);
  alert('querystring:'+q)
  Start = q.indexOf(parametro+'='); 
  if(Start==-1)
  {
    parametro=0;
  }
  else
  {
    Start=Start+12; 
  }
  End = q.indexOf('jjj'); 
 
  if(End==-1)
  {
    End=q.indexOf('jjj');
  } 
  if (parametro!=0){
    parametro = window.location.search.substring(Start,(q.length)+1);
  }
  alert('parametro a devolver:'+parametro);
  return unescape(parametro);
}  

function podar(parametro) 
{ 
  alert('ha entrado en podar:'+parametro);
  var contador; 
  var q = getQueryString();
  q=unescape(q); 
  alert('querystring:'+q)
  Start = q.indexOf('jjj'); 
  if(Start==-1)
  {
    parametro=0;
  }
  else
  {
    Start=Start+4; 
  }
  End=q.length;
 
  if (parametro!=0){
    parametro = window.location.search.substring(Start, (End+1));
  }
  alert('parametro podado:'+parametro);
  return unescape(parametro);
}  


function instanciar()
{
var url;
var urlPrueba;
var contador;
var temporal;
var urlTemporal;
var siguientes;
var portal;
var restosiguientes;
var Final;
 
alert ("ha entrado en instanciar");

try
{
        contador=contar();
        document.write("contador obtenido de la funcion:"+contador+"<br>");
	
	<%
	
      Cookie[] misCook = request.getCookies();
      for(int ii=0;ii<misCook.length;ii++){
      
        System.out.println(misCook[ii].getName()+":"+misCook[ii].getValue());
        
      }
	
	System.out.println("XMLSESION DEL REQUEST:"+request.getParameter("xmlsesion"));
	if ((request.getParameter("xmlsesion"))!=null){
	  
	  System.out.println("SI HA LLEGADO EL XML DE SESION");
	  int n=0;
          while (n<vUrls.size()) 
          { 
            %>
            if(contador=="<%=n%>") { 
               if (contador=="<%=((vUrls.size())-1)%>"){
                 url ="<%=vUrls.elementAt(n)%>"+"?URL=<%=strUrlPortal%>"; 
               }else{
                  <%if(n!=(vUrls.size())-1)
                    {%>
                       url ="<%=vUrls.elementAt(n)%>"+"?URL=http://desaunix01.jakina.ejgvdns:8081/n38a/n38IntegracionPortal.jsp?siguientes=<%=strSiguientes%>"; 
                       url=unescape(url);
                  <%}
                  %>              
               }
            } 
            document.write("url a la que va a direccionar:"+url+"<br>");
            alert(document.cookie);
	    window.parent.location=url; 
            <%
            n++;
         }
        }
        else{
             System.out.println("NO HA LLEGADO EL XML DE SESION");
             %>
                siguientes=devolver('siguientes');
                portal=podar('portal');
                alert(siguientes);
                Final = siguientes.indexOf('kkk');
                if (Final!=-1) 
                {
                   direccion=siguientes.substring(0,Final);
                   alert('direccion:'+direccion);
                   alert('siguientes cortado:'+siguientes);
                   restosiguientes=siguientes.substring(Final+3,(siguientes.length+1));
                   alert('restosiguientes:'+restosiguientes);
                   url = direccion+"?URL=http://desaunix01.jakina.ejgvdns:8081/n38a/n38IntegracionPortal.jsp?siguientes="+restosiguientes; 
                }
                else
                {
                   siguientes=siguientes.substring(0,siguientes.indexOf('jjj'));
                   alert('siguientes definitivo:'+siguientes);
                   url=siguientes+"?URL="+portal; 
                   alert('url final-'+url+'-');;
                }
                url=unescape(url);
                document.write("url a la que va a direccionar:"+url+"<br>");
	        alert(document.cookie);
	        window.parent.location=url; 
          
             <%
            } 
	     %>
	
	
	
	
	 
	document.write("SE ACABO LA REDIRECCION!!!!!!!<br>");
			
	
}
catch(e)
{	
   document.write("se produjo una excepcion");
}

}
</script>
<Body onLoad="JavaScript:instanciar()">
</Body>

<table border="1" width="100%">

  <tr width="100%">

    <td>Esta es una página de prueba de redirecciones
    </td>

  </tr>

</table>

</html>