var h=768//screen.height
var w=1024//screen.width
var dialogo

//--------------------------//
//     Control de errores   //
//--------------------------//
function detenerError(){
          return true
}
window.onerror=detenerError
//--------------------------//

function copiarDatosPost2(dirDestino,frameOrigen,frameDestino,datosAdicionales){
  var destino
  var numDatos
  var datosAdicionalesCadena
  var i=0
  if(frameDestino==null)destino=parent.oculto
  else destino=eval(frameDestino)
  if(frameDestino==null)frameDestino="null"
  else frameDestino="'"+frameDestino+"'"
  if(datosAdicionales!=null)numDatos=datosAdicionales.length
  else numDatos=0  
  datosAdicionalesCadena=""
  for(i=0;i<numDatos;i++){
    datosAdicionalesCadena+="'"+datosAdicionales[i].replace(/\n/gi,"\\n")+"',"
  }
  if(numDatos!=0){
    datosAdicionalesCadena=datosAdicionalesCadena.substring(0,datosAdicionalesCadena.length-1)
  }
  //alert(datosAdicionales)
  var ventana=destino.document.open("")
  ventana.writeln("<html>")
  ventana.writeln("<script>")
  ventana.writeln("function comprobarConexion(){")  
  ventana.writeln("  if(cuerpo.comprobarConexion==null) {")  
  ventana.writeln('      alert("\\n---------------------------------------------\\n\\n\\nNo hay conexion con el servidor Web\\n\\nSi el problema persiste pongase en contacto \\ncon su administrador de sistemas\\n\\n\\n---------------------------------------------\\n")')
  //ventana.writeln("  }else {alert('"+dirDestino+","+frameOrigen+","+frameDestino.replace(/'/gi,"|")+",new Array("+datosAdicionalesCadena.replace(/'/gi,"|").replace(/\n/gi,"NNN")+")')}")  
  ventana.writeln("  }else {"+frameOrigen+".copiarDatosPost2('"+dirDestino+"','"+frameOrigen+"',"+frameDestino+",new Array("+datosAdicionalesCadena+"))}")  
  //ventana.writeln("  }else alert('j')")
  ventana.writeln("}")  
  ventana.writeln("</script>")
  ventana.writeln('<FRAMESET ROWS="100%%" noresize scrolling="yes" FRAMEBORDER="0" FRAMESPACING="0" BORDER="0" >')
  ventana.writeln('  <FRAME SRC="/comunes/comprobarConexion.asp" name="cuerpo"  noresize scrolling="no"  FRAMEBORDER="0" FRAMESPACING="0" BORDER="0"  onLoad="comprobarConexion()">')
  ventana.writeln('</FRAMESET>')

  ventana.writeln("</html>")
  ventana.close()

}
function copiarDatosPost(dirDestino,frameOrigen,frameDestino,datosAdicionales){
  var numDatos
  var destino
  if(frameDestino==null)destino=parent.oculto
  else destino=eval(frameDestino)
  if(datosAdicionales!=null)numDatos=datosAdicionales.length
  else numDatos=0
  var ventana=destino.document.open("")
  ventana.writeln("<html>")
  ventana.writeln("<body onLoad=\"document.charset='iso-8859-1';copiaDatos()\">")
  ventana.writeln("<form name=\"f\" action=\""+dirDestino+"\"  method=\"post\">")
  for(var i=0;i<f.length;i++){  
      if((f[i].type=="checkbox")||(f[i].type=="radio")){
        if(f[i].checked) ventana.writeln("<input type=\"hidden\" name=\""+f[i].name+"\" value=\"\">") 
      }else  ventana.writeln("<input type=\"hidden\" name=\""+f[i].name+"\" value=\"\">")   
  }
  
  for(var i=0;i<numDatos/2;i++){  
    ventana.writeln("<input type=\"hidden\" name=\""+datosAdicionales[i*2]+"\" value=\""+datosAdicionales[(i*2)+1]+"\">") 
  }
  
  ventana.writeln("<script language=\"javascript\">")
  
  ventana.writeln("function copiaDatos(){")  
  ventana.writeln("var j=0")  
  ventana.writeln("for(var i=0;i<"+frameOrigen+".f.length;i++){")  
  ventana.writeln(" if(("+frameOrigen+".f[i].type==\"checkbox\")||("+frameOrigen+".f[i].type==\"radio\")){")  
  ventana.writeln("   if("+frameOrigen+".f[i].checked) {")
  ventana.writeln("     f[j].value="+frameOrigen+".f[i].value")
  ventana.writeln("     j++")
  ventana.writeln("   }")  
  ventana.writeln("  }else  {")
  ventana.writeln("   f[j].value="+frameOrigen+".f[i].value")  
  ventana.writeln("   j++")  
  ventana.writeln("  }")  
  ventana.writeln("}")
  
  ventana.writeln("f.submit()")
  ventana.writeln("}")
  ventana.writeln("</script>")  
  ventana.writeln("</form>")
  
  ventana.writeln("</body></html>")
  ventana.close()

}

function transferir(datos){
  var i=0
  for(i=0;i<datos.length/2;i++){
    f[datos[i*2]].value=datos[(i*2)+1]
  }
  forzarObligatorios()
}
function alerta(entrada) {
  var aux
  var ancho=0
  var indice=0
  var indice2=0
  var alto=7
  var valor=entrada.toString()
  valor=valor.replace(/</gi,"&lt;")
  valor=valor.replace(/>/gi,"&gt;")
  var cadena=valor.replace(/\n/gi,"<br>")
  aux=cadena
  while (indice!=-1) {
    aux=aux.substr(indice+1)
    indice=aux.search("<br>")
    if (indice!=-1) {
      alto++
      if ((indice-indice2)>ancho) ancho=indice-indice2
      indice2=indice
      }
    else {
      if (aux.length>ancho) ancho=aux.length
      }
    
    }
  ancho=ancho*0.9
  if (ancho<30) ancho=30
  var parametros="dialogHeight:"+alto+"em; dialogWidth:"+ancho+"ex;  edge: ; center: yes; help: No; resizable: No; status: No;scroll: no"
  var dialogo=showModalDialog("about:<head><title>Serauto-net Alerta</title></head><BODY bottommargin='10' leftmargin='5' rigthmargin='5' onload='' topmargin='10' border='0' style='background-color:#F3F3FC'><center>"+cadena+"</center><br><center><input type='button' value='Aceptar' onClick='window.close()' style='width : 65;border-style: double; border-width: 1 ;background-color:#A4A4FF;cursor:hand;'></center></BODY>",window,parametros)
}


function copiarDatosGet(id){
  var i=0
  var cad=""
  for(i=0;i<id.length;i++){
    if((id[i].type=="checkbox")||(id[i].type=="radio")){
      if(id[i].checked) cad+=id[i].name+"="+codificacionURL(id[i].value)+"&"
    }else   cad+=id[i].name+"="+codificacionURL(id[i].value)+"&"
  }
  return cad.substring(0,cad.length-1)      
}

function codificacionURL(cad){
  return escape(cad).replace(/\+/g,'%2B')
}

function formatoNumericoVisible(num){
  var cadena=""
  var cadena2=""
  var cadena3=""
  var i=0
  var posicionComa=0
  var l=0
  cadena=new String(num)

  if ((posicionComa=cadena.indexOf("."))!=-1){
    cadena3=","+cadena.substring(posicionComa+1,cadena.length)
  }
  else{
    cadena3=",00"
  }
  if(cadena3.length<3) cadena3+="0"


  cadena=new String(parseInt(cadena))

  l=cadena.length
  for(i=0;i<l;i+=3){
    if(i) {
	//cadena2=cadena.substring(l-3-i,l-i)+"."+cadena2
	//comprobamos si lo que viene despues es un signo menos.
    	if ((cadena.substring(l-3-i,l-i)) == "-")
		cadena2=cadena.substring(l-3-i,l-i)+cadena2
	
	else 
		cadena2=cadena.substring(l-3-i,l-i)+"."+cadena2
    }else cadena2=cadena.substring(l-3,l)
  }
  cadena2+=cadena3
  if(cadena2.indexOf("NaN")!=-1){
    alert("El dato introducido debe tener formato numérico.");
    return ""
  }
  return(cadena2)
}

function formatoNumericoOperable(num){
  return(num.replace(/\./g,"").replace(/,/g,"."))
}


function forzarObligatorios(){
    //poner los obligatorios con fondo blanco
    for(i=0;i<obligatorio.length;i++){
      if(f[obligatorio[i]].value==""){
        f[obligatorio[i]].style.background="#C4DBD9"
      }else{
        f[obligatorio[i]].style.background="white"
      }
    }
}

function ponerCodigo(campoTexto,campoSelect){
    campoTexto.value=campoSelect[campoSelect.selectedIndex].value
    forzarObligatorios()
}
function seleccionar(id,opciones){
    var i=0
    if((window.event.keyCode==9)||(window.event.keyCode==13)||(window.event.keyCode==0)) {      
      for(i=0;i<opciones.length;i++){
        if(opciones[i].value.toUpperCase()==id.value.toUpperCase()){
          opciones.selectedIndex=i
          id.value=opciones[i].value
          forzarObligatorios()
          return true;
        }
      }
      opciones.selectedIndex=0
      id.value=""
      alert("El codigo introducido no existe.")
      forzarObligatorios()
    }
    return false

}
var estadoCampos=new Array()
function bloquearCampos(){
  var i=0
  for(i=0;i<f.length;i++){
    estadoCampos[i]=f[i].disabled
    f[i].disabled=true
  }
}
function desbloquearCampos(){
  var i=0
  if(estadoCampos.length==0)return false;
  for(i=0;i<f.length;i++)if(!estadoCampos[i])f[i].disabled=false   
}
function comprobarNumeroMenor(Obj,num) {
    if(Obj.value=="")return true
    if(!esNumero(formatoNumericoOperable(Obj.value))){
      alert("El dato introducido no tiene formato numerico")
      Obj.value=""
      return false
    }
    if(formatoNumericoOperable(Obj.value)>num){
      alert("El dato tecleado es incorrecto.")
      Obj.value=""
      return false;
    }
    var aux=formatoNumericoVisible(formatoNumericoOperable(Obj.value))
    Obj.value=aux.substring(0,aux.indexOf(","))
    return true
}
function comprobarNumero(Obj,num) {
    if(Obj.value=="")return true
    if(!esNumero(Obj.value)){
      alert("El dato introducido no tiene formato numerico")
      Obj.value=""
      return false
    }
    if(num!=null){
      if(num<formatoNumericoOperable(Obj.value)){
        alert("El dato tecleado es incorrecto.")  
        Obj.value=""
        return false
      }
    }

    return true
}
function comprobarCifra(Obj,num) {    
    var n
    if(Obj.value=="")return true        
    if(!esNumero(formatoNumericoOperable(Obj.value))){      
      alert("El dato introducido no tiene formato decimal")
      Obj.value=""
      return false
    }
    if(num!=null){
      if(num<formatoNumericoOperable(Obj.value)){
        alert("El dato tecleado es incorrecto.")  
        Obj.value=""
        return false
      }
    }
    Obj.value=formatoNumericoVisible(formatoNumericoOperable(Obj.value))
    return true
} 
function comprobarFecha(Obj) {
    //Funcion para poner la fecha en formato dd/mm/aaaa
    //hay que llamarla con this como parametro
      var nuevaDir;
      var cadena;
      var fecha;
      var dia,anho,mes;
      var indice,indice2;
  
  
      if ((window.event.keyCode==9)||(window.event.keyCode==13)||(window.event.keyCode==0 )) {        
        nuevaDir=Obj.value;
        if (nuevaDir=='') return false
        cadena=new String(nuevaDir);
        if((cadena.search('/'))==-1) {
          nuevaDir=cadena.substring(0,2)+'/'+cadena.substring(2,4)+'/';
          if (cadena.length==6) nuevaDir=nuevaDir+'20';
          nuevaDir=nuevaDir+cadena.substring(4);
        }
        cadena=new String(nuevaDir);
        indice=cadena.indexOf('/');
        dia=cadena.substring(0,indice);
        indice2=cadena.indexOf('/',indice+1);
        mes=cadena.substring(indice+1,indice2);
        anho=cadena.substring(indice2+1);
        if (indice!=2) dia=0+dia;
        if (indice2-indice!=3) mes='0'+mes;
        if (anho<1000) {
          anho=eval(anho)+2000;
          }
        fecha=new Date(anho,(mes-1),dia);
        if ((fecha.getFullYear()!=anho)||(fecha.getMonth()!=eval(mes-1))||(fecha.getDate()!=eval(dia))||(anho>9999)) {
          alert('Fecha Incorrecta (Formato dd/mm/aa o ddmmaa)')
          Obj.value=''
          Obj.focus()
          return false
        }
        else {
          Obj.value=''+dia+'/'+mes+'/'+anho;
          forzarObligatorios()
          return true
        }
      }
      return false
}
function comprobarObligatorios() {
  //devuelve true si estan todos los campos obligatorios
  //y false si no
  
    var i
    for (i=0;i<obligatorio.length;i++) {
      if (f[obligatorio[i]].value=='') {
        alert('Falta algún campo obligatorio')
        return false
      }
    }
    return true
}

function esNumero(numero){
  if (isNaN(Number(numero))) return false
  else return true
}

function comprobarHora(obj) {
  var hora
  var minutos
  var tiempo
  forzarObligatorios()
  if (obj.value=="") return
  if ((window.event.keyCode==9)||(window.event.keyCode==13)||(window.event.keyCode==0 )) {        
    if (obj.value.indexOf(":")==-1) {
      hora=Number(obj.value.substring(0,2))
      minutos=Number(obj.value.substring(2,5))
    } else {
      hora=Number(obj.value.substring(0,obj.value.indexOf(":")))
      minutos=Number(obj.value.substring(obj.value.indexOf(":")+1))
    }
    if ((hora<0)||(hora>23)||(minutos<0)||(minutos>59)||(isNaN(hora))||(isNaN(minutos))) {
      alert("Formato incorrecto hh:mm")
      obj.value=""
      obj.focus()
      forzarObligatorios()
      return false
      }
    else {
      if (hora<10)  hora="0"+hora
      if (minutos<10) minutos="0"+minutos
      obj.value=hora+":"+minutos
      return true
      }
  }
}



function abrirVentanaBloqueante(dirDestino,datos,ancho,alto,posicionAncho,posicionAlto){
  var caracterSeparacion="?"
  if(posicionAlto==null)posicionAlto=0
  if(posicionAncho==null)posicionAncho=w-ancho
  var parametros="dialogHeight:"+alto+"px; dialogWidth:"+ancho+"px;  edge: Sunken; center: yes; help: No; resizable: No; status: No;dialogTop: "+posicionAlto+"px; dialogLeft:"+posicionAncho+"px;";
  if(datos!=null){
    for(var i=0;i<datos.length/2;i++){
      dirDestino=dirDestino+caracterSeparacion+datos[i*2]+"="+codificacionURL(datos[(i*2)+1]).replace(/\n/gi,"\\n")
      caracterSeparacion="&"
    }
  }
  showModalDialog(dirDestino,window,parametros);
}


function ilumina(id){
  id.style.background="#FCFCFF"
}
function apaga(id){
    id.style.background="#ECECFF"
}

function menu(activar){
    if(activar){
      menuOculto.style.visibility="hidden"
      menuVisible.style.visibility="visible"
    }else{
      menuOculto.style.visibility="visible"
      menuVisible.style.visibility="hidden"
    }
}
var dirDestinoVentanaFlotante=""
function abrirVentanaFlotante(dirDestino,datos,tipo,ancho,alto,posicionAncho,posicionAlto){
  var caracterSeparacion="?"
  var dirDestinoConParametros=dirDestino
  if(posicionAlto==null)posicionAlto=0
  if(posicionAncho==null)posicionAncho=w-ancho
  var parametros="dialogHeight:"+alto+"px; dialogWidth:"+ancho+"px;  edge: Sunken; center: yes; help: No; resizable: No; status: No;dialogTop: "+posicionAlto+"px; dialogLeft:"+posicionAncho+"px;"; 
  for(var i=0;i<datos.length/2;i++){
    dirDestinoConParametros=dirDestinoConParametros+caracterSeparacion+datos[i*2]+"="+codificacionURL(String(datos[(i*2)+1]).replace(/\n/gi,"\\n"))
    caracterSeparacion="&"
  }
  dirDestinoConParametros=dirDestinoConParametros.substring(0,2047)
  if (dialogo==null) {
        dialogo=showModelessDialog(dirDestinoConParametros,window,parametros);                      
        
  }else{
    if(dialogo.closed)  {
      dialogo=showModelessDialog(dirDestinoConParametros,window,parametros);
      
    }else{
      if(dirDestinoVentanaFlotante!=dirDestino){
        dialogo.close()
        dialogo=showModelessDialog(dirDestinoConParametros,window,parametros);      
        
      }else {
        dialogo.ficha.meterDatos(tipo,datos)
      }
    }
  }
  dialogo.focus();
  dialogo.opener = self
  dirDestinoVentanaFlotante=dirDestino
}

function cerrarVentanaFlotante(){
        if (dialogo!=null) {
          if(!dialogo.closed)  {
            dialogo.close();
          }
        }
}


function comprobarEntero(Obj,num) {
    if(Obj.value=="")return true
    if(!esNumero(Obj.value)||(Obj.value.indexOf(".")!=-1)){
      alert("El dato introducido no tiene formato numerico")
      Obj.value=""
      return false
    }
    if(num!=null){
      if(num<Obj.value){
        alert("El dato tecleado es incorrecto.")  
        Obj.value=""
        return false
      }
    }

    return true
}

function ponerReadOnly(valor)
  {
    var i
    for (i=0;i<f.length;i++)
    {
      if ((f[i].type=="button")||(f[i].type=="checkbox")||(f[i].type=="select-one"))
      {
        f[i].disabled=valor
      }
      else
      {
        f[i].readOnly=valor
      }
     }
  }

var datosIniciales

function guardarValoresIniciales(datos) {
  datosIniciales=datos  
}
function generarReporte(datosAdicionales) {
  var reporte=""
  var i
  var numDatos
  if(datosAdicionales!=null)numDatos=datosAdicionales.length
  else numDatos=0
  for(i=0;i<numDatos/2;i++){
    reporte=reporte+datosAdicionales[i*2]+"="+String.fromCharCode(165)+datosAdicionales[(i*2)+1].replace(/String.fromCharCode(165)/g," ")+String.fromCharCode(165)+","
  }
  for(i=0;i<datosIniciales.length/2;i++){
    if(eval("this.f."+datosIniciales[i*2])){
      if((f[datosIniciales[i*2]].type=="checkbox")||(f[datosIniciales[i*2]].type=="radio")){
        if( ((datosIniciales[(i*2)+1]!="")&&(f[datosIniciales[i*2]].checked==false))||((datosIniciales[(i*2)+1]=="")&&(f[datosIniciales[i*2]].checked==true)) ){
          reporte=reporte+datosIniciales[i*2]+"="+String.fromCharCode(165)+datosIniciales[(i*2)+1].replace(/String.fromCharCode(165)/g," ")+String.fromCharCode(165)+","
          if(datosIniciales[(i*2)+1]!="") datosIniciales[(i*2)+1]=""
          else datosIniciales[(i*2)+1]=f[datosIniciales[i*2]].value
        }        
      }else{
        if(f[datosIniciales[i*2]].value.replace(/\r\n/g,"\n")!=datosIniciales[(i*2)+1]){
          reporte=reporte+datosIniciales[i*2]+"="+String.fromCharCode(165)+datosIniciales[(i*2)+1].replace(/String.fromCharCode(165)/g," ")+String.fromCharCode(165)+","
          datosIniciales[(i*2)+1]=f[datosIniciales[i*2]].value.replace(/\r\n/g,"\n")
        }
      }
    }
  }

  return reporte.substring(0,reporte.length-1)
}



var digits = new Array('0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');

function hashCode(val) {
  var h = 0;
  var off = 0;
  var len = val.length;

  for (i = 0; i < len; i++){
      h = 31*h + parseInt(val.substring(i,i+1).charCodeAt());
  }
  h=h & 0xFFFFFFFF;
  return (toHexString(h));
}

function toHexString(i) {
    var buf = new Array('0','0','0','0','0','0','0','0');
    var charPos = 8;
    var radix = 1 << 4;
    var mask = radix - 1;
    var bufs=new String();
    do {
        buf[--charPos] = digits[i & mask];
        i >>>= 4;
    } while (i != 0);
    for(k=0;k<8;k++) bufs +=buf[k];
    return bufs;
}

function lengthWidth(limit) {

	var h;

  	if (screen.availWidth > limit)
  		h = limit;
  	else
		h = screen.availWidth;

	return h;
}

function lengthHeight(limit) {

    var w;

    if (screen.availHeight > limit)
    	w = limit;
    else
    	w = screen.availHeight;

    return w;
}


var idDivTabActual= new Array()
var idTabActual= new Array()

function inicializarTabs(numNivelesTabs){
	for(var i=0;i<numNivelesTabs;i++){
		idDivTabActual[i]= eval("idDivTab"+i+"1")
		idTabActual[i]= eval("idTabIni"+i)
		mostrarTab(i,idDivTabActual[i],idTabActual[i])
	}
}

function mostrarTab(num,idDiv,idTab){
	  idDivTabActual[num].style.display="none"
	  idDivTabActual[num]=idDiv
	  idDivTabActual[num].style.display="inline"
	  idTabActual[num].bgColor=""
	  idTabActual[num].style.backgroundColor="#eeeeee";
	  idTabActual[num].style.color="";
	  idTabActual[num].style.fontWeight="";
	  idTabActual[num].style.borderBottomWidth="1px"
	  

	  idTabActual[num]=idTab

	  //idTabActual.bgColor="blue"
	  if(num>0) idTabActual[num].style.backgroundColor="#EAEDF2"
	  else idTabActual[num].style.backgroundColor="#E4E8F1"
	  idTabActual[num].style.color="blue";
	  idTabActual[num].style.fontWeight="bolder";
	  idTabActual[num].style.borderBottomWidth="0px"

}




function RTrim(VALUE){
	var w_space = String.fromCharCode(32)
	var v_length = VALUE.length
	var strTemp = ""
	
	if(v_length < 0){
		return""
	}
	var iTemp = v_length -1

	while(iTemp > -1){
		if(VALUE.charAt(iTemp) == w_space){
		}
		else{
			strTemp = VALUE.substring(0,iTemp +1)
			break
		}
		iTemp = iTemp-1

	}
	return strTemp
}


/*
	CENTRALIZACION DE LA FUNCION DE LLAMADA AL DISPENSADOR
*/
ventanaDispensador= function() {
	abrirVentanaBloqueante('/tramites/tr_dispensador_ventanaInicio.asp',new Array(),650,500,200,0);
}


/*

function Trim(TRIM_VALUE){
	if(TRIM_VALUE.length < 1){
		return"";
	}
	
	TRIM_VALUE = RTrim(TRIM_VALUE);
	TRIM_VALUE = LTrim(TRIM_VALUE);
	
	if(TRIM_VALUE==""){
		return "";
	}
	else{
		return TRIM_VALUE;
	}
} //End Function


function LTrim(VALUE){
	var w_space = String.fromCharCode(32);

	if(v_length < 1){
		return"";
	}
	var v_length = VALUE.length;
	var strTemp = "";

	var iTemp = 0;

	while(iTemp < v_length){
		if(VALUE.charAt(iTemp) == w_space){
		}
		else{
			strTemp = VALUE.substring(iTemp,v_length);
		break;
		}
		iTemp = iTemp + 1;
	} //End While
	return strTemp;
} //End Function


*/
