/*******************************************************************/
/*Ultima revision: 21 de oct del 2009 cambio Jorge M			         */
/*Ultimas lineas agregadas: 0                                      */
/*Funcion nueva   tomar_partidas linea  2199                       */
/*funciones cambiadas                                              */  
/*  cadenas_validar                                                */
/*                                                                 */
/*******************************************************************/
// JavaScript Document
//alert("...xxx");
//Devuelve el tipo de explorador utilizado por el cliente

  var prestamo;

function explorador(){
	var n,a,v;
	var nombre=navigator.appName;
	var agente=navigator.userAgent;
	var version=navigator.appVersion;
	
	return {n: nombre, a: agente, v: version};
}


//Busca un objeto en la estructura HTML con DOM
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}


//Oculta o Muestra un objeto HTML 
function MM_showHideLayers() { //v6.0  MM_showHideLayers('mnuVer','','show')
  var i,p,v,obj,args=MM_showHideLayers.arguments;
 for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) {obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v;}
    obj.visibility=v;
	}
}

/*************************************************************************************
***********************Funcion para validacion de formularios*************************
**************************************************************************************
    Autor: Jorge A .Cano / Ironbit S.A. de C.V.
    Descripción: Función que permite validar los datos ingresados en los campos de un formulario
	
	MM_validateForm(nombre del objeto 1 ,nombre del label 1 ,validaciones a realizar 1,nombre del objeto 2 ,nombre del label 2 ,validaciones a realizar 2,...nombre del objeto n ,nombre del label n ,validaciones a realizar n);
	
	Donde:
	nombre del objeto 1,nombre del objeto 2, ... nombre del objeto n = Nombre con el que se identifica el campo a validar
	nombre del label 1,nombre del label 2, ... nombre del label n = Nombre con el que se hace referencia a campo al mostrar los mensajes de error
	validaciones a realizar 1,validaciones a realizar 2, ... validaciones a realizar n =Contiene las validaciones que re sequieren de dicho campo
	
	Tipo de Validaciones:
	Tipo                    Cadena de identificación
	obligatorio        ---> R
	mail               ---> isMail
	numerico           ---> inNum
	numerico con rango ---> inRangeX:Y  -->(X=nimimo, Y=maximo)
	longitud min-max   ---> inLongX -->(X=lonjitud deseada)
	sin espacios       ---> ouSpace
	
	Ejemplo de ejecución:
	
	Si desearamos validar un campo con un id=name=intTelefono y que identificamos como 'Teléfono' 
	que sea obligatorio, del tipo numerico y que su lonjitud no sea mayor a 8 caracteres
	
	1.- Formamos la cadena que llama a todas estas validaciones:
		obligatorio        ---> R
	    numerico           ---> inNum
		longitud min-max   ---> inLongX
		
		cadena de validaciones --> 'RinNuminLong8'

	2.- Hacemos la llamada de la funcion con argumentos:
		MM_validateForm('intTelefono','Teléfono','RinNuminLong8')
		
	3.- Lo aplicamos al formulario
		
		<form action="" method="post" name="form1" id="form1" onsubmit="MM_validateForm('intTelefono','Teléfono','RinNuminLong8');return document.MM_returnValue">
	
*/
function MM_validateForm() { //v4.0
  //alert("-->"+document.getElementById);
  if (document.getElementById){
  
    var i,p,p2,q,nm,test,num,lng,lng_max,min,max,errors='',args=MM_validateForm.arguments;
	//alert("# Argumentos-->"+args.length);
	//Leemos los nombres de los campos
    for (i=0; i<(args.length-2); i+=3) { 
	  
	  test=args[i+2];
	  field_nm=args[i+1];
	  val=document.getElementById(args[i]);
	  
	  //alert("val-->"+val);
	  //alert("Tipo de objeto-->"+test);
      if (val) { 
	    nm=field_nm;
	    val_nm=val.name;
		
		//Si el valor del objeto es diferente de nada "", pasa
		if ((val=val.value)!="") {
		 
		 //alert("Validamos")
		
		//************* Valida campos email ************
          if (test.indexOf('isEmail')!=-1) { 
		    p=val.indexOf('@');
            if (p<1 || p==(val.length-1)) errors+='- Ingrese una direccion de correo valida en el campo '+nm+'.\n';
			//Si en diferente de R entonces se trata de un campo Numerico no solo es requerido
          }
		  
		  
		  //*********** Valida la longitud del valor del campo ***********
		  if (test.indexOf('inLong')!=-1) { 
		      //alert("Validamos longitud");
		      lng=parseFloat(val.length);
			  p=test.indexOf('inLong');
			  lng_max=parseFloat(test.substring(p+6,p+7));//longitud maxima permitida = 9 = XXXXXXXXX
			  //alert("Long max-->"+lng_max+" longitud -->"+lng);
			 if(lng > lng_max)  errors+='- La longitud del campo "'+nm+'" no puede ser mayor a '+lng_max+' caracteres.\n';
			 if(lng < lng_max)  errors+='- La longitud del campo "'+nm+'" no puede ser menor a '+lng_max+' caracteres.\n';
		  }
		  
		  
		  //*********** Valida espacios en blanco ************
		  if(test.indexOf('ouSpace')!=-1){ 
		      p=val.indexOf(' ');
			  //alert("Espacios ?-->"+p);
			  if(p!=-1) errors+='- El valor del campo "'+nm+'" no debe contener espacio en blanco.\n';
		  }
		  
		  //*********** Validad si es numerico y se encuentra dentro de rango ***********
		  if (test.indexOf('isNum')!=-1 || test.indexOf('inRange')!=-1) { 
		  
		      num = parseFloat(val);//Devolvemos el numero en punto flotante 
			  //alert("parseFloat-->"+num);
              if (isNaN(val)) errors+='- El campo "'+nm+'" debe contener un valor numerico.\n';
			
			  if (test.indexOf('inRange') != -1) { 
			    p=test.indexOf(':');
				p2=test.indexOf('inRange');
				//alert("Posicion del caracter : -->"+p+" p2 -->"+p2);
				//alert("sub cadena -->"+test+" --- "+test.substring(p+2));
                min=parseFloat(test.substring(p2+7,p));
			    max=parseFloat(test.substring(p+1));
				//alert("min-->"+min+"max-->"+max+" p->"+p);
                if (num<min || max<num) errors+='- El campo "'+nm+'" debe contener digitos entre '+min+' y '+max+'.\n';
			  
              }
			
		  }
		  
		  if (test.indexOf('isPassMD5')!=-1) { 
		  		
	            desa=document.getElementById('str_desafio');
				field=document.getElementById(val_nm);
				//Encriptamos el valor del campo y formamos campo valor
				//Ej de cadena formada:  $str_Pass_Intranet="c81e728d9d4c2f636f067f89cc14862c"
				crypt='$'+val_nm+'='+'"'+hex_md5(val)+'"';
				//Enviamos el valor obtenido al campo hidden que se enviara cifrado por POST
				desa.value = crypt+","+desa.value;
				//Seteamos el valor del campo para que no se envie este por POST
				field.value='';	
				
		  }
		  
		  if (test.indexOf('isPass')!=-1) { 
		  		
	            desa=document.getElementById('str_desafio');
				field=document.getElementById(val_nm);
				//Dado que el dato no va cifrado
				
				//Ej de cadena formada:  $str_Pass_Intranet="c81e728d9d4c2f636f067f89cc14862c"
				crypt='$'+val_nm+'='+'"'+val+'"';
				//Enviamos el valor obtenido al campo hidden que se enviara cifrado por POST
				desa.value = crypt+","+desa.value;
				//Seteamos el valor del campo para que no se envie este por POST
				field.value='';	
				
		  }
		  
		  
		  
		//*********** Valida si el campo es requerido *********** 
	    } else if (test.charAt(0) == 'R') errors += '- Ingrese un valor para el campo "'+nm+'".\n'; 
		
	  }
	  
    } 
	
	if (errors){
		//*** Si se validaron passwords reseteamos el campo hidden str_desafio ***' 
		//*** para evitar una cadena duplicada                                 ***'
	    desa=document.getElementById('str_desafio');
	    if(desa) {
	       	desa.value='';
        }
			
		alert('Verifique los siguientes errores:\n'+errors);
	}
    document.MM_returnValue = (errors == '');
	
  }
  
}
//Ajusta la posicion del menu principal "Aplicativos Por Direccion"
function status_menu(){
	var status;
	var e=explorador().n;
	var Obj=document.getElementById('corner_izq');
    var xObj=getDimensions(Obj).x;
	var yObj=getDimensions(Obj).y;

    status=document.getElementById('menu_aplicativos').style.visibility;
	
	if(e.indexOf('Microsoft Internet Explorer')!=-1){//IE Explorer
		setPosicion('menu_aplicativos','x',xObj+2);
	    setPosicion('menu_aplicativos','y',yObj+27);
	}else{//FireFox
	    setPosicion('menu_aplicativos','x',xObj+1);
	    setPosicion('menu_aplicativos','y',yObj+26);		
	}

	
	if(status=='hidden'){
	  MM_showHideLayers('menu_aplicativos','','show');
	}else{
	  MM_showHideLayers('menu_aplicativos','','hidden');
	  oculta_sub_menus();
	}
}
//Ajusta la posicion de los submenus del menu principal
//muestra_sub_menus('id_menu_padre','alineacion')
//Ej:muestra_sub_menus(this.id,'i')
//Donde:
//Alineación i=izquierda ; d=derecha ; c=centro
function muestra_sub_menus(){
	
	var ajuste_h,ajuste_v,alineacion_h,padre,args=muestra_sub_menus.arguments;
	padre=args[0];//Nombre del menu padre
	switch(args[1]){//Tipo de alineación
		case 'd':
		alineacion_h='+';
		break;
		case 'i':
		alineacion_h='-';
		break;
		case 'c':
		break;
	}

	var cnt_submenu=1;
	var h_new=0;
	var e=explorador().n;
	
	do{
	    id_submenu=padre+"_sub_"+cnt_submenu;
	    objeto=document.getElementById(id_submenu);
	    if(objeto){
		    Obj=document.getElementById(padre);
            xObj=getDimensions(Obj).x;
			yObj=getDimensions(Obj).y;
			wObj=getDimensions(Obj).w;
			hObj=getDimensions(Obj).h;
			
			if(e.indexOf('Microsoft Internet Explorer')!=-1){
				if(alineacion_h=='-'){
				    ajuste_h=1;
					ajuste_v=-170;
				}else{
					ajuste_h=7;
					ajuste_v=1;
				}
			   setPosicion(id_submenu,'x',eval(ajuste_h+alineacion_h+wObj));
			   if(cnt_submenu==1){
					yObj=eval(yObj+ajuste_v); //Posicion del primer submenu
					setPosicion(id_submenu,'y',yObj);
					h_new=getDimensions(objeto).h+yObj-4;
			    }else{
				    setPosicion(id_submenu,'y',h_new);
				    h_new=h_new+getDimensions(objeto).h-4;
			    }				
			}else{
				if(alineacion_h=='-'){
				    ajuste_h=xObj+4;
					ajuste_v=0;
				}else{
					ajuste_h=xObj+1;
					ajuste_v=0;
				}
				setPosicion(id_submenu,'x',eval(ajuste_h+alineacion_h+wObj));
			    if(cnt_submenu==1){
			        setPosicion(id_submenu,'y',yObj+ajuste_v);
				    h_new=getDimensions(objeto).h+yObj;
			    }else{
				    setPosicion(id_submenu,'y',h_new);
				    h_new=h_new+getDimensions(objeto).h;
			    }
			}
		    MM_showHideLayers(id_submenu,'','show');
	    }
	    cnt_submenu ++;
	}while(objeto);
}


function  oculta_sub_menus(){
	var cnt_menu=1;
	var cnt_submenu=1;
	var id_menu="menu_"+cnt_menu;
	
    do{
	   objeto1=document.getElementById(id_menu);
	   if(objeto1){
		   cnt_menu++;
	       id_menu="menu_"+cnt_menu;
	   }
	}while(objeto1)
	
	var num_menus=cnt_menu-1;
 	
	for(i=1;i<=num_menus;i++){
		var id_submenu="menu_"+i+"_sub_"+cnt_submenu;
		objeto2=document.getElementById(id_submenu);
		do{
		    if(objeto2){
				status_submenu=document.getElementById(id_submenu).style.visibility;
				if(status_submenu!='hidden'){
				   MM_showHideLayers(id_submenu,'','hidden');	
				}
			    cnt_submenu++;
				id_submenu="menu_"+i+"_sub_"+cnt_submenu;
				objeto2=document.getElementById(id_submenu);
		    }else{
			    //alert("No Existe-->"+id_submenu);
		    }
	    }while(objeto2)
		cnt_submenu=1;
	}
	
}

//*** Funcion para mostrar mensaje de confirmacion al cerrar sesión ***'
function cierra_sesion(){
	var respuesta=confirm("Desea cerrar su sesion?");

	if (respuesta==true){
	   document.location = "cerrar_sesion.php?accion=logout" ;      
	   i=0;		 
	}else{
	   i=1;
	}
}

function oprime_tecla(e) {
  tecla = (document.all) ? e.keyCode : e.which;
  if (tecla==13) enviar('login','login');//alert ('Has pulsado enter');
  
}

function enviar(obj,cual){
	//alert(obj+" --- "+cual);
	if(cual=='login'){
	 if(v1())document.getElementById('login').submit();
	}
	if(cual=='generico'){
		document.getElementById(obj).submit();
	}
	
}


//Obtiene la posicion 'x','y' y las dimenciones ancho , alto de un objeto html
//Ejemplo:   Obj=document.getElementById('m'+i);
//           xObj=getDimensions(Obj).x;
function getDimensions(oElement) {
var x, y, w, h;
x = y = w = h = 0;
if (document.getBoxObjectFor) { // Mozilla
  var oBox = document.getBoxObjectFor(oElement);
  x = oBox.x-1;
  w = oBox.width;
  y = oBox.y-1;
  h = oBox.height;
}
else if (oElement.getBoundingClientRect) { // IE
  var oRect = oElement.getBoundingClientRect();
  x = oRect.left-2;
  w = oElement.clientWidth;
  y = oRect.top-2;
  h = oElement.clientHeight;
}
return {x: x, y: y, w: w, h: h};
}

function setPosicion(objeto,eje,desp){
    //alert("Obj-->"+objeto+" eje-->"+eje+" desp-->"+desp);
	var e=explorador().n;
	
	if(e.indexOf('Microsoft Internet Explorer')!=-1){
	    if(eje=='x'){
			document.getElementById(objeto).style.left=desp+'px';
		}
		if(eje=='y'){
			document.getElementById(objeto).style.top=desp+'px';
		}
	}else{
		if(eje=='x'){
			document.getElementById(objeto).style.left=desp+'px';
		}
		if(eje=='y'){
			document.getElementById(objeto).style.top=desp+'px';
		}
	}
}



//Funcion que posiciona los menus de acuerdo al explorador
function posicion(n){
	// n es el numero de menus del aplicativo que se van a alinear
    var myObj,xObj,yObj,wObj,mL;
	var e=explorador().n;
	var sepX;//Separacion entre menus
	//Obtenemos la posicion del objeto a utilizar como referencia
	var Obj=document.getElementById('ref_v');
    var xObj=getDimensions(Obj).x;
	var yObj=getDimensions(Obj).y;
	
	//alert("Posicion del objeto X:"+xObj+" Y:"+yObj);
	//Dependiendo del browser ajustamos los pixeles para alinear los menus
	if(e.indexOf('Microsoft Internet Explorer')!=-1){
		yAdj=-3;
		xAdj=2;
	}else{
		yAdj=-4;
		xAdj=1;
	}
	
    for(i=1;i<=n;i++){
		mL=i-1;
		wObj=document.getElementById('cab_m'+mL);//Ancho del la cabecera del menu
		
		if(wObj!=null){
			wMenu=getDimensions(wObj).w;
			sepX=10;
			
		}else{
			sepX=xObj+xAdj;
			wMenu=0;
			wAc=0;
		}
		//Sumamos las distancias Acumulada (wAc)+ Ancho de la cabecera (wMenu) + Separacion entre menu (sepX=10)
		setPosicion('m'+i,'x',wAc+wMenu+sepX);	
        wAc+=wMenu+sepX;//Distancia del menu anterior
		setPosicion('m'+i,'y',yObj+yAdj);
    }

}

function posTextMenu(){
	var e=explorador().n;
	if(document.getElementById('TdChat')){
	    if(e.indexOf('Microsoft Internet Explorer')!=-1){
	        document.getElementById('TdChat').innerHTML="<a class='aTDNIV1'>CHAT CONOCER</a>";
	    }else{
		    document.getElementById('TdChat').innerHTML="<a class='aTDNIV1'>&nbsp;CHAT CONOCER</a>";
	    }
	}
	
}


//Hay que depurar esta funcion 
function redireccionar(obj,pagina){
	//alert('Objeto '+obj+' -- Pagina '+pagina);
	if(obj=="" || obj=='undefined'){
		window.location=pagina;
	}else{
	    window.contenido.location=pagina;
	    pagina="";
	}
}

//******** REDIRECCIONA EL CONTENIDO DEL IFRAME CONTENIDO *********//
function redireccion(pagina,nivel){
	//alert('Click hacia: '+pagina+' nivel: '+nivel);
	
	if(nivel==0){
	  window.detalle.location=pagina;
	  pagina="";
	}
	if(nivel==1){
	  parent.window.detalle.location=pagina;
	  pagina="";
	}
	if(nivel==2){
	  //alert("nivel 2");
	  parent.window.contenido.location=pagina;
	  pagina="";
	}	
	/*
	if(nivel==2){
		//alert("nivel 2");
	  window.if_contenido.window.if_detalle.location=pagina;
	  pagina="";
	}
	if(nivel==3){
	  //alert("nivel 3 Pagina"+pagina);
	  parent.window.if_buscador.location=pagina;
	  pagina="";
	}
	if(nivel==4){
	  //alert("nivel 4 Pagina"+pagina);
	  window.if_contenido.window.if_buscador.location=pagina;
	  pagina="";
	}
	if(nivel==5){
	  //alert("nivel 4 Pagina"+pagina);	
	  parent.window.if_busca.location=pagina;
	  pagina="";	
	}*/
	
}

//Obtiene losparametros a utilizar para realizar la busqueda
//y recarga el listador de archivos correspondiente
function busqueda(contenido){
	//alert("tipo --->"+contenido);

	var texto,palabra,indice,valor,textoEscogido,b_tipo,var_get;	
	
    if(document.form1.filtro){
	   indice = document.form1.filtro.selectedIndex;
       valor = document.form1.filtro.options[indice].value;
       textoEscogido = document.form1.filtro.options[indice].text;
	
	var mivalor = valor;
    var palabra = "_dat_";
	b_tipo='';
    if(mivalor.indexOf(palabra)!=-1){
        //alert('La frase\n'+ mivalor +' \nContiene la palabra\n'+palabra);
		b_tipo='fecha';
    }else{
        //alert('La frase\n'+ mivalor +' \nNO Contiene la palabra\n'+palabra);
	    b_tipo='palabra';
	}
	}else{
		indice='';
		valor='';
		textoEscogido='';
		b_tipo='';	
	}
	
	//Traemos los datos del formulario buscador en if_buscar.php
	palabra=document.form1.palabra.value;
	
	//alert(contenido+'?palabra='+palabra+'&filtro='+valor+'&tipo='+b_tipo);
	
	if(contenido.indexOf('?')!=-1){
		var_get='&';
	}else{
		var_get='?';
	}
	
	parent.window.contenido.location=contenido+''+var_get+'palabra='+palabra+'&filtro='+valor+'&tipo='+b_tipo;
	
}


function refrescar(pagina){
	//alert("Refrescando ->"+pagina);
	parent.window.contenido.location=pagina;
}


//Muestra el mensaje deacuerdo a la accion realizada
function mensaje(msg){
  
  var mensaje=msg;
  
  //alert(mensaje);
  switch(mensaje)
  {

    case "update":
    parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>El registro se actualizo correctamente...!</a>";
    break;

    case "insert":
    parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>El registro se agrego correctamente...!</a>";
	break;
	
    case "delete":
	parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>El registro se elimino correctamente...!</a>";
    break;
	
	case "error_insert":
	parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>Problemas al insertar el registro, intentelo nuevamente..!</a>";
    break
	
	case "error_delete":
	parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>Problemas al eliminar el registro, intentelo nuevamente..!</a>";
    break
	
	case "error_delete_ldap":
	parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>Problemas al eliminar el registro LDAP, intentelo nuevamente..!</a>";
    break
	
	case "error_edit":
	parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>Problemas al editar el registro, intentelo nuevamente..!</a>";
    break
	
	case "tamano":
		parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>El tamaño de la imagen es muy grande...!</a>";
    break;
		
		case "doble":
		parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>El archivo ya existe...!</a>";
    break;
    
    case "subir":
		parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>Error al cargar el archivo...!</a>";
    break;
    
    case "tipo":
		parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>Solo archivos con extensión .jpg, .png o .gif...!</a>";
    break;
	
	case "tipo_pdf":
		parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>Solo archivos con extensión .pdf...!</a>";
    break;
	
	case "envio":
		parent.document.getElementById('msg').innerHTML = "<a class='aTxtMensajeUsuario'>Envió de correos realizado ...!</a>";
    break;
  }
 
}

function mensaje_tune(lugar,mensaje){
	parent.document.getElementById(lugar).innerHTML = "<a class='aTxtMensajeUsuario'>"+mensaje+"</a>";
}

function imprimir(pagina)
{
	//alert(pagina);
	window.open(pagina,'Imprimir','width=770,height=550,toolbar=No,location=No,scrollbars=Yes,status=No,resizable=No,fullscreen=No');
}



//Muestra los mensajes de error                   
//utilizado para las validaciones de formularios  
function showError(titulo,errores){

  var tabla_padre = 'error';
  var tr_error = document.getElementById('tr_error');
  var tabla_hijo = document.getElementById('tb_error');
  var filas = tabla_hijo.rows.length;
  var objRow = tabla_hijo.insertRow(filas);
  var objCell;
  var err="";
  var num_err =errores.length;
  var ex=explorador().n;
  
  titulo_err="<td id='tdtitulo' width='217'><a class='aTxtErrorTit'>"+titulo+"</a></td>";
  
  if(ex=='Netscape'){
     for(i=0;i<num_err;i++){
        err=err+"<tr id='err"+i+"'><td><a class='aTxtErrorBody'>- "+errores[i]+"</a></td></tr>";
     }
  }else{
	 for(i=0;i<num_err;i++){
        err=err+"<tr id='err'><td><a class='aTxtErrorBody'>- "+errores[i]+"</a></td></tr><br>";
     }
  }
  
  objCell=tr_error.insertCell(0);
  objCell.innerHTML =titulo_err;
  
  objCell = objRow.insertCell(0);
  objCell.innerHTML =err;
  
  centrar(tabla_padre);
  
  MM_showHideLayers('error','','show','absolute');
  
}



//Oculta Los mensajes de error cuando el usuario
//pulsa el boton cerrar
function hideError(){
	
  var tabla = document.getElementById("Td_error");
  
  MM_showHideLayers('error','','hidden','absolute');

  var tabla_padre = document.getElementById('error');
  var tabla_hijo = document.getElementById('tb_error');
  var filas = tabla_hijo.rows.length;
  
  var elemento = document.getElementById("tdtitulo");
  var padre=elemento.parentNode;
  //alert("Valor elemento"+padre);
  padre.removeChild(elemento);
  
  
  for (var i=0; i<=filas; i++) { 
      elemento = document.getElementById("err"+i);
	  //alert("elemento --->"+elemento);
      padre=elemento.parentNode;
	  padre.removeChild(elemento);
  }
   
}



//Borra objetos HTML
function borrar_obj(objeto){
      var elemento = document.getElementById(objeto);
      var padre=elemento.parentNode;
	  padre.removeChild(elemento);
}


//Centra un objeto html en la pantalla
function centrar(nombre_obj){
    var myObj = document.getElementById(nombre_obj);
    var wObj = getDimensions(myObj).w;
	var hObj = getDimensions(myObj).h;
    
	x=(document.body.clientWidth-wObj)/2;
	y=(document.body.clientHeight-hObj)/2;

	document.getElementById(nombre_obj).style.left=x+'px';
    document.getElementById(nombre_obj).style.top=y+'px';
}

function alinear_ayuda(){
    var myObj = document.getElementById('btn_ayuda');
    var xObj = getDimensions(myObj).x;
    
	x=xObj+30;
	y=50;

	document.getElementById('ayuda').style.left=x+'px';
    document.getElementById('ayuda').style.top=y+'px';
}

//*** Funcion para mostrar mensaje de confirmacion al eliminar registro ***'
function eliminar_registro(pagina){
	var respuesta=confirm("Desea eliminar el registro?");

	if (respuesta==true){
	   document.location = pagina ;      
	   i=0;		 
	}else{
	   i=1;
	}
}


function nuevoAjax()
{ 
	/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
	lo que se puede copiar tal como esta aqui */
	var xmlhttp=false;
	try
	{
		// Creacion del objeto AJAX para navegadores no IE
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
	}
	catch(e)
	{
		try
		{
			// Creacion del objet AJAX para IE
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
		catch(E)
		{
			if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest();
		}
	}
	return xmlhttp; 
}

// Declaro los selects que componen el documento HTML. Su atributo ID debe figurar aqui.
var listadoSelects=new Array();
listadoSelects[0]="contactos";
listadoSelects[1]="entidades";
listadoSelects[2]="cargos";
listadoSelects[3]="contactos2";
listadoSelects[4]="entidades2";
listadoSelects[5]="cargos2";

function buscarEnArray(array, dato)
{
	// Retorna el indice de la posicion donde se encuentra el elemento en el array o null si no se encuentra
	var x=0;
	while(array[x])
	{
		if(array[x]==dato) return x;
		x++;
	}
	return null;
}

function cargaContenido(idSelectOrigen,tipoContacto)
{
	//alert("Select origen --> "+idSelectOrigen+" tipo contacto -->"+tipoContacto);
	//alert("Busca en array -->"+buscarEnArray(listadoSelects, idSelectOrigen));
	// Obtengo la posicion que ocupa el select que debe ser cargado en el array declarado mas arriba
	var posicionSelectEntidad=buscarEnArray(listadoSelects, idSelectOrigen)+1;
	var posicionSelectCargo=buscarEnArray(listadoSelects, idSelectOrigen)+2;
	
	// Obtengo el objeto del select origen que el usuario modifico
	var selectOrigen=document.getElementById(idSelectOrigen);
	//alert(selectOrigen);
	
	// Obtengo la opcion que el usuario selecciono
	var opcionesConcatenadas=selectOrigen.options[selectOrigen.selectedIndex].value;
	//Separamos los valores recibidos 
	var opciones=opcionesConcatenadas.split(",");
	//Asignamos los valores de las variables recojida a su correspondiente lugar
	var opcionSeleccionada=opciones[0];//Contacto seleccionado usr_id
	var entidad=opciones[1];//Deparatamento correspondiente a el contacto seleccionado dep_id
	var cargo=opciones[2];
	//alert("Lago arreglo ->"+opciones.length+" Cargo ->"+cargo);
	
	// Si el usuario eligio la opcion "Elige una opción", su valor sera '' por lo tanto se le pedira "Seleccione una opcion..."
	if(opcionSeleccionada=='')
	{
		var x=posicionSelectEntidad, selectActual=null;
		// Busco todos los selects siguientes al que inicio el evento onChange y les cambio el estado y deshabilito
		//while(listadoSelects[x])
		//{
		    //alert("Listado Selects --> "+listadoSelects[x]);
		    selectActual=document.getElementById(listadoSelects[x]);
			selectActual.length=0;
			
			var nuevaOpcion=document.createElement("option"); 
			nuevaOpcion.value=''; 
			if(listadoSelects[x]=='entidades' || listadoSelects[x]=='entidades2'){
			    nuevaOpcion.innerHTML="- SELECCIONE UNA OPCIÓN";
			}else{
				nuevaOpcion.innerHTML="- SELECCIONE UNA OPCIÓN VALIDA";
			}
			selectActual.appendChild(nuevaOpcion);	
			//selectActual.disabled=true;
			//x++;
		//}
	}
	// Compruebo que el select modificado no sea el ultimo de la cadena
	else if(idSelectOrigen!=listadoSelects[listadoSelects.length-1])
	{
		// Obtengo el elemento del select que debo cargar
		var idSelectEntidad=listadoSelects[posicionSelectEntidad];
		var idSelectCargo=listadoSelects[posicionSelectCargo];
		
		var selectDestino1=document.getElementById(idSelectEntidad);
		var selectDestino2=document.getElementById(idSelectCargo);
		
		//alert("Entidad-> "+idSelectEntidad+" Cargo -> "+idSelectCargo);
		//alert("selectDestino1-> "+selectDestino1+"  selectDestino2-> "+selectDestino2);
		// Creo el nuevo objeto AJAX y envio al servidor el ID del select a cargar y la opcion seleccionada del select origen
		if(selectDestino1){
		
		var ajax=nuevoAjax();
		
		ajax.open("GET", "select_dependientes_proceso.php?select="+idSelectEntidad+"&opcion="+opcionSeleccionada+"&entidad="+entidad+"&tipo="+tipoContacto, true);
		
		ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
				selectDestino1.length=0;
				var nuevaOpcion=document.createElement("option");
				nuevaOpcion.value=0;
				nuevaOpcion.innerHTML="CARGANDO...";
				selectDestino1.appendChild(nuevaOpcion);
				selectDestino1.disabled=true;
				
				if(selectDestino2){
				    selectDestino2.length=0;
				    var nuevaOpcion2=document.createElement("option");
				    nuevaOpcion2.value=0;
				    nuevaOpcion2.innerHTML="CARGANDO...";
				    selectDestino2.appendChild(nuevaOpcion2);
				    selectDestino2.disabled=true;
				}
			}
			if (ajax.readyState==4)
			{
				selectDestino1.parentNode.innerHTML=ajax.responseText;
			} 
		}
		ajax.send(null);
		}
		
		if(selectDestino2){
		var ajax2=nuevoAjax();
		ajax2.open("GET", "select_cargos_proceso.php?select="+idSelectCargo+"&opcion="+opcionSeleccionada+"&cargo="+cargo+"&tipo="+tipoContacto, true);
		ajax2.onreadystatechange=function() 
		{ 
			if (ajax2.readyState==1)
			{
				// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
				selectDestino1.length=0;
				selectDestino2.length=0;
				var nuevaOpcion=document.createElement("option");
				var nuevaOpcion2=document.createElement("option");
				nuevaOpcion.value=0;
				nuevaOpcion2.value=0;
				nuevaOpcion.innerHTML="CARGANDO...";
				nuevaOpcion2.innerHTML="CARGANDO...";
				selectDestino1.appendChild(nuevaOpcion);
				selectDestino2.appendChild(nuevaOpcion2);
				selectDestino1.disabled=true;
				selectDestino2.disabled=true;
			}
			if (ajax2.readyState==4)
			{
				selectDestino2.parentNode.innerHTML=ajax2.responseText;
			} 
		}
		ajax2.send(null);
		}
	}
}

function cargaCombos(idRadioOrigen,op_preselec)
{
	//alert("Radio Origen -->"+idRadioOrigen+" Preseleccion -> "+op_preselec);
	// Obtengo el radio button que el usuario selecciono
	var radioOrigen=document.getElementById(idRadioOrigen);
	// Obtengo la opcion que el usuario selecciono
	var opcionSeleccionada=radioOrigen.value;
	
	var tipoContacto="";
	
	var idSelectDestino=listadoSelects[0];//contactos
	var selectDestino=document.getElementById(idSelectDestino);
	
	var ajax=nuevoAjax();
	if(opcionSeleccionada==1){
		tipoContacto='interno';
	}
	
	if(opcionSeleccionada==2){
		tipoContacto='externo';	
	}
	ajax.open("GET", "select_contactos_proceso.php?select="+idSelectDestino+"&tipo="+tipoContacto+"&seleccion="+op_preselec, true);
	
	ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
				selectDestino.length=0;
				var nuevaOpcion=document.createElement("option"); 
				nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
				selectDestino.appendChild(nuevaOpcion); 
				selectDestino.disabled=true;	
			}
			if (ajax.readyState==4)
			{
				selectDestino.parentNode.innerHTML=ajax.responseText;
			} 
		}
	ajax.send(null);
}

//Funcion que agrega un campo al seleccionar una opcion de un combo
//Ejemplo:nuevo_elemento('intArea','strDepartamento','BtnA','1','intranet.cat_departamento','dep_id','dep_str_nombre','informatica',' WHERE user_id=<?=$_SESSION['usr_id']?> GROUP BY ubicacion_str_nombre','usr_id','<?=$_SESSION['usr_id']?>')
function nuevo_elemento(idSelectDestino,Caja,Boton,Parametro,Tabla,Campo_Id,Campo1,Conexion,Filtro,Campo2,Valor2)
{
  var e=explorador().n;
  //Cancela la accion de agregar elemento
  if(Parametro == 2)
	{
		document.getElementById(Caja).value="";
		document.getElementById(Boton).style.display="none";
		document.getElementById(Boton+"2").style.display="none";
    document.getElementById(Caja).style.display="none";
		document.getElementById(idSelectDestino).selectedIndex = 0;
		document.getElementById(idSelectDestino).style.display="inline";
	}
    //alert("Select ->"+idSelectDestino+"  Caja ->"+Caja+"  Boton ->"+Boton+" Parametro ->"+Parametro+" Tabla->"+Tabla+" Campo_Id ->"+Campo_Id+" Campo1 ->"+Campo1+" Conexion ->"+Conexion+" Filtro->"+Filtro+" Campo2 ->"+Campo2+" Valor2 ->"+Valor2);
	//consiguiendo atributos del combo en los cuales consigo
	//El stilo que contiene, el evento que ejecuta y su valor
	var selectDestino = document.getElementById(idSelectDestino);
	var stilo = document.getElementById(idSelectDestino).className;
	var evento = document.getElementById(idSelectDestino).onchange;
	var selectValor = document.getElementById(idSelectDestino).value;
	var propiedad_1=document.getElementById(idSelectDestino).style.width;
	var Valor1 = document.getElementById(Caja).value;
	
	var strEvento=String(evento);//Convertimos a cadena el evento
	//extraemos solo la funcion con atributos para enviarla por GET al objeto Ajax 
	var c1=strEvento.indexOf('{');
	var c2=strEvento.indexOf('}',c1);
	var c3=strEvento.substring(c1+1,c2);
	
	if(!e.indexOf('Microsoft Internet Explorer')!=-1){//Si el browser es firefox...
	   c3=c3.replace(/"/gi,"'");//Buscamos comillas dobles y sustituimos por simples
	}
		
	//compruebo si el valor del combo es = a nuevo si  los es 
	//permito visualizar los elemento que permitiran el agregar cho elemento
	if(selectValor == "Nuevo")
	{	
		document.getElementById(Boton).style.display="inline";
		document.getElementById(Boton+"2").style.display="inline";
        document.getElementById(Caja).style.display="inline";
		document.getElementById(idSelectDestino).style.display="none";
		 
	}		
		//Si la caja de texto contitne un valor ejecuto ajax
		//y agrego el elemento nuevo 
		if(Valor1 != "")
		{ 
			var ajax=nuevoAjax();
			//paso los valores nesesarios para agregar dicho elelemto entre los cuales envio la
			//tabla y campos a afectar, el evento que contiene el combo,  su nombre y su stilo
			ajax.open("POST","nuevo_elemento_select.php", true);

			ajax.onreadystatechange=function() 
			{ 
				if (ajax.readyState==1)
				{
				  //Mientras carga mostramos el mensaje "Cargando..." en el campo
				  document.getElementById(Caja).value='Cargando..!';	
				}

				if (ajax.readyState == 4)
				{
					if(ajax.responseText == 0)
                    {
                        document.getElementById(idSelectDestino).style.display="none";
                        document.getElementById(Boton).style.display="inline";
	                    document.getElementById(Boton+"2").style.display="inline";
	                    document.getElementById(Caja).style.display="inline";
	                    document.getElementById(Caja).value =Valor1;
	                    alert("El registro ya existe..!");
	                }
					else
                    {
					  padre=selectDestino.parentNode;
					  padre.innerHTML=ajax.responseText;
                      document.getElementById(Caja).value="";
                      document.getElementById(Boton).style.display="none";
                      document.getElementById(Boton+"2").style.display="none";
  	                  document.getElementById(Caja).style.display="none";
                    }
				} 
			}	
			ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			ajax.send("Select="+idSelectDestino+"&Stilo="+stilo+"&Evento="+c3+"&Propiedad_1="+propiedad_1+"&Conexion="+Conexion+"&Tabla="+Tabla+"&Filtro="+Filtro+"&Campo_Id="+Campo_Id+"&Campo1="+Campo1+"&Valor1="+Valor1+"&Campo2="+Campo2+"&Valor2="+Valor2); 
		}
}


//Funcion que agrega un campo al seleccionar una opcion de un combo
//Ej: nuevo_elemento_doble('intGrupo','strNumeroExtension','strExtension','Boton','','','','');
function nuevo_elemento_doble(idSelectDestino,Caja1,Caja2,Boton,Parametro,Tabla,Campo1,Campo2,Campo3)
{ 
   var e=explorador().n;
   //alert("Select ->"+idSelectDestino+"  Caja ->"+Caja+"  Boton ->"+Boton+" Parametro ->"+Parametro+" Tabla->"+Tabla+" Campo 1 ->"+Campo1+" Campo2 ->"+Campo2);
     if(Parametro == 2)
	{
		document.getElementById(Caja1).value="";
		document.getElementById(Caja2).value="";
		document.getElementById(Boton).style.display="none";
		document.getElementById(Boton+"2").style.display="none";
  	    document.getElementById(Caja1).style.display="none";
		document.getElementById(Caja2).style.display="none";
		document.getElementById(idSelectDestino).selectedIndex = 0;
		document.getElementById(idSelectDestino).style.display="inline";
	}
	//consiguiendo atributos del combo en los cuales consigo
	//El stilo que contiene, el evento que ejecuta y su valor
	var selectDestino = document.getElementById(idSelectDestino);
	var stilo = document.getElementById(idSelectDestino).className;
	var evento = document.getElementById(idSelectDestino).onchange;
	var selectValor = document.getElementById(idSelectDestino).value;
	var propiedad_1=document.getElementById(idSelectDestino).style.width;
	var Nuevo_Valor_1 = document.getElementById(Caja1).value;
	var Nuevo_Valor_2 = document.getElementById(Caja2).value;

	var strEvento=String(evento);//Convertimos a cadena el evento
	//extraemos solo la funcion con atributos para enviarla por GET al objeto Ajax 
	var c1=strEvento.indexOf('{');
	var c2=strEvento.indexOf('}',c1);
	var c3=strEvento.substring(c1+1,c2);
	
	if(!e.indexOf('Microsoft Internet Explorer')!=-1){//Si el browser es firefox...
	   c3=c3.replace(/"/gi,"'");//Buscamos comillas dobles y sustituimos por simples
	}
	//compruebo si el valor del combo es = a nuevo si  los es 
	//permito visualizar los elemento que permitiran el agregar cho elemento
	if(selectValor == "Nuevo")
	{	
		document.getElementById(Boton).style.display="inline";
		document.getElementById(Boton+"2").style.display="inline";
		document.getElementById(Caja1).style.display="inline";
		document.getElementById(Caja2).style.display="inline";
		document.getElementById(idSelectDestino).style.display="none";
	}		
		//Si la caja de texto contiene un valor ejecuto ajax
		//y agrego el elemento nuevo 
		if(Nuevo_Valor_1 != "" && Nuevo_Valor_2 != "")
		{ 
			var ajax=nuevoAjax();
			//paso los valores nesesarios para agregar dicho elelemto entre los cuales envio la
			//tabla y campos a afectar, el evento que contiene el combo,  su nombre y su stilo
			ajax.open("POST", "nuevo_elemento_doble_select.php", true);

			ajax.onreadystatechange=function() 
			{ 
				if (ajax.readyState==1)
				{
					// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
					document.getElementById(Caja1).value='Cargando..!';	
					document.getElementById(Caja2).value='';	
				}

				if (ajax.readyState==4)
				{
					//selectDestino.parentNode.innerHTML=ajax.responseText;
					if(ajax.responseText == 0)
                    {
                        document.getElementById(idSelectDestino).style.display="none";
                        document.getElementById(Boton).style.display="inline";
	                    document.getElementById(Boton+"2").style.display="inline";
	                    document.getElementById(Caja1).style.display="inline";
	                    document.getElementById(Caja1).value =Nuevo_Valor_1;
						document.getElementById(Caja2).style.display="inline";
	                    document.getElementById(Caja2).value =Nuevo_Valor_2;
	                    alert("El registro ya existe..!");
	                }
					else
                    {
						selectDestino.parentNode.innerHTML=ajax.responseText;
						document.getElementById(Caja1).value="";
						document.getElementById(Caja2).value="";
						document.getElementById(Boton).style.display="none";
		                document.getElementById(Boton+"2").style.display="none";
  	                    document.getElementById(Caja1).style.display="none";
						document.getElementById(Caja2).style.display="none";
                    }
				} 
			}
			ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			ajax.send("Select="+idSelectDestino+"&Valor1="+Nuevo_Valor_1+"&Valor2="+Nuevo_Valor_2+"&Tabla="+Tabla+"&Id="+Campo1+"&Nombre1="+Campo2+"&Nombre2="+Campo3+"&Stilo="+stilo+"&Evento="+c3+"&Propiedad_1="+propiedad_1); 
		}
}

//Funcion que edita un usuario o contraseña de sitema de informatica
//Ej: editar_elemento_ldap('str_Usuario','btn_edit_5','Boton_5','1','<?=$usuario?>','intranet','usuario','msg5')
function editar_elemento_ldap(Id,CampoOrigen,BotonOrigen,ValorInicial,BotonEdicion,Parametro,Usuario,Aplicativo,Modificar,Mensaje)
{ 
    //alert(" Campo origen ->"+CampoOrigen+" Boton Origen ->"+BotonOrigen+"  Boton Edicion ->"+BotonEdicion+"Usuario ->"+Usuario);
    var Obj_ValorInicial=document.getElementById(ValorInicial);
    var Obj_CampoOrigen=document.getElementById(CampoOrigen);
	var Obj_BotonOrigen=document.getElementById(BotonOrigen);
	var Obj_BotonEdicion=document.getElementById(BotonEdicion);
	var Obj_Usuario=document.getElementById(Usuario);//Campo usuario
	var msg=document.getElementById(Mensaje);
	var usr=Obj_Usuario.value;//Valor campo usuario
	var valida_pws=0;
	var valor_tipeado=Obj_CampoOrigen.value; //Utilizado para mostrar el valor tipeado en el campo despues de editar
	var valor_inical = Obj_ValorInicial.value;//Si Parametro ==1 el campo hidden debe tener un valor
	
	//Si el campo a editar es de password encriptamos el valor sino no pasa tal cual
	if(CampoOrigen!='str_Usuario'){
	    nuevo_valor = hex_md5(Obj_CampoOrigen.value);
	}else{	 
	    if(usr_pass('str_Usuario','strPass_intranet','strPass_correo','strPass_chat','strPass_proxy')){
		    valida_pws=1;
		}
		//Si el valor del campo usuario es = 'No asignado' 
	    //if(Obj_Usuario.value=='No asignado')usr=valor_tipeado;
	}
	
	
	//valor_inical!='' &&
	if(valor_tipeado !='' && valor_tipeado != "Asignado" && valor_tipeado != "No asignado" && Parametro == 1)
	{ 
		var ajax=nuevoAjax();
		ajax.open("POST","editar_elemento_ldap.php", true);
		
		ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras se busca el usuario y se hace la modificacion mostramos el mensage de "Cargando..."
				Obj_CampoOrigen.value="Modificando...";
			}

			if (ajax.readyState==4)
			{
				//alert(ajax.responseText);
				if(ajax.responseText==1){
					if(CampoOrigen!='str_Usuario'){
						Obj_CampoOrigen.value=valor_tipeado;
					}else{
					    Obj_CampoOrigen.value='Asignado';
					}
					msg.innerHTML='El registro se modifico correctamente...';
				}else{
					if((ajax.responseText=='Usuario no disponible' || ajax.responseText=='Debe crear un nombre de usuario...')&& valor_inical=='No asignado')
					{
						msg.innerHTML=ajax.responseText;
						Obj_CampoOrigen.value='No asignado';
					}else{
						msg.innerHTML=ajax.responseText;
					    Obj_CampoOrigen.value=valor_tipeado;
					}
				}
			} 
		}	
		
		ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		ajax.send("id="+Id+"&campo="+CampoOrigen+"&valor_tipeado="+valor_tipeado+"&v_inicial="+valor_inical+"&usr="+usr+"&aplicacion="+Aplicativo+"&modif="+Modificar+"&val_pws="+valida_pws); 
	}else if(Parametro==1){
		msg.innerHTML="Ingrese un valor valido";
		if(valor_inical=='No asignado')Obj_CampoOrigen.value='No asignado';//Vuelve a mostrar "No asignado" si ingreso "No asignado" 
		if(valor_inical=='Asignado')Obj_CampoOrigen.value='Asignado';
	}
	
	if(Parametro==1)//Se realizan estas acciones cuando se hace clic en el boton "Modificar" 
	{
        Obj_CampoOrigen.disabled=true;
		Obj_BotonOrigen.style.display="inline";
		Obj_BotonEdicion.style.display="none";
		Obj_ValorInicial.value="";//Seteamos el campo hidden
	}else{//Se realizan estas acciones cuando se hace clic en la imagen "Edita" 
		Obj_CampoOrigen.disabled=false;
		Obj_ValorInicial.value=Obj_CampoOrigen.value;//Asignamos el contenido actual a campo hidden
		if(CampoOrigen!='str_Usuario')Obj_CampoOrigen.value='';//Si el campo es de password limpiamos el campo
		Obj_CampoOrigen.focus();
		Obj_BotonOrigen.style.display="none";
		Obj_BotonEdicion.style.display="inline";
		msg.innerHTML='';	
	}
}


//Funcion que valida el usuario a ingresar a la BD y ldap y ejecuta sumbit
//Cunado todas las validasiones son correctas
function buscaUsuario()
{
	
	var args=buscaUsuario.arguments;
	var total_args=args.length;
	var usuario=document.getElementById(args[0]);
	var nm_usuario=usuario.value;
	var pwsIntranet=document.getElementById(args[1]);
	var pwsMail=document.getElementById(args[2]);
	var pwsChat=document.getElementById(args[3]);
	var pwsProxy=document.getElementById(args[4]);
    var msg=document.getElementById(args[total_args-3]);	
	var proceso=document.getElementById('paso');
	var tipo=args[6];
	proceso.value=args[total_args-1];//Asignamos valor al campo hidden de acuerdo al boton seleccionado
                      //utilizado al terminar de insertar el nuevo usuario, para redireccionar 
					  //al documento blanco.html ó usuarios_permisos.php
					  
	if(nm_usuario!=''){
		var ajax=nuevoAjax();
	    ajax.open("GET", "select_buscar_usuario.php?usr="+nm_usuario, true);
	
	    ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras busca enviamos un mensaje buscando..."
				msg.innerHTML="Buscando usuario...";
			}
			if (ajax.readyState==4) 
			{
				//alert(ajax.responseText);
				if(ajax.responseText==1){
				   msg.innerHTML="El nombre de usuario no esta disponible..."; 
				}else if(ajax.responseText==-1){
				   //btn_enviar.style.display="inline";
				   msg.innerHTML="El nombre de usuario esta disponible...";
				   switch (tipo){
					   case 'insert':
						   //7if(usr_pass('str_Usuario','strPass_intranet','strPass_correo','strPass_chat','strPass_proxy')){
		                       //Si hay por lo menos un pasword validamos el formuario y enviamos 
		                       envia_formulario_usuario();
		                   //}else{
		                   //    alert("Requiere almenos de una contrase\u00f1a para el usuario");
		                   //}
						   break;
					   case 'edit':
					       break;
				   }
				}else{
				   msg.innerHTML=ajax.responseText;
				}
			} 
		}
	    ajax.send(null);
	}else if(nm_usuario=='' && (pwsIntranet.value!='' || pwsMail.value!='' || pwsChat.value!='' || pwsProxy.value!='') ){
		msg.innerHTML="Ingrese un nombre de usuario..."; 
    }else{
		envia_formulario_usuario();
	}
}

//Funcion que valida el usuario a ingresar a la BD y ldap y ejecuta sumbit
//Cunado todas las validasiones son correctas
function buscaObjetoBD(base,tabla,campo_insumo,filtro,id_msg,msg_f,msg_uf,campo_maquina,tipo,btn_asg)
{
	//alert("base->"+base+"\n tabla->"+tabla+"\n campo insumo->"+campo_insumo+"\n filtro->"+filtro+"\n id_msg->"+id_msg+"\n msg1->"+msg_f+"\n msg2->"+msg_uf+"\n campo->"+campo_maquina+"\n tipo->"+tipo);
  // Obtengo el valor del campo usuario
	var objeto=document.getElementById(campo_insumo);
	var maquina=document.getElementById(campo_maquina);
	var valor_objeto=objeto.value;
	filtro=filtro+""+valor_objeto;
    var msg=document.getElementById(id_msg);
	 var btn=document.getElementById(btn_asg);
	if(maquina.value!=''){//Validamos que se haya seleccionado primero una maquina
	
	// Obtenemos el nombre del select que no se selecciono
	// por medio de la longitud del nombre
	
	if (campo_insumo.indexOf("NS")!=-1) { 
	    var objeto2='intInsumo'+campo_insumo.substr(11,(campo_insumo.length-campo_insumo.indexOf("intInsumoNS")));
	}else{
		var objeto2='intInsumoNS'+campo_insumo.substr(9,(campo_insumo.length-campo_insumo.indexOf("intInsumo")));
	}
    // Seleccionamos la opcion del segundo select
	// de acuerdo al primero
	selectInCombo(objeto2,valor_objeto);
					  
	if(base != '' && tabla != '' && valor_objeto != '' && filtro != ''){
	
	    
		var ajax=nuevoAjax();
	    ajax.open("POST","buscar_objeto_bd.php", true);
	
	    ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras busca enviamos un mensaje buscando..."
				msg.innerHTML="Buscando objeto...";
			}
			if (ajax.readyState==4) 
			{
				if(ajax.responseText==0){//Si la respuesta = 0 el insumo esta disponible
				    msg.innerHTML=msg_uf;
					if(btn)btn.style.display = '';
				}else{// Si la respuesta es diferente de 0 deshabilitamos el boton "Asignar"
				    msg.innerHTML=ajax.responseText; 
					if(btn)btn.style.display = 'none';
				}
			}
		}
		
		ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	    ajax.send("base="+base+"&tabla="+tabla+"&filtro="+filtro+"&msg_f="+msg_f+"&msg_uf="+msg_uf+"&maquina="+maquina.value+"&tipo="+tipo+"&insumo="+valor_objeto+"&id_msg="+id_msg+"&btn_asignar="+btn_asg);
	}
	}else{
		alert("Selecccione primero un equipo... ");
	}
}


function selectInCombo(combo,val)
{
    for(var indice=0 ;indice<document.getElementById(combo).length;indice++)
    {
        if (document.getElementById(combo).options[indice].value==val )
            document.getElementById(combo).selectedIndex =indice;
    }       
}

function busca_envia(idUsuario,mensaje){

	// Obtengo el valor del campo usuario
	var usuario=document.getElementById(idUsuario);
	var nm_usuario=usuario.value;
	
	if(nm_usuario!=''){
	    //Buscamos a el usuario
	    //alert(buscaUsuario(nm_usuario,mensaje));
		/*var buscar=buscaUsuario(nm_usuario,mensaje);
		if(buscar){
			alert("xxx");
		}
		/*if(buscaUsuario(nm_usuario,mensaje)){
			//alert("es true");
	        //Si el usuario esta disponible validamos que almenos ingrese un password
	        if(usr_pass('str_Usuario','strPass_intranet','strPass_correo','strPass_chat','strPass_proxy')){
		        //Si hay por lo menos un pasword validamos el formuario y enviamos 
		        envia_formulario_usuario();
		    }else{
		        alert("Requiere almenos de una contrase\u00f1a para el usuario");
		    }
	    }*/
	    
	}else{
		envia_formulario_usuario();
	}
}

//***Funcion para validar password***/ 		
function validar_clave(clave,imagen){ 
 
		var cadena =document.getElementById(clave).value; 
		var cadenaArr = new Array(); 
		var mover=0; 
		var mayus=0; 
		var minus=0;
		var numero=0; 
	
		if (cadena.length == 6)
		{ 
	
		    for(var posicion = 1 ; posicion <= 6 ; posicion++)
		    {
		        cadenaArr[posicion] =cadena.substring(posicion,mover);
		        mover = mover+1; 
		    } 
	
		    //verificando que el password tenga una mayuscula por lo menos
		    for(var ascii = 65 ; ascii <= 90 ; ascii++) 
		    for(var posicion = 1 ; posicion <= 6 ; posicion++)
		    {  
	   	       var caracter= String.fromCharCode(ascii);
               if(cadenaArr[posicion] == caracter || cadenaArr[posicion] == "Ñ")
		       { 
			        mayus = mayus+1; 
		       }
	        }
      
	        //verificando que el password tenga una minuscula por lo menos
		    for(var ascii = 97 ; ascii <= 122 ; ascii++) 
		    for(var posicion = 1 ; posicion <= 6 ; posicion++)
		    {  
	   	       var caracter= String.fromCharCode(ascii);
               if(cadenaArr[posicion] == caracter || cadenaArr[posicion] == "ñ")
		       { 
			        minus = minus+1; 
		       }
	        }
	  
	        //verificando que el password tenga un numero por lo menos 
		    for(var ascii = 48 ; ascii <= 57 ; ascii++)
		    for(var posicion = 1 ; posicion <= 6 ; posicion++)
		    { 
		        var caracte= String.fromCharCode(ascii);

                if(cadenaArr[posicion] == caracte)
		        { 
        	        numero = numero+1; 
			    }
		    }
		
	        if(mayus > 0 && minus > 0 && numero > 0 ){
                document.getElementById(imagen).src="../../images/iconos/ok.gif";
		    }else{
                document.getElementById(imagen).src="../../images/iconos/error.gif";
			}
        
		}else{
			document.getElementById(imagen).src="../../images/iconos/blanco.gif";
		}
	} 


function activar_cambio(objeto1,objeto2,objeto3)
{
			
			document.getElementById(objeto1).style.display="none";
			document.getElementById(objeto2).style.display="inline";
			document.getElementById(objeto3).style.display="none";
			document.getElementById(objeto2).focus(); 
}


function Solo_Texto(texto) {
		    	
	 	tecla = (document.all) ? texto.keyCode : texto.which;
	 	if(tecla == 8) return true;
	 	//exprecion regular diferentes de [0 - 9]
		patron = /\D/;
		te = String.fromCharCode(tecla);
		var t = patron.test(te);
	  return t;
}
			
	
/*function Solo_Numeros(numero){ 
	
	
	tecla = (document.all) ? numero.keyCode : numero.which;
	if(tecla == 8|| tecla == 28 || tecla == 29 || tecla==9 || tecla==0) return true;
	//exprecion regular solo [0 - 9]
	patron = /\d/;
	te = String.fromCharCode(tecla);
    return patron.test(te); 
}*/

function Solo_Numeros ( e ) {
    var tecla;

    if ( document.all ) {
        tecla    = e.keyCode;
    } else {
        tecla    = e.which;
    }

    if ( tecla < 10 ) {
        return true;
    }

    if ( tecla != 46 && (tecla < 48 || tecla > 59) ) {
        return false;
    } else {
        return true;
    }
}

	
function Solo_Minusculas(dato){
	var cadena  = document.getElementById(dato).value;
	document.getElementById(dato).value = cadena.toLowerCase();
}

function Solo_Mayusculas(dato){
	var cadena  = document.getElementById(dato).value;
	document.getElementById(dato).value = cadena.toUpperCase();
}
 
function comparar_claves(clave1,clave2,imagen)
	   {
		var valor1 = document.getElementById(clave1).value;
		var valor2 = document.getElementById(clave2).value;
		
		if (valor1.length == 8)
		{
			if(valor1 == valor2)
			{document.getElementById(imagen).src="../../images/iconos/ok.gif";}
        
			else
			{
				alert("Los password no concuerdan");
				document.getElementById(imagen).src="../../images/iconos/error.gif";}
	   }
}



//Funcion para abrir un popup
//OpenWin('inventario_personal.php','Inventario de Personal','800','800','10','10','No','No','No','No','yes','yes')
function OpenWin(page,nombre,ancho,alto,x,y,barras,tool,loc,estatus,ajustar,pantalla){
	var e=explorador().n;
    if(e.indexOf('Microsoft Internet Explorer')!=-1){//IE Explorer
		var temp=window.open (page,nombre,"width="+ancho+",height="+alto+",scrollbars="+barras+",toolbar="+tool+"");
	}else{
		 var temp = window.open(page, nombre, "width="+ancho+",height="+alto+",left="+x+",top="+y+",scrollbars="+barras+",toolbar="+tool+",location="+loc+",status="+estatus+",resizable="+ajustar+",fullscreen="+pantalla);
	}
}

//Funcion para cerrar un popup
function CloseWin(){
	window.close();
}
	

//Auto ajusta la altura de un iframe
//Ejecuccion:Dentro de la etiqueta del ifranme colocar lo siguiente:
//onLoad="javascript:calcHeight('3','contenido','contenido',this.id);"
//onLoad="javascript:calcHeight('nivel','nombre_iframe_a','nombre_iframe_b',nombre_iframe_actual);"
function calcHeight()
{

    var args=calcHeight.arguments;
	//alert("# Argumentos-->"+args.length);
	//Leemos los nombres de los campos
   /*for(i=0;i<args.length;i++){
	   alert("# Argumentos "+i+"-->"+args[i]);
   }*/

  if(args[0] && args[0]==1){
	  calcHeight_n1(args[1]);
  }
  
  if(args[0] && args[0]==2){
	  calcHeight_n1(args[2]);
	  calcHeight_n2(args[1]);
  }
  
 if(args[0] && args[0]==3){
	  
	  calcHeight_n1(args[3]);
	  calcHeight_n2(args[2]);
	  calcHeight_n3(args[1]);
  }

	
} 


function calcHeight_n1(iframe){
	var the_height;
	the_height=document.getElementById(iframe).contentWindow.document.body.scrollHeight;
	document.getElementById(iframe).height=the_height+50;
	
}

function calcHeight_n2(iframe){
	var the_height;
	the_height=parent.document.getElementById(iframe).contentWindow.document.body.scrollHeight;
    parent.document.getElementById(iframe).height=the_height;
}

function calcHeight_n3(iframe){
	var the_height;
	the_height=parent.parent.document.getElementById(iframe).contentWindow.document.body.scrollHeight;
    parent.parent.document.getElementById(iframe).height=the_height;
}



/******Borrar elementos que se crean dinamicamente******/	
function borrar_elementos(nvl2,ide,val,val2,marca){
	    //conforme borramos elementos el nuemro de kits disminuye
		
    var respuesta =confirm("Desea eliminar la partida?");
    if (respuesta==true){
	
    var cantidad = document.getElementById(val).value-=1;
		if(cantidad == 0)
    {
		  document.getElementById(val).value="";
      document.getElementById(val2).value="0";
    }
		
		//determinamos el elemento
		var hijo = document.getElementById(ide);
    var hijo2 = document.getElementById(nvl2)
		
		//identificamos el contenedor de dicho elemento
		var padre = hijo.parentNode;
    var padre2 = hijo2.parentNode;
		
		//eliminamos elemento
		padre.removeChild(hijo);
    padre2.removeChild(hijo2);
 
    if(cantidad == 0)
    { 
     ide = ide.substr(0,4);  
     hijo = document.getElementById(ide+"-"+marca+"-1_0");
     hijo2 = document.getElementById(ide+"-"+marca+"-1_02");
     padre.removeChild(hijo2);
     padre2.removeChild(hijo);
    }  
  } 
}
	
//selecionar todos los radio de un formulario
// y llenar select segun la opcion selecionada
function seleccionar_todo(formulario,referencia,valor)
{
		//determina el numero de elementos en el formulario	
		for(i= 0 ; i < formulario.elements.length ; i++){
		//obtengo solo los tipo radio
			if(formulario.elements[i].type=="radio"){
				//obtengo longitud de id
				ultimo = formulario.elements[i].id.length-1;
				//determino si dicho id contine la referencia establecida
				if(formulario.elements[i].id.charAt(ultimo)==referencia)
				//si contienen la marca solo ese radio es marcado
				{formulario.elements[i].checked=1;}
		}
		//obtengo solo los elementos tipo select
		if(formulario.elements[i].options){
			//obtengo el id
			ultimo2 = formulario.elements[i].id.length-1;
			//determino si dicho id contine la referencia establecida
			if(formulario.elements[i].id.charAt(ultimo2)=="A"){	
				//una vez mas obtengo el id	 pero solo los que contengan la referenca deseada
				var ide_Select = formulario.elements[i].id; 
				//llamo a mi funcion de llenado para que todos los select se puedan llenar 
				factura_select(valor,ide_Select);
			}
		}
	}
}
/*****Permite crear la cadena de validacion para la factura creada dinamicamente*****/
/*****uso javascript:Validacion_dinamica('ide del formualrio');                 ****/

function validacion_dinamica(formulario,otro)
{
   var msg = new Array();
      msg[0]="Tipo";
      msg[1]="Nombre";
      msg[2]="No Serie";
      
  var ides = new Array();
  var pos = 0;
  var pos2 =0;
  var c = 0;
  var cadena_validar="";
  
  //barrido del formulario de la factura
  for(i = 0 ; i< formulario.elements.length ; i++)
  {
    //obtengo todos los elementos del formulario
    ide = formulario.elements[i].id;
    if(formulario.elements[i].options && document.getElementById(ide).value !='')
    {c= 1;}
    //determino si algun elemento a cambia su valor colocado por default
    if(formulario.elements[i].type == "text" && ide.indexOf("NO_") == -1)
    {
      if(document.getElementById(ide).value != "SIN CAPTURA")
      {c = 1;}
      else
      {
        ides[pos2] = ide;
        pos2++;
      }
    }
    
    //Tomo los elementos que contengan la opcion de requeridos 
    stilo = document.getElementById(ide).className;
    //reinicio la varialble pos 
    if(pos > 2){pos = 0;}
    if(stilo.indexOf("TdCampoRequerido") != -1)
    {
      cadena_validar =cadena_validar+"'"+ide+"','"+msg[pos]+"','R',";
      pos++; 
    }
  }
  if(c > 0)
  {
    for(a = 0 ; a < pos2 ; a++)
    {document.getElementById(ides[a]).value="";}
  }
  
  //obtengo la longitud de mi cadena creada 
  var longitud = cadena_validar.length;
  //retiro el ultimo caracter de la cadena 
  cadena_validar = cadena_validar.substring(0,longitud-1);
  formulario.setAttribute("onsubmit","MM_validateForm("+cadena_validar+");return document.MM_returnValue");
  
}

/***********************************************************************************/

/*****Script para validar fommulario exclusivo para facturas agregar facturas******/
function cadenas_validar(formulario,opcion){
	var cadena='';
	var posicion =0;
	
	val_factura = document.getElementById("intNumpartidas").value;
	val_kit = document.getElementById("intKits").value;
	for(i = 0 ; i< formulario.elements.length ; i++){
	valor = formulario.elements[i].id;
	if(formulario.elements[i].type=="text" && valor.indexOf('KitN') !=-1 )
		{
				posicion+=1;
				cadena=",'"+valor+"','Kit Num -> "+posicion+"','R'"+cadena;}
		}
			
      if(opcion == 1)
			{
        if (val_kit > 0 && val_factura == "")
        {cadena1 = ",'intKits','Num.Kits','R',";}
        
        else
        {cadena1 = ",'intNumpartidas','Num.Partidas','R',";}
         
        var cadena2 ="'intNum_Factura','Num.Factura','R','strIngreso','Ingreso','R','strIngreo','Ingreso','R','entidades','Doc. Referencia','R','strProvedor','Proveedor','R','datFecha','Fecha EmisiÃ³n','R','datFecha_lib','Fecha LiberaciÃ³n','R'"+cadena1+"'mytotal','Subtotal','R','intIva','Iva','R'";
			  
      }
			else
			{
			 cadena2 = "'int_partidas','Num.Factura','R'";
			}
			formulario.setAttribute("onsubmit","MM_validateForm("+cadena2+cadena+");return document.MM_returnValue");

}
	
/********* cargar los combos de la factura creados dinamicamente*********/

function factura_select(tipo_insumo,idSelectDestino)
{
 	var selectDestino=document.getElementById(idSelectDestino);
  var tomar = idSelectDestino.substring(2);
   
  if(document.getElementById("SI"+tomar))
  {existe = 1;}
  else
  {existe = 0;}
  var ajax=nuevoAjax();
	
  ajax.open("GET", "select_factura_proceso.php?select="+idSelectDestino+"&tipo="+tipo_insumo+"&existe="+existe,true);
	
	ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
				selectDestino.length=0;
				var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
				selectDestino.appendChild(nuevaOpcion); selectDestino.disabled=true;	
				
			}
			if (ajax.readyState==4)
			{
	      selectDestino.parentNode.innerHTML=ajax.responseText;
    	} 
		}
    ajax.send(null);
}


//calculo de Iva y total general
function Monto_total()
{
  var Total1 = document.getElementById('mytotal').value;
  var Iva = document.getElementById('intIva').value;
    
  Total2 = Total1*(Iva/100);
  Total3 =parseFloat(Total1)+parseFloat(Total2);

  //para el iva
  if( Iva == "" || parseInt(Iva) == 0)
  {
    msg_iva = "Capture el I.V.A ...";
    document.getElementById('intIva').value="";
    stilo = "aTxtErrorTit";
  }
  else
  {
    msg_iva = "$ "+Math.ceil(Total2);
    stilo = "aTxtMensajeUsuario"; 
  }
  
  //para subtotal
  if( Total1 == "" || parseInt(Total1) == 0)
  {
    msg_total = "Capture el Subtotal ...";
    document.getElementById('intIva').value="";
    stilo2 = "aTxtErrorTit";
    Total3=0;
  }
  else
  {
    msg_total = "$ "+Math.ceil(Total3);
    stilo2 = "aTxtMensajeUsuario"; 
  }
  
  //mensaje para las etiquetas
  document.getElementById('intTiva2').innerHTML="<b><a class='"+stilo+"'> "+msg_iva+"</a></b>";
  document.getElementById('fltTotal2').innerHTML="<b><a class='"+stilo2+"'>"+msg_total+"</a></b>";
  
  //valores para la vase de datos
  document.getElementById('intTiva').value = Total2;
  document.getElementById('fltTotal').value = Total3;
}
	
//comprobar sumatoria total que con cuerde con la base de datos
// esta seccion es para la parte de edicion y Agregar
function comprobar(formulario,marca){
		var total=0; 
		for(i= 0 ; i < formulario.elements.length ; i++){
			if(formulario.elements[i].type=="text"){
				//obtengo longitud de id
				ultimo = formulario.elements[i].id.length-1;
				//determino si dicho id contine la referencia establecida
				if(formulario.elements[i].id.charAt(ultimo)==marca)
				{
					var Monto = formulario.elements[i].id;
					var Precio=document.getElementById(Monto).value;
					if(Precio =="")
					{Precio = 0;}
					total = parseFloat(total)+parseFloat(Precio);
					document.getElementById('totalgral').value=total;
			    }
		    }
	    }
		var Total_real=document.getElementById('totalreal').value;
		if(Total_real != total)
		{
			//alert("LAS CANTIDADES NO CONCUERDAN");
			//document.getElementById('button1').style.display="none";
	     monto = parseFloat(Total_real) - parseFloat(total);
	     if (monto < 0)
	     {
	       monto = parseFloat(monto)*-1;
	       msg="LAS CANTIDADES NO CONCUERDAN POR [ "+monto+" ] ...!";
	       stilo ="aTxtErrorTit";
         mostrar = "none";
       }
	     else
	     {
	       msg="PARA COMPLETAR LA CANTIDAD SOLO FALTA [ "+monto+" ] ...!";
	       stilo ="aTxtErrorTit";
	      mostrar="none";
       }
  	}
		else
		{
			mostrar="inline";
			msg = "LAS CANTIDADES CONCUERDAN...!";
			stilo = "aTxtMensajeUsuario";
		}
		document.getElementById('button1').style.display = mostrar;
		document.getElementById('mensaje').innerHTML="<a class='"+stilo+"'>"+msg+"</a>";
}

//Funcion que detecta que tecla fue oprimida
//Ej. onkeypress:pulsar_tecla(event);
function pulsar_tecla(e) {
  tecla = (document.all) ? e.keyCode : e.which;
  return tecla;
}
//Funcion que bloquea una tecla determinada
//Ej. onkeypress:bloquear_tecla('codigo_de_ la_tecla',event);
function bloquear_tecla(tecla,e){
	//alert(pulsar_tecla(e));
	return (pulsar_tecla(e)!=tecla);
}

function usr_pass(){

	var args=usr_pass.arguments;
	var r;
	usr=document.getElementById(args[0]);//Nombre de usuario a asignar

	if(usr.value!='' && usr.value!='No asignado'){

	    atleast=0;
	    for (i=1; i<(args.length); i++) { 
	        field_psw=document.getElementById(args[i]);
			//alert(args[i]+": "+field_psw.value);
		    if(field_psw.value!='' && field_psw.value!='No asignado'){
		        atleast=1;
				
		    }
	    }
		if(atleast==1){
			r=true;
			//alert('Exste un usuario valido y almenos un password');
		}else{
			r=false;
			//alert('Ingresa por lo menos un pasword');
		}
	}
	return r;
}

function envia_formulario_usuario(){
	MM_validateForm('intNum_empleado','Num.Empleado','inNuminLong4','strUNombre1','Primer Nombre','R','strUApellido_paterno','Apellido Parterno','R','strUApellido_materno','Apellido Marterno','R','intTitulo','Titulo','R','intStatus','Estatus','R','intPuesto','Puesto','R','intDepto','Departamento','R','intNivel','Nivel','R','intExtension','Extension','R','datFecha','Fecha de ingreso','R','strPass_intranet','Contrase\u00f1a Intranet','isPassMD5inLong6','strPass_correo','Contrase\u00f1a Correo','isPassinLong6','strPass_chat','Contrase\u00f1a Chat','isPassMD5inLong6','strPass_proxy','Contrase\u00f1a Proxy','isPassMD5inLong6');
	
	if(document.MM_returnValue){
		document.form1.submit();
	}
}

function borrar_valor(){
	var args=borrar_valor.arguments;

	 for (i=1; i<(args.length); i++) { 
	     obj=document.getElementById(args[i]);
	     obj.value='';
     }
}

function campo_estatus(){
	var args=campo_estatus.arguments;
    var campo;
	 for (i=1; i<(args.length); i++) {
		 
		 campo=document.getElementById(args[i]);
		 if(campo)valor=campo.value;
		 //alert("Campo valor -> "+valor);
		 if(valor=='Asignado' || valor=='No asignado' || valor==''){
			// borrar_valor(args[i]);
		 }
     }
	 //alert("Borrados");
}

//check
function seleccionar_checkbox(formulario,referencia,master){
  var marcar = document.getElementById(master).checked;
  //determina el numero de elementos en el formulario	
	for(i= 0 ; i < formulario.elements.length ; i++)
	{
		//obtengo solo los tipo radio
		if(formulario.elements[i].type=="checkbox")
		{
			//obtengo longitud de id
			ultimo = formulario.elements[i].id.length-1;
			//determino si dicho id contine la referencia establecida
			if(formulario.elements[i].id.charAt(ultimo)==referencia)
			{
				//si contienen la marca solo ese radio es marcado
				formulario.elements[i].checked=marcar;
			}
		}
	}
}

function todos_habilitados(formulario,esclavo,master){
	var marcar = document.getElementById(esclavo).checked;
	if(marcar == 0)
	{
		 document.getElementById(master).checked =marcar;
	}
}
//manipular todos los combos con uno permite selecionar 
//la misma opcion en todos los combos que esten en el formulario
//siempre y cuando cumplan con la marca correspondiente
function mover_select(formulario,referencia,master,Caja,Boton) 
{
	//consigo el index del combo master

	var index = document.getElementById(master).selectedIndex;
	//esta seccion se ejeutara solo cuando Caja se igual a un elemento del formulario
	//con lo cual permitira ejecutar la primera parte de la funcion
	if(Caja != "")
	 {nuevo_elemento(master,Caja,Boton,'','','','');}								

	//inicio un barrido del formulario para localizar elementos 
	for(i= 1 ; i < formulario.elements.length ; i++){
 
		//localizo todos los select que contiene el formulario
		if(formulario.elements[i].options){
			
			//generar exclucion 
			//ultimo = formulario.elements[i].id.length-1;
			ide =  formulario.elements[i].id;
	    //comparo que contengan la referencia deseada si de esta 
			//manera solo afecte a los que deseo
				if(ide.indexOf(referencia) != -1){
				  //al tener los combos los posiciono en el index del combo master
					 document.getElementById(ide).selectedIndex = index;
			}
		}
	}
}
//permitira recargar todos los combos del formualrio factura al manipular el combo principal
//esta funcion trabja en conjunto con nuevo_elemento y recargar_elementos
function recargar_elemento(Formulario,idSelectDestino,Caja,Boton,Parametro,Tabla,Campo1,Campo2,Filtro,marca,master)
{ 	
  formulario = document.getElementById(Formulario);
  //obtengo el valor de caja antes de enviarlo ala funcion siguiente
	var caja_valor = document.getElementById(Caja).value;
  //esta seccion se ejecuta simpre la accion si se agrega un nuevo elemento o no
	//se ejecuta en la funcion llamada 
	
  nuevo_elemento(idSelectDestino,Caja,Boton,Parametro,Tabla,Campo1,Campo2,'',Filtro);
	//barrido de formulario 
	 for(i= 0 ; i < formulario.elements.length ; i++){
	  //localizo todos los select que contiene el formulario
	  if(formulario.elements[i].options && formulario.elements[i].id != idSelectDestino){
	   //generar exclucion 
	   ide = formulario.elements[i].id;
     //comparo que contengan la referencia deseada si de esta 
		 //manera solo afecte a los que deseo
		if(ide.indexOf(marca) != -1 || formulario.elements[i].id == master){
		  //consigo el ide de los combos, evento , stilo 
      selectDestino = formulario.elements[i].id;			
			var stilo = document.getElementById(selectDestino).className;
			document.getElementById(selectDestino).selectedIndex = 0;
			var evento  = document.getElementById(selectDestino).onchange;
			//si  caja_valor contiene un valor ejecuto la funcion deseada
		   if(caja_valor != "" && Parametro < 2)
			 {  
         //recargar_elementos(selectDestino,Tabla,Campo1,Campo2,Filtro,stilo,evento);
         setTimeout("recargar_elementos('"+selectDestino+"','"+Tabla+"','"+Campo1+"','"+Campo2+"','','"+stilo+"',"+evento+")",100);

	     }
			}
    }
  }
}

//recargara todos los combos del formulario siempre que senaenviados de la funcion recargar_elemento
function recargar_elementos(idselectDestino,Tabla,Campo1,Campo2,Filtro,stilo,evento)
{ 
  var strEvento=String(evento);//Convertimos a cadena el evento
  //extra emos solo la funcion con atributos para enviarla por GET al objeto Ajax 
  var c1=strEvento.indexOf('{');
  var c2=strEvento.indexOf('}',c1);
  var c3=strEvento.substring(c1+1,c2);
  c3=c3.replace(/"/gi,"'");//Buscamos comillas dobles y sustituimos por simples
  //alert("el registro existe ----> "+ajax_indica);
  //cossigo ide
  var selectDestino=document.getElementById(idselectDestino);
  var ajax=nuevoAjax();
	//envio los valores nesesarios como tabla y campos nesesarios para llenar el combo
  //el stilo de dicho combo y el evento que contenga el  combo tambien envio el nombre
  ajax.open("POST", "recargar_select.php", true);
  ajax.onreadystatechange=function() 
  { 
   if (ajax.readyState==1)
    {
      //Mientras carga elimino la opcion "Selecciona Opcion..." y pongo una que dice "Cargando..."
      selectDestino.length=0;
      var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
      selectDestino.appendChild(nuevaOpcion); selectDestino.disabled=true;	
    }
    if (ajax.readyState==4)
    {
    
      
     selectDestino.parentNode.innerHTML=ajax.responseText;
     document.getElementById(idselectDestino).selectedIndex = 0;
    }
   }
   ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
   ajax.send("select="+idselectDestino+"&Tabla= "+Tabla+"&Id="+Campo1+"&Nombre="+Campo2+"&Filtro="+Filtro+"&Stilo="+stilo+"&Evento="+c3);
     
 }

 function mostrar_opcion(ide,valor)
 {
   if(valor == 1)
   {
     document.getElementById(ide).style.display="inline";
   }
   else
   {
     document.getElementById(ide).style.display="none";
     document.getElementById(ide).selectedIndex = 0;
   }
 }

//Funcion que permite mostrar u ocultar algun elemento
//*** Ej oculta_muestra_objetos(this.id,'ocultar');
function oculta_muestra_objetos(){
	 var args=oculta_muestra_objetos.arguments;
	 for (i=0; i<(args.length); i+=2) { 
	     obj=document.getElementById(args[i]);
		 switch (args[i+1]){
			 case 'mostrar':
			 obj.style.display="";
			 break;
			 case 'ocultar':
			 obj.style.display="none";
			 break;
		 }
     }
 }
 
function ubicacion_asignacion(accion,n){
	var labels=new Array('A','B','C','D','E');
	switch (accion){
		case "show":
		var respuesta=confirm("Indique la nueva ubicaci\u00f3n del insumo");
	    if (respuesta==true){
		    for(i=0;i<labels.length;i++){
				//alert("Mostrando "+'lb'+labels[i]+n);
			    MM_showHideLayers('lb'+labels[i]+n,'','show');
		    }
	        //i=0;		 
	    }else{
	        //i=1;
	    }
		break;
		
		case "hidden":
		for(i=0;i<labels.length;i++){
			MM_showHideLayers('lb'+labels[i]+n,'','hidden');
		}
		break;
	}
}

function eliminar_registro_asignacion(idasignacion,eliminacion,idinsumo,idubicacion,idstatus,n,tipo)
{
	//alert("asignacion: "+idasignacion+" - tipo: "+eliminacion+" - insumo: "+idinsumo+" - ubicacion: "+idubicacion+" - status: "+idstatus);
	
	var ubicacion,status,msg;
	
	if(tipo!=2){
	    // Obtengo el valor del campo usuario
	    ubicacion=document.getElementById(idubicacion);
	    status=document.getElementById(idstatus);	
	}else{
		ubicacion=' ';
		status=' ';
	}
	msg=document.getElementById('msg');
	
	
	if(ubicacion.value!='' && status.value!=''){

		var ajax=nuevoAjax();
	    ajax.open("GET","asignacion_eliminar_processor.php?id="+idasignacion+"&eliminacion="+eliminacion+"&id_insumo="+idinsumo+"&id_ubicacion="+ubicacion.value+"&id_status="+status.value+"&tipo="+tipo, true);
	
	    ajax.onreadystatechange=function() 
		{ 
			if (ajax.readyState==1)
			{
				// Mientras busca enviamos un mensaje buscando..."
				//msg.innerHTML="Eliminando y Actualizando...";
			}
			if (ajax.readyState==4) 
			{
				if(ajax.responseText==0){
					refrescar("asignaciones_listar.php?tipo="+tipo);//refrescamos
					//redireccionar("","asignacion+"&tipo="+tipo);
					redireccionar("","blanco.html");
				    ubicacion_asignacion('hidden',n);
					alert("La asignacion fue eliminada");
					//msg.innerHTML="La asignaci\00f3n fue eliminada...";
				}else{
				    msg.innerHTML=ajax.responseText; 
				}
			} 
		}
	    ajax.send(null);
	}else{
		alert("Requiere seleccionar una ubicacion y un estatus");
	}
} 


function busca_proveedor(select)
{
  //elementos que determian las partidas 
  val_select = document.getElementById(select).value;
  
  //inicio a excluir valores de la cadena 
  proveedor = val_select.indexOf(",");
  documento = val_select.indexOf("-");
  //armo mis cadenas necesarias
  val_proveedor = val_select.substring(proveedor+1);
  val_select = val_select.substring(0,proveedor);
  
  
  document.getElementById('strReferencia').value = val_select.substring(0,documento);
  
  //en el caso de la factura podre indicar el provedor del documento con el que lo relaciono
 if(document.getElementById("strProvedor"))
  {
    //recorro el combo en busca del ide con el que se puede referenciar
    for(a = 0 ; a <= document.getElementById("strProvedor").length; a++)
    {
      
       document.getElementById("strProvedor").selectedIndex = a;
       if(document.getElementById("strProvedor").value == val_proveedor)
       {break;}
    }
  } 
}


function tomar_partidas(select,caja,contador)
{
 
  //elementos que determian las partidas 
  val_caja = document.getElementById(caja).value;
  val_select = document.getElementById(select).value;
  //inicio a excluir valores de la cadena 
  proveedor = val_select.indexOf(",");
  //armo mis cadenas necesarias
  val_proveedor = val_select.substring(proveedor+1);
  val_select = val_select.substring(0,proveedor);

   //realizao la esclucion de valores no necesarios
   var tomar = val_select.indexOf("-");
   var partida = val_select.substring(tomar+1);
  
   //par evitar la creacion de partidas
   if(partida == "" && document.getElementById("intRecordar"))
   {document.getElementById("intRecordar").value = "0";}
 
  //en el caso de la factura podre indicar el provedor del documento con el que lo relaciono
  if(document.getElementById("strProvedor"))
  {busca_proveedor(select);}  
  
  etiqueta = "mensaje";  

  //identifico que se seleccione un documento
  if(val_select == "")
  {
    msg = "Seleccione un Documento...";
    stilo ="aTxtErrorTit";
    if(val_caja > 0 && val_caja != "")
    {
      //trow"+marca+"_"+contador+"_
      
      borrar_elementos3(val_caja,"trowPrt_",contador);
    }
    document.getElementById(caja).value="";
	if(document.getElementById(caja+"_2"))
    {document.getElementById(caja+"_2").value ="0";}
  }
    
  //si se selecciono un documento 
  else
  {
    //conforme se capture muestro las partidas de las que se disponen
    if(val_caja != "")
    
    {total = parseInt(partida) - parseInt(val_caja);}
    else
    {total = parseInt(partida);}
      
    //en el caso de que se asignen todas las partidas
    if(total == 0)
    {
      msg = "Todas las partidas asignadas ...";
	  if(document.getElementById("intRecordar"))
      {document.getElementById("intRecordar").value="0";}
      stilo = "aTxtMensajeUsuario";
    }

    //encaso contrario
    else
    {
      //muestro el mensaje donde se indica el numero de partidas de las que dispone el documento
      msg = "Solo se disponen de "+total+" partida/s ...";
      stilo = "aTxtMensajeUsuario";
      if(document.getElementById("intRecordar"))
	  {document.getElementById("intRecordar").value=total;}
    }
         
    //si las partidas que se asignan son mayores a las disponibles marco un error
    if(parseInt(partida) < parseInt(val_caja))
    {
      msg ="No se pueden asignar mas de "+partida+" ..."; 
      stilo = "aTxtErrorTit";
      document.getElementById(caja).value="";
    }

    //indico que las partidas que se asignan no sean <= 0
    if(parseInt(val_caja) <= 0 )
    {
      msg="No se puede asignar un valor <= 0 ...";
      stilo="aTxtErrorTit";
      document.getElementById(caja).value="";
    }
  }
    
  //armo el mensaje  
  document.getElementById(etiqueta).innerHTML="<b><a class='"+stilo+"'>"+msg+"</a></b>";
}

function validar_numdoc(tipo,nombre)
{
  var tipo_doc = tipo;
  var nombre_doc = document.getElementById(nombre).value;
  var msg = document.getElementById("doc_val");
  var c=0;

  for(a = 0 ; a < nombre_doc.length ; a++)
  {
    tomar = nombre_doc.substr(a,1);
    if(tomar != 0)
    {
      c=0;
      break;
    }
    else
    {
      c++;
    }
  }

  if(c == 0)
  {
    if(nombre_doc.length >= 3)
    { 
      //inicio mi elemento ajax
      if(nombre_doc == "")
      {
        msg.innerHTML ="<a class ='aTxtMensajeUsuario'></a>";
      }
      else
      {
        var ajax = nuevoAjax();
    
        //envio mis valores para generar la validación
        ajax.open("POST","validar_doc.php",true);
    
        //inicio la funcion de ajax
        ajax.onreadystatechange= function()
        {
          if (ajax.readyState == 1)
          { 
            //mientras Realiza la busqueda muestro el vensaje "Validando ..."
            msg.innerHTML ="<a class ='aTxtMensajeUsuario'><b>Validando ...!</b></a>";
          } 

          //espero la respuesta de ajax 
          if (ajax.readyState == 4) 
          {
            //en caso de que exista el nombre muestro la leyende de que el nombre existe 
            //y borro el contenido de la caja de texto
            if(ajax.responseText == 0)
            {
              msg.innerHTML ="<a class ='aTxtErrorTit'><b> No disponible ...!</b></a>";        
            }
            //en caso de que no exita el documento
            else
            {
              msg.innerHTML ="<a class ='aTxtMensajeUsuario'><b> Disponible ...!</b></a>";
            }
          }
        }  
        //envio la cabezera de ajax
        ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        //envio los elementos nesesarios para la validacion
        ajax.send("tipo_doc="+tipo_doc+"&nombre_doc="+nombre_doc);
      }
    } 
    else
    {msg.innerHTML ="<a class ='aTxtErrorTit'><b> Numero muy corto ...!</b></a>";}
  }
  else
  {msg.innerHTML ="<a class ='aTxtErrorTit'><b> No se puede colocar solo '0' ...!</b></a>";}
} 
function comprarar_fechas(dat1,dat2)
{
  date1 = 	document.getElementById(dat1).value;
  date2 = 	document.getElementById(dat2).value;
  var dat_fecha = 0;
  
  //tomo los valores de la primera fecha
  var dat_year1 = date1.substring(0,4); 
  var dat_mes1 =  date1.substring(7,5);
  var dat_dia1 =  date1.substring(10,8);
  
  //tomo los valores de la segunda fecha
  var dat_year2 = date2.substring(0,4); 
  var dat_mes2 =  date2.substring(7,5);
  var dat_dia2 =  date2.substring(10,8);
  
  
  if(date1 == "" || date2 == "")
  {}
  else
  {
  //compara los años 
  if(dat_year1 > dat_year2)
  {
    //alert("El año de la fecha 1 es mayor que la 2");
    dat_fecha = 1;
    document.getElementById(dat2).value="";
  }
  else
  {
    if(dat_year1 == dat_year2)
    {
      if(dat_mes1 > dat_mes2)
      {
        //alert("El mes de la fecha 1 es mayor que el de la fecha 2");
        dat_fecha = 2;
        document.getElementById(dat2).value="";
      }
      else
      {
        if(dat_mes1 == dat_mes2)
        {
          if(dat_dia1 > dat_dia2)
          {
            //alert("el dia de la fecha1 es menro que le dela fecha 2");
            dat_fecha = 3;
            document.getElementById(dat2).value="";
          }
        }
      }
    }
  }
 }
  if (dat_fecha >= 1)
  {
    alert("Imposible asignar las fechas ...");
  }
} 
 
 
 /*****************************************************************************/
 
 function llenar_combo(elemento,ide,habil,valor,texto,tabla,filtro)
 {

    selectDestino = elemento;
    var ajax = new nuevoAjax();
    ajax.open("POST","llenar.php",true);
    ajax.onreadystatechange=function()
    {
      if(ajax.readyState == 1)
      {
        selectDestino.length=0;
				var nuevaOpcion=document.createElement("option"); 
        nuevaOpcion.value=0; 
        nuevaOpcion.innerHTML="Cargando...";
				selectDestino.appendChild(nuevaOpcion); 
        selectDestino.disabled=true;
         
         /*var op1 = new Option("Cargando ...!");
         elemento.appendChild(op1);*/
      }
      
      if(ajax.readyState == 4)
      {
        elemento.parentNode.innerHTML = ajax.responseText;
      }
    } 
    //envio la cabezera de ajax
      ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      //envio los elementos nesesarios para la validacion
      ajax.send("elemento="+elemento+"&ide="+ide+"&habil="+habil+"&valor="+valor+"&texto="+texto+"&tabla="+tabla+"&filtro="+filtro);
 }

function validar_serie(serie)
{
   var num_serie = document.getElementById(serie).value;
 //inicio mi elemento ajax
  if(num_serie == ""){}

  else
  {
    var ajax = nuevoAjax();
    
     //envio mis valores para generar la validación
     ajax.open("POST","validar_serie.php",true);
    
    //inicio la funcion de ajax
    ajax.onreadystatechange= function()
    {
      //espero la respuesta de ajax 
      if (ajax.readyState == 4) 
      {
        //en caso de que exista el nombre muestro la leyende de que el nombre existe 
        //y borro el contenido de la caja de texto
        if(ajax.responseText == 0)
        {
          alert("El insumo esta prestado ...!");
        }
      }
    }
    
      //envio la cabezera de ajax
      ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      //envio los elementos nesesarios para la validacion
      ajax.send("num_serie="+num_serie);
  }
}

function crear_elementos2(valor,contener)
{
  //tomo el valor para determinar el ide y no se repita
  var cantidad = document.getElementById(valor).value;
  total = parseInt(cantidad) + parseInt(1);
  document.getElementById(valor).value = total;
  
  
  //determina el contendor de los elementos a crear
  var contenedor = document.getElementById(contener);
		
	
  //creo filas y columnas para la tabla
  //la cual contendra los elementos
  trow = document.createElement('tr');
  
  tcolComponente = document.createElement('td');
  tcolMarca = document.createElement('td');
  tcolModelo = document.createElement('td');
  tcolSerie = document.createElement('td');
  tcolBorra = document.createElement('td');

  //determiando ide de <tr>
  idetrow = trow.id="trow"+total;
	trow.align= "center";		
  //Creo el primer elemento input componente
  Caja_comp = document.createElement('input');
  Caja_comp.type='text';
  Caja_comp.name='str_componente'+total;
  Caja_comp.id='str_componente'+total;
  Caja_comp.size="20";
  Caja_comp.className="aTxtCampoUpper";

  //Creo mi primera lista de marcas
  List_marca = document.createElement('select');
  List_marca.id='str_Marca'+total;
  List_marca.name='str_Marca'+total;
  List_marca.id='str_Marca'+total;
  List_marca.className="aTxtCampoUpper";
    //funcion que permite llenar la lista con los elementos de la base
    
    llenar_combo(List_marca,List_marca.id,'marca_id','marca_str_nombre','cat_marcas','WHERE marca_id != 1');

  //Creo mi segunda lista de Modelo           
  List_modelo = document.createElement('select');
  List_modelo.name='str_Modelo'+total;
  List_modelo.id='str_Modelo'+total;
  List_modelo.className="aTxtCampoUpper";
  //funcion que permite llenar la lista con los elementos de la base
  llenar_combo(List_modelo,List_modelo.id,'modelo_id','modelo_str_nombre','cat_modelos','WHERE modelo_id != 1');
      
  //Creo mi segundo input Serie
  Caja_serie= document.createElement('input');
  Caja_serie.type='text';
  Caja_serie.name='str_Serie'+total;
  Caja_serie.id='str_Serie'+total;
  Caja_serie.size="20";
  Caja_serie.className="TdCampoRequeridoUpper";
  
  //opcion de borrar
  Btn_Borrar = document.createElement('img');
  Btn_Borrar.src="../../images/iconos/error.gif";
  Btn_Borrar.name="Btn"+total;
	Btn_Borrar.id="Btn"+total;
	Btn_Borrar.width="15";
	Btn_Borrar.height="15";
	Btn_Borrar.align="top";
	Btn_Borrar.className="aAyudaTituloLink";
	Btn_Borrar.alt="Borrar Kit";	
  
  //Generar num serie
  Btn_Serie = document.createElement('img');
  Btn_Serie.src="../../images/iconos/entidad_f2.gif";
  Btn_Serie.name="Btns"+total;
	Btn_Serie.id="Btns"+total;
	Btn_Serie.width="15";
	Btn_Serie.height="15";
	Btn_Serie.align="top";
	Btn_Serie.className="aAyudaTituloLink";
	Btn_Serie.alt="Borrar Kit";	
  
  //Armo la columna que contendra los elemento creados
  trow.appendChild(tcolComponente);
  trow.appendChild(tcolMarca);
  trow.appendChild(tcolModelo);
  trow.appendChild(tcolSerie);
  trow.appendChild(tcolBorra);
  contenedor.appendChild(trow);
	  
  tcolComponente.appendChild(Caja_comp);
  tcolMarca.appendChild(List_marca);
  tcolModelo.appendChild(List_modelo);
  tcolSerie.appendChild(Caja_serie);
  tcolBorra.aling="center";
  tcolBorra.appendChild(Btn_Serie);
  tcolBorra.appendChild(Btn_Borrar);
  
  //agregar evento
  Btn_Borrar.setAttribute("onclick","borrar_elementos('"+idetrow+"','"+valor+"');parent.calcHeight('3','contenido','contenido','detalle');");
  Btn_Serie.setAttribute("onclick","numero_serie('"+Caja_comp.id+"','"+total+"','"+Caja_serie.id+"')");
  Caja_serie.setAttribute("onkeyup","validar_serie('"+Caja_serie.id+"')");
}

function cadena_valpres(formulario)
{
  //onsubmit="MM_validateForm('intMarca','Marca','R','intModelo','Modelo','R','StrUSerie','Nº Serie','R','dat_salida','Fecha Salida','R','dat_devolucion','Fecha Devoluci&oacute;n','R','intEntrego','Entrego','R','intRecibio','Recibio','R');return document.MM_returnValue"
  cadena = "'dat_salida','Fecha Salida','R','dat_devolucion','Fecha Devolución Compromiso','R','intRecibio','Recibio','R'";
  cadena2 = "";
  status = document.getElementById('intStatus').value;
  recibo = document.getElementById('intEntregoe').value;
  
  if(status > 0 || recibo > 0)
  {
    cadena2=",'intStatus','Status','R','intEntregoe','Entrego','R'";
  }
  formulario.setAttribute("onsubmit","MM_validateForm("+cadena+cadena2+");return document.MM_returnValue");
}


function numero_serie(formulario,serie,serie2,filtro)
{
    var a =0;
    for(i= 1 ; i < formulario.elements.length ; i++)
    {
      ide = formulario.elements[i].id; 
      //localizo todos los los elementos del formulario que contengan el filtro
		  if(formulario.elements[i].type == "text" && ide.indexOf(filtro) != -1)
      {
        a++;
        if(ide == serie)
        {numero = a;}
      }
    }
   var num_serie = document.getElementById(serie).value;
   //inicio mi elemento ajax
   if(num_serie != "SIN CAPTURA")
   {
    var ajax = nuevoAjax();
    
     //envio mis valores para generar la validación
     ajax.open("POST","poner_serie.php",true);
    
    //inicio la funcion de ajax
    ajax.onreadystatechange= function()
    {
      //espero la respuesta de ajax 
      if (ajax.readyState == 4) 
      {
          document.getElementById(serie2).value=ajax.responseText;
         // document.getElementById(serie2).selectionStart = 0;
     }
    }
     //envio la cabezera de ajax
      ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      //envio los elementos nesesarios para la validacion
      ajax.send("num_serie="+num_serie+"&valor="+numero);
    }  
  }


/*************************************************************************************/

/**************************************************************************************/
function relacion (master,nombre,marca,modelo,descripcion,contenedor)
{
  //obtengo los ides de los elementos 
  var txt_nombre = document.getElementById(nombre);
  var select_marca = document.getElementById(marca);
  var select_modelo = document.getElementById(modelo);
  var select_master = document.getElementById(master);
  var txt_descrip = document.getElementById(descripcion);
  var tbl_contenedor = document.getElementById(contenedor);
  
  //inicio la llamada de los valores que utilizare
 if(select_master.value != "")
 {
  var ajax = nuevoAjax();
  //envio el valor
  ajax.open("POST","relacion.php",true);
  
  ajax.onreadystatechange= function()
  {
    if(ajax.readyState == 1)
    {
      txt_nombre.value = " CARGANDO ...!";
      txt_descrip.value =" CARGANDO ...!";
      //select_marca.selectedIndex = 1;      
      //select_modelo.selectedIndex = 1;
    }
    if(ajax.readyState == 4)
    {
      tbl_contenedor.parentNode.innerHTML=ajax.responseText;
    }
  }
 } 
    
 //realizo un corte para enviar optener el ide y el numero de serie
 cadena = select_master.value;
   
 pos = cadena.indexOf("-");
 ide  = cadena.substring(0,pos); 
  
 num_serie = cadena.substring(pos+1);
 //envio mis datos
 ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
 ajax.send("ide_insumo="+ide+"&marca="+select_marca+"&modelo="+select_modelo+"&nombre="+txt_nombre+"&describe="+txt_descrip+"&contenerdor="+tbl_contenedor);
    
  comp_relacion('',ide,num_serie);
  agendar(ide,'extra');
  document.getElementById("str_master").value =ide;
}

function comp_relacion(opcion,ide,num_serie)
{
   tbl_contenedor = document.getElementById('componente2');
   var ajax = nuevoAjax();
  //envio el post
  ajax.open("POST","relacion_insumos.php",true);
  
  ajax.onreadystatechange = function()
  {                                                       
    if(ajax.readyState == 4)
    {
      tbl_contenedor.parentNode.innerHTML=ajax.responseText;
      parent.calcHeight('3','contenido','contenido','detalle');
    }
  }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send("ns_insumo="+num_serie+"&ide_insumo="+ide);
}
/**************************************************************************************/

function agendar(select,caja)
{ 
  if (select > 0)
  {list_serie = select;}
  else
  {list_serie = document.getElementById(select).value;}
  txt_caja = document.getElementById(caja);
     
  var ajax = nuevoAjax();
  //envio los datos que son nesesarios
  ajax.open('POST','agendar.php');
  
  ajax.onreadystatechange = function()
  {
    if(ajax.readyState == 4)
    { 
          
      pos = ajax.responseText.indexOf("-");
      tam = ajax.responseText.length;
      fecha =ajax.responseText.substr(pos+1,tam);  
      if(pos > 0)
      {
        alert("El insumo esta contemplado para prestamo del dia ' "+fecha+" ' ...!");
        txt_caja.value = ajax.responseText.substr(0,pos);
      }
      else
      {
        txt_caja.value = ajax.responseText;
      }
    }
  }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send("ide_insumo="+list_serie);  
    
}
/***************************************************************************************/
//crear elementos dinamicamente para captura
// de entradas de los kits en la facctura
  /************************************************************/
function crear_elementos(caja,caja2,contener,parar,marca)
{
  //sera la referencia para permitir solo las partidas nesesarias
  var freno = document.getElementById(parar).value;
  //si freno es mayor a 0 indica que se tiene partidas disponibles
  /** inicia la creacion de partidas **/
  if(freno > 0 )
  {
    //tomo mis valores nesesarios para la creacion de partidas
    var contador_0 = document.getElementById(caja).value;
    var contador = document.getElementById(caja2).value;
    var contenedor = document.getElementById(contener);
  
    //en el caso de que el valor sea nulo inicialiso en 0
    if(contador_0 == "")
    {
      document.getElementById(caja).value = 0;
      contador_0 = document.getElementById(caja).value; 
    }
  
    //inicio el incremeto de los contadores
    contador_0 = parseInt(contador_0) + 1;
    contador = parseInt(contador) + 1;
    
    //conforme sse incrementa lleno mis cajas de texto
    document.getElementById(caja).value = contador_0;
    document.getElementById(caja2).value = contador;
 
   /*** inicia armando titulos ***/
    var tr_titulo_nvl1 = document.createElement('tr');
    var tr_titulo_nvl2 = document.createElement('tr');

    tr_titulo_nvl1.bgColor = "#CCCCCC";
    tr_titulo_nvl1.id = "trow"+marca+"_"+contador+"_t0";
    tr_titulo_nvl1.align ="center";  
    
    tr_titulo_nvl2.bgColor = "#CCCCCC";
    tr_titulo_nvl2.id = "trow"+marca+"_"+contador+"_t1";
    tr_titulo_nvl2.align ="center"; 
    
    
    //filas titulo 1
    var td_0 = document.createElement('td'); 
    var td_1 = document.createElement('td');
    var td_2 = document.createElement('td');
    var td_3 = document.createElement('td'); 
    var td_4 = document.createElement('td');
    var td_5 = document.createElement('td');
    var td_6 = document.createElement('td'); 
    var td_7 = document.createElement('td');
   
    //filas titulo 2
    var td_8 = document.createElement('td');
    var td_9 = document.createElement('td'); 
   
    //armadondo la fila para el titulo 1
    td_0.width = "5%";
    td_0.innerHTML="<a class='aTxtCampo'><strong>Part</strong></a>";
    
    td_1.width = "5%";
    td_1.innerHTML="<a class='aTxtCampo'><strong>Cant</strong></a>";
    
    td_2.width = "20%";
    td_2.innerHTML="<a class='aTxtCampo'><strong>Tipo</strong></a>";
    
    td_3.width = "20%";
    td_3.innerHTML="<a class='aTxtCampo'><strong>Nombre</strong></a>";
    
    td_4.width = "20%";
    td_4.innerHTML="<a class='aTxtCampo'><strong>Marca</strong></a>";
    
    td_5.width = "20%";
    td_5.innerHTML="<a class='aTxtCampo'><strong>Modelo</strong></a>";
    
    td_6.width = "5%";
    td_6.innerHTML="<a class='aTxtCampo'><strong>Borrar</strong></a>";
    
    td_7.width = "5%";
    td_7.innerHTML="<a class='aTxtCampo'><strong>Ver</strong></a>";
    
    tr_titulo_nvl1.appendChild(td_0);
    tr_titulo_nvl1.appendChild(td_1);
    tr_titulo_nvl1.appendChild(td_2);
    tr_titulo_nvl1.appendChild(td_3);
    tr_titulo_nvl1.appendChild(td_4);
    tr_titulo_nvl1.appendChild(td_5);
    tr_titulo_nvl1.appendChild(td_6);
    tr_titulo_nvl1.appendChild(td_7);
    //termina armado del titulo 1
    
    //armando fila para titulos 2
    td_8.colSpan = 4;
    td_8.innerHTML = "<a class='aTxtCampo'><strong>Descripcion</strong></a>";
    
    td_9.colSpan = 4;
    tabla = "<table  border='0' cellpadding='0' cellspacing='1' width='100%' style='height: 100%'  align='center'>";
    tabla = tabla+"<tr bgcolor='#CCCCCC'><td width ='20%'><a class='aTxtCampo' aling='center'><strong>Componente</strong></a></td>";
    tabla = tabla+"<td width ='20%' aling='center'><a class='aTxtCampo'><strong>Media</strong></a></td>";
    tabla = tabla+"<td width ='20%' aling='center'><a class='aTxtCampo'><strong>Libre</strong></a></td>";
    tabla = tabla+"<td width ='20%' aling='center'><a class='aTxtCampo'><strong>Licencia</strong></a></td>";
    tabla = tabla+"<td width ='20%' aling='center'><a class='aTxtCampo'><strong>Libre</strong></a></td>";
    tabla = tabla+"</tr></table>";
    td_9.innerHTML = tabla;
    
    tr_titulo_nvl2.appendChild(td_8);
    tr_titulo_nvl2.appendChild(td_9);
    //armando fila para titulos 2
    /**** inicia arma de titulos ***/
    
    /*** inicia armando campos ***/
     color  = contador%2;
     if(color == 0)
     {fondo = "#E9E9E9";}
     else
     {fondo = "#EEEEEE";}
     
     var tr_master_nvl1 = document.createElement('tr');
     tr_master_nvl1.bgColor = fondo;
     tr_master_nvl1.id = "trow"+marca+"_"+contador+"_m0";
     tr_master_nvl1.align ="center";
     
     var tr_master_nvl2 = document.createElement('tr');   
     tr_master_nvl2.bgColor = fondo;
     tr_master_nvl2.id = "trow"+marca+"_"+contador+"_m1";
     tr_master_nvl2.align ="center";

     
     //filas campos 1
     var td_m0 = document.createElement('td'); 
     var td_m1 = document.createElement('td');
     var td_m2 = document.createElement('td');
     var td_m3 = document.createElement('td'); 
     var td_m4 = document.createElement('td');
     var td_m5 = document.createElement('td');
     var td_m6 = document.createElement('td'); 
     var td_m7 = document.createElement('td');
    
     //filas campos 2
     var td_m8 = document.createElement('td');
     var td_m9 = document.createElement('td'); 
     var td_m10 = document.createElement('td');
     var td_m11 = document.createElement('td');
     var td_m12 = document.createElement('td');
     var td_m13 = document.createElement('td');
     
     td_m0.innerHTML = "<a class='aTxtCampo'><strong>"+contador+"</strong></a>";
     
     /************* Unidades *******************/
      var caja_unidad = document.createElement('input');
      caja_unidad.type = "text";
      caja_unidad.id = "DOC_IntUniMU"+marca+contador;
      caja_unidad.name = "DOC_IntUniMU"+marca+contador;    
      caja_unidad.style.width = "80%";
      caja_unidad.className = "TdCampoRequerido"; 
      td_m1.appendChild(caja_unidad);     
     /******************************************/     
     
     /************* tipo **********************/
      var List_tipo = document.createElement('select');
      List_tipo.id='SI_str_tipo'+marca+contador;
      List_tipo.name='SI_str_tipo'+marca+contador;
      List_tipo.className="TdCampoRequerido";
      List_tipo.style.width="90%";
      td_m2.appendChild(List_tipo);     
     /******************************************/     

     /************* Nombre ********************/
      var List_nombre = document.createElement('select');
      List_nombre.id='NO_str_clasificaMU'+marca+contador;
      List_nombre.name='NO_str_clasifica'+marca+contador;
      List_nombre.className="TdCampoRequerido";
      List_nombre.style.width="90%";
      List_nombre.disabled = true;
      Opt_tipo = document.createElement("option");
      Opt_tipo.value="";
      Opt_tipo.innerHTML = "- SELECCIONE EL TIPO";
      List_nombre.appendChild(Opt_tipo);
      td_m3.appendChild(List_nombre);     
     /******************************************/     

     /************* Marca *********************/
      var List_marca = document.createElement('select');
      List_marca.id='SI_str_MarcaMU'+marca+contador;
      List_marca.name='SI_str_MarcaMU'+marca+contador;
      List_marca.className="TdCampoRequerido";
      td_m4.appendChild(List_marca);     
     /******************************************/  

     /************* Modelo ********************/
      var List_modelo = document.createElement('select');
      List_modelo.id='SI_str_ModeloMU'+marca+contador;
      List_modelo.name='SI_str_ModeloMU'+marca+contador;
      List_modelo.className="TdCampoRequerido";
      td_m5.appendChild(List_modelo);     
     /******************************************/  
     
     /************* boton borrar **************/
      var Btn_Borrar = document.createElement('img');
      Btn_Borrar.src="../../images/iconos/menos2.png";
      Btn_Borrar.name="Btn"+marca+contador;
	    Btn_Borrar.id="Btn"+marca+contador;
    	Btn_Borrar.width="15";
	    Btn_Borrar.height="15";
	    Btn_Borrar.align="center";
	    Btn_Borrar.className="aAyudaTituloLink";
	    Btn_Borrar.alt="Borrar";
      td_m6.appendChild(Btn_Borrar);     
     /******************************************/  
     
     /************* boton mostrar *************/
      var Btn_ver = document.createElement('img');
      Btn_ver.src="../../images/iconos/abajo.png";
      Btn_ver.name="Btnv"+marca+contador;
	    Btn_ver.id="Btnv"+marca+contador;
    	Btn_ver.width="15";
	    Btn_ver.height="15";
	    Btn_ver.align="center";
	    Btn_ver.className="aAyudaTituloLink";
	    Btn_ver.alt="Borrar";
      //para ocultar y mostrar la tabla
      caja_1 = document.createElement('input');
      caja_1.type = "hidden";
      caja_1.id = "NO_ver"+marca+contador;
      caja_1.value = "";
      td_m7.appendChild(caja_1);
      td_m7.appendChild(Btn_ver);     
     /******************************************/  
     
     /************* descripcion **************/
      var Area_desc = document.createElement('textarea');
      Area_desc.id = "SI_StrDesscMU"+marca+contador;
      Area_desc.name = "SI_StrDesscMU"+marca+contador;    
      Area_desc.style.width = "90%";
      Area_desc.rows=2;
      Area_desc.className = "aTxtCampoUpper"; 
      td_m8.colSpan = 4;
      td_m8.appendChild(Area_desc);
     /******************************************/  
     
     /************* descripcion **************/
     var Caja_comp = "<input type='text' readonly='readonly'  name='DOC_IntKitsM"+marca+contador+"' id='DOC_IntKitsM"+marca+contador+"' class='aTxtCampo' style='width: 60% ;' onkeydown=\"return no_retroceso(event.keyCode,'8');\" >";
     var Caja_comp_2 = "<input type='hidden' value = '0' name='NO_IntKitsM"+marca+contador+"_2' id='NO_IntKitsM"+marca+contador+"_2'>";      
     var evento_0 = "onclick = \"javascript:componentes('DOC_IntKitsM"+marca+contador+"','NO_IntKitsM"+marca+contador+"_2','contenedor"+contador+"','"+contador+"','trow"+marca+"_"+contador+"_b1','"+caja_1.id+"','"+Btn_ver.id+"');parent.calcHeight('3','contenido','contenido','detalle');campo_requerido('DOC_IntKitsM"+marca+contador+"');\"";
     var img = "<img src='../../images/iconos/agregar.gif' "+evento_0+" class='aAyudaTituloLink' id='Btna"+marca+contador+"' width='15px' aling='center'>";
     
     var Caja_media = "<input type='text' readonly='readonly' value = 'N/A' onkeypress=\"return Solo_Numeros(event)\" name='SI_IntMedia"+marca+contador+"' id='SI_IntMedia"+marca+contador+"' class='aTxtCampo' style='width: 60% ;' onkeydown=\"return no_retroceso(event.keyCode,'8');\">";
     var evento_m = "onclick =\"javascript:lectura('SI_IntMedia"+marca+contador+"','SI_IntMediar"+marca+contador+"')\"";
     var radio_media = "<input type='checkbox' "+evento_m+" value='L' onkeydown=\"return no_retroceso(event.keyCode,'8');\" disabled='true' class='aTxtCampo' name = 'SI_IntMediar"+marca+contador+"' id = 'SI_IntMediar"+marca+contador+"' onkeydown=\"return no_retroceso(event.keyCode,'8');\">";
     
     var Caja_licencia = "<input type='text' readonly='readonly' value = 'N/A' onkeypress=\"return Solo_Numeros(event)\" name='SI_IntLic"+marca+contador+"' id='SI_IntLic"+marca+contador+"' class='aTxtCampo' style='width: 60% ;' onkeydown=\"return no_retroceso(event.keyCode,'8');\">";
     var evento_l = "onclick =\"javascript:lectura('SI_IntLic"+marca+contador+"','SI_IntLicr"+marca+contador+"')\"";
     var radio_licencia = "<input type='checkbox' "+evento_l+" value='L' onkeydown=\"return no_retroceso(event.keyCode,'8');\" disabled='true' class='aTxtCampo' name = 'SI_IntLicr"+marca+contador+"' id = 'SI_IntLicr"+marca+contador+"' onkeydown=\"return no_retroceso(event.keyCode,'8');\">";
     
      tabla = "<table  border='0' cellpadding='0' cellspacing='1' width='100%' style='height: 100%'>";
      tabla = tabla+"<tr bgcolor='"+fondo+"' aling='center' aling = 'center'><td width ='20%'>"+Caja_comp_2+Caja_comp+"&nbsp;"+img+"</td>";
      tabla = tabla+"<td width ='20%'>"+Caja_media+"</td>";
      tabla = tabla+"<td width ='20%'>"+radio_media+"</td>";
      tabla = tabla+"<td width ='20%'>"+Caja_licencia+"</td>";
      tabla = tabla+"<td width ='20%'>"+radio_licencia+"</td>";
      tabla = tabla+"</tr></table>";
      td_m9.colSpan = 4;
      td_m9.innerHTML = tabla;
     /************* descripcion **************/
 
 
     tr_master_nvl1.appendChild(td_m0);
     tr_master_nvl1.appendChild(td_m1);
     tr_master_nvl1.appendChild(td_m2);
     tr_master_nvl1.appendChild(td_m3);
     tr_master_nvl1.appendChild(td_m4);
     tr_master_nvl1.appendChild(td_m5);
     tr_master_nvl1.appendChild(td_m6);
     tr_master_nvl1.appendChild(td_m7);
     
     tr_master_nvl2.appendChild(td_m8);
     tr_master_nvl2.appendChild(td_m9);
     /*** termina armado campos ***/
    
     /*** Filas para separacion ***/
     var tr_vacia_1 = document.createElement('tr');
     td_m10.colSpan = 8;
     td_m10.style.height = "3px";
      tr_vacia_1.id = "trow"+marca+"_"+contador+"_v0";
     tr_vacia_1.appendChild(td_m10);
     
     var tr_vacia_2 = document.createElement('tr');
     td_m11.colSpan = 8;
     td_m11.style.height = "3px";
     tr_vacia_2.id = "trow"+marca+"_"+contador+"_v1";
     tr_vacia_2.appendChild(td_m11);
     /****************************/
     
     /**** Tabla para componentes *****/
      var tr_tabla = document.createElement("tr");
      tr_tabla.id = "trow"+marca+"_"+contador+"_b1";
      tr_tabla.style.display ="none";
      td_m12.colSpan = 8;
      td_m12.style.height = "3px";
      td_m12.className ="TdMarco2";
      td_m12.innerHTML = "<table width='100%' border='0' cellpadding='0' cellspacing='2' id='contenedor"+contador+"'></table>";
      tr_tabla.appendChild(td_m12);
     /********************************/
     
     /************ Eventos para combos *********/
      llenar_combo(List_tipo,List_tipo.id,List_nombre.id,'tipo_insumo_id','tipo_insumo_str_nombre','cat_tipo_insumos','WHERE tipo_insumo_id < 4');       
      llenar_combo(List_marca,List_marca.id,1,'marca_id','marca_str_nombre','cat_marcas','WHERE marca_id != 1  order by marca_str_nombre');
      llenar_combo(List_modelo,List_modelo.id,1,'modelo_id','modelo_str_nombre','cat_modelos','where modelo_id != 1 order by modelo_str_nombre asc');
     /******************************************/
     
     /************ Eventos para borones ********/
      Btn_Borrar.setAttribute("onclick","borrar_elementos2('1','trow"+marca+"_"+contador+"_','"+caja+"','"+caja2+"');tomar_partidas('entidades','intNumpartidas')");
      Btn_ver.setAttribute("onclick","ocultar1('"+tr_tabla.id+"','"+caja_1.id+"','"+Btn_ver.id+"');");     
      //trow"+marca+"_"+contador
     /******************************************/
     /**************caja de unidades*************/
      caja_unidad.setAttribute("onkeypress","return Solo_Numeros(event)");
     /*******************************************/
     
     /***** armado total de partidas *****/
     contenedor.appendChild(tr_titulo_nvl1);
     contenedor.appendChild(tr_master_nvl1);
     contenedor.appendChild(tr_vacia_1);
     contenedor.appendChild(tr_titulo_nvl2);
     contenedor.appendChild(tr_master_nvl2);
     contenedor.appendChild(tr_vacia_2);
     contenedor.appendChild(tr_tabla);
     /***** armado total de partidas *****/ 
  }
  /** Termina creacion de partidas **/
}

  /************************************************************/

/************************************************************/
/* COMPONENSTES DEL INSUMO                                  */
/************************************************************/
function componentes(caja,caja2,contener,marca,tabla,caja3,boton)
{
  
  document.getElementById(caja3).value='1';
  ocultar1(tabla,caja3,boton);
  
    var contador_0 = document.getElementById(caja).value;
    var contador = document.getElementById(caja2).value;
    var contenedor = document.getElementById(contener);
  
    //en el caso de que el valor sea nulo inicialiso en 0
    if(contador_0 == "")
    {
      document.getElementById(caja).value = 0;
      contador_0 = document.getElementById(caja).value; 
    }
  
    //inicio el incremeto de los contadores
    contador_0 = parseInt(contador_0) + 1;
    contador = parseInt(contador) + 1;
    
    //conforme sse incrementa lleno mis cajas de texto
    document.getElementById(caja).value = contador_0;
    document.getElementById(caja2).value = contador;
    //termina la manipulacion de contadores
    
    var tr_titulo_nvl1 = document.createElement('tr');
    var tr_titulo_nvl2 = document.createElement('tr');

    tr_titulo_nvl1.bgColor = "#CCCCCC";
    tr_titulo_nvl1.id = "trow"+marca+"_"+contador+"k_t0";
    tr_titulo_nvl1.align ="center";  
    
    tr_titulo_nvl2.bgColor = "#CCCCCC";
    tr_titulo_nvl2.id = "trow"+marca+"_"+contador+"k_t1";
    tr_titulo_nvl2.align ="center"; 
    
    
    //filas titulo 1
    var td_0 = document.createElement('td'); 
    var td_1 = document.createElement('td');
    var td_2 = document.createElement('td');
    var td_3 = document.createElement('td'); 
    var td_4 = document.createElement('td');
    var td_5 = document.createElement('td');
    var td_6 = document.createElement('td'); 
   
    //filas titulo 2
    var td_7 = document.createElement('td');
    var td_8 = document.createElement('td'); 
   
    //armadondo la fila para el titulo 1
    td_0.width = "5%";
    td_0.innerHTML="<a class='aTxtCampo'><strong>Comp</strong></a>";
    
    td_1.width = "5%";
    td_1.innerHTML="<a class='aTxtCampo'><strong>Cant</strong></a>";
    
    td_2.width = "21%";
    td_2.innerHTML="<a class='aTxtCampo'><strong>Tipo</strong></a>";
    
    td_3.width = "21%";
    td_3.innerHTML="<a class='aTxtCampo'><strong>Nombre</strong></a>";
    
    td_4.width = "21%";
    td_4.innerHTML="<a class='aTxtCampo'><strong>Marca</strong></a>";
    
    td_5.width = "22%";
    td_5.innerHTML="<a class='aTxtCampo'><strong>Modelo</strong></a>";
    
    td_6.width = "5%";
    td_6.innerHTML="<a class='aTxtCampo'><strong>Borrar</strong></a>";

    
    tr_titulo_nvl1.appendChild(td_0);
    tr_titulo_nvl1.appendChild(td_1);
    tr_titulo_nvl1.appendChild(td_2);
    tr_titulo_nvl1.appendChild(td_3);
    tr_titulo_nvl1.appendChild(td_4);
    tr_titulo_nvl1.appendChild(td_5);
    tr_titulo_nvl1.appendChild(td_6);
    //armando fila para titulos 2
    
    td_7.colSpan = 4;
    td_7.innerHTML = "<a class='aTxtCampo'><strong>Descripcion</strong></a>";
    
    td_8.colSpan = 3;
    tabla = "<table  border='0' cellpadding='0' cellspacing='1' width='100%' style='height: 100%' align='center'>";
    tabla = tabla+"<tr aling='center'><td width ='20%'><a class='aTxtCampo'><strong>Media</strong></a></td>";
    tabla = tabla+"<td width ='20%' aling='center'><a class='aTxtCampo'><strong>Libre</strong></a></td>";
    tabla = tabla+"<td width ='20%' aling='center'><a class='aTxtCampo'><strong>Licencia</strong></a></td>";
    tabla = tabla+"<td width ='20%' aling='center'><a class='aTxtCampo'><strong>Libre</strong></a></td>";
    tabla = tabla+"</tr></table>";
    td_8.innerHTML = tabla;
    
    tr_titulo_nvl2.appendChild(td_7);
    tr_titulo_nvl2.appendChild(td_8);
    //armando fila para titulos 2
    /**** inicia arma de titulos ***/
    
    color  = contador%2;
     if(color == 0)
     {fondo = "#E9E9E9";}
     else
     {fondo = "#EEEEEE";}
     
     var tr_master_nvl1 = document.createElement('tr');
     tr_master_nvl1.bgColor = fondo;
     tr_master_nvl1.id = "trow"+marca+"_"+contador+"k_m0";
     tr_master_nvl1.align ="center";
     
     var tr_master_nvl2 = document.createElement('tr');   
     tr_master_nvl2.bgColor = fondo;
     tr_master_nvl2.id = "trow"+marca+"_"+contador+"k_m1";
     tr_master_nvl2.align ="center";

     
     //filas campos 1
     var td_m0 = document.createElement('td'); 
     var td_m1 = document.createElement('td');
     var td_m2 = document.createElement('td');
     var td_m3 = document.createElement('td'); 
     var td_m4 = document.createElement('td');
     var td_m5 = document.createElement('td');
     var td_m6 = document.createElement('td'); 

     //filas campos 2
     var td_m8 = document.createElement('td');
     var td_m9 = document.createElement('td'); 
     var td_m10 = document.createElement('td');
     var td_m11 = document.createElement('td');
     var td_m12 = document.createElement('td');
     var td_m13 = document.createElement('td');
     
     td_m0.innerHTML = "<a class='aTxtCampo'><strong>"+contador+"</strong></a>";
     
     /************* Unidades *******************/
      var caja_unidad = document.createElement('input');
      caja_unidad.type = "text";
      caja_unidad.id = "DOC_IntUniKU_"+marca+contador;
      caja_unidad.name = "DOC_IntUniKU_"+marca+contador;    
      caja_unidad.style.width = "80%";
      caja_unidad.className = "TdCampoRequerido"; 
      td_m1.appendChild(caja_unidad);     
     /******************************************/     
     
     /************* tipo **********************/
      var List_tipo = document.createElement('select');
      List_tipo.id='SI_str_tipoKU_'+marca+contador;
      List_tipo.name='SI_str_tipoKU_'+marca+contador;
      List_tipo.className="TdCampoRequerido";
      List_tipo.style.width="90%";
      td_m2.appendChild(List_tipo);     
     /******************************************/ 
          
     /************* Nombre ********************/
      var List_nombre = document.createElement('select');
      List_nombre.id='NO_str_clasificaKU_'+marca+contador;
      List_nombre.name='NO_str_clasificaKU_'+marca+contador;
      List_nombre.className="TdCampoRequerido";
      List_nombre.style.width="90%";
      List_nombre.disabled = true;
      Opt_tipo = document.createElement("option");
      Opt_tipo.value="";
      Opt_tipo.innerHTML = "- SELECCIONE EL TIPO";
      List_nombre.appendChild(Opt_tipo);
      td_m3.appendChild(List_nombre);     
     /******************************************/  
     
     /************* Marca *********************/
      var List_marca = document.createElement('select');
      List_marca.id='SI_str_MarcaKU_'+marca+contador;
      List_marca.name='SI_str_MarcaKU_'+marca+contador;
      List_marca.className="TdCampoRequerido";
      td_m4.appendChild(List_marca);     
     /******************************************/ 
     
     /************* Modelo ********************/
      var List_modelo = document.createElement('select');
      List_modelo.id='SI_str_ModeloKU_'+marca+contador;
      List_modelo.name='SI_str_ModeloKU_'+marca+contador;
      List_modelo.className="TdCampoRequerido";
      td_m5.appendChild(List_modelo);     
     /******************************************/  

     /************* boton borrar **************/
      var Btn_Borrar = document.createElement('img');
      Btn_Borrar.src="../../images/iconos/menos2.png";
      Btn_Borrar.name="Btnk"+marca+contador;
	    Btn_Borrar.id="Btnk"+marca+contador;
    	Btn_Borrar.width="15";
	    Btn_Borrar.height="15";
	    Btn_Borrar.align="center";
	    Btn_Borrar.className="aAyudaTituloLink";
	    Btn_Borrar.alt="Borrar";
      td_m6.appendChild(Btn_Borrar);     
     /******************************************/  
     
     /************* descripcion **************/
      var Area_desc = document.createElement('textarea');
      Area_desc.id = "SI_StrDesscKU_"+marca+contador;
      Area_desc.name = "SI_StrDesscKU_"+marca+contador;    
      Area_desc.style.width = "90%";
      Area_desc.rows=2;
      Area_desc.className = "aTxtCampoUpper"; 
      td_m8.colSpan = 4;
      td_m8.appendChild(Area_desc);
     /******************************************/  
  
    /************* descripcion **************/
   
     var Caja_media = "<input type='text' readonly='readonly' value = 'N/A' onkeypress=\"return Solo_Numeros(event)\" name='SI_IntMediaKU_"+marca+contador+"' id='SI_IntMediaKU_"+marca+contador+"' class='aTxtCampo' style='width: 60% ;' onkeydown=\"return no_retroceso(event.keyCode,'8');\">";
     var evento_m = "onclick =\"javascript:lectura('SI_IntMediaKU_"+marca+contador+"','SI_IntMediarKU_"+marca+contador+"')\"";
     var radio_media = "<input type='checkbox' "+evento_m+" value='L' disabled='true' class='aTxtCampo' name = 'SI_IntMediarKU_"+marca+contador+"' id = 'SI_IntMediarKU_"+marca+contador+"'>";
     
     var Caja_licencia = "<input type='text' readonly='readonly' value = 'N/A' onkeypress=\"return Solo_Numeros(event)\"  name='SI_IntLicKU_"+marca+contador+"' id='SI_IntLicKU_"+marca+contador+"' class='aTxtCampo' style='width: 60% ;' onkeydown=\"return no_retroceso(event.keyCode,'8');\">";
     var evento_l = "onclick =\"javascript:lectura('SI_IntLicKU_"+marca+contador+"','SI_IntLicrKU_"+marca+contador+"')\"";
     var radio_licencia = "<input type='checkbox' "+evento_l+" value='L' disabled='true' class='aTxtCampo' name = 'SI_IntLicrKU_"+marca+contador+"' id = 'SI_IntLicrKU_"+marca+contador+"'>";
     
      tabla = "<table  border='0' cellpadding='0' cellspacing='1' width='100%' style='height: 100%' align='center'>";
      tabla = tabla+"<td width ='25%'>"+Caja_media+"</td>";
      tabla = tabla+"<td width ='25%'>"+radio_media+"</td>";
      tabla = tabla+"<td width ='25%'>"+Caja_licencia+"</td>";
      tabla = tabla+"<td width ='25%'>"+radio_licencia+"</td>";
      tabla = tabla+"</tr></table>";
      td_m9.colSpan = 3;
      td_m9.innerHTML = tabla;
      
     /************* descripcion **************/   
     tr_master_nvl1.appendChild(td_m0);
     tr_master_nvl1.appendChild(td_m1);
     tr_master_nvl1.appendChild(td_m2);
     tr_master_nvl1.appendChild(td_m3);
     tr_master_nvl1.appendChild(td_m4);
     tr_master_nvl1.appendChild(td_m5);
     tr_master_nvl1.appendChild(td_m6);
     
     tr_master_nvl2.appendChild(td_m8);
     tr_master_nvl2.appendChild(td_m9);
     /*** termina armado campos ***/
     
     /*** Filas para separacion ***/
     var tr_vacia_1 = document.createElement('tr');
     td_m10.colSpan = 8;
     td_m10.style.height = "3px";
      tr_vacia_1.id = "trow"+marca+"_"+contador+"k_v0";
     tr_vacia_1.appendChild(td_m10);
     
     var tr_vacia_2 = document.createElement('tr');
     td_m11.colSpan = 8;
     td_m11.style.height = "5px";
     tr_vacia_2.id = "trow"+marca+"_"+contador+"k_v1";
     tr_vacia_2.bgColor ="#F9F5F5";
     tr_vacia_2.appendChild(td_m11);
     /****************************/
     
     /************ Eventos para combos *********/
      llenar_combo(List_tipo,List_tipo.id,List_nombre.id,'tipo_insumo_id','tipo_insumo_str_nombre','cat_tipo_insumos','WHERE tipo_insumo_id < 4');       
      llenar_combo(List_marca,List_marca.id,1,'marca_id','marca_str_nombre','cat_marcas','WHERE marca_id != 1');
      llenar_combo(List_modelo,List_modelo.id,1,'modelo_id','modelo_str_nombre','cat_modelos','');
     /******************************************/

     /************ Eventos para borones ********/
      Btn_Borrar.setAttribute("onclick","borrar_elementos2('1','trow"+marca+"_"+contador+"k_','"+caja+"','"+caja2+"');tomar_partidas('entidades','intNumpartidas')");
     /******************************************/
     
     /**************caja de unidades*************/
      caja_unidad.setAttribute("onkeypress","return Solo_Numeros(event)");
     /*******************************************/
     
    /***** armado total de partidas *****/
     contenedor.appendChild(tr_titulo_nvl1);
     contenedor.appendChild(tr_master_nvl1);
     contenedor.appendChild(tr_vacia_1);
     contenedor.appendChild(tr_titulo_nvl2);
     contenedor.appendChild(tr_master_nvl2);
     contenedor.appendChild(tr_vacia_2);
    /***** armado total de partidas *****/ 
}
  
//permitira borrar los elementos de la fatura en el caso de que no se contenga ningun
//documento
function borrar_elementos3(val,ide_generic,contador)
{ 
  num = document.getElementById(contador).value;
  if(val > 0)
  {
    //las veces que se repite el borrado
    for(a = 1 ; a <= val ; a ++)
    {
      for(b = 0 ; b <= 1 ; b++)
      {
        for(c = 0 ; c <= num ; c++)
        {
          if(document.getElementById(ide_generic+c+"_t"+b))
          {
            hijo_t = document.getElementById(ide_generic+c+"_t"+b);
            padre_t = hijo_t.parentNode;
            padre_t.removeChild(hijo_t);
            
            hijo_m = document.getElementById(ide_generic+c+"_m"+b);
            padre_m = hijo_m.parentNode;
            padre_m.removeChild(hijo_m);
            
            hijo_v = document.getElementById(ide_generic+c+"_v"+b);
            padre_v = hijo_v.parentNode;
            padre_v.removeChild(hijo_v);
            
            if(document.getElementById(ide_generic+c+"_b"+b))
            {
              hijo_b = document.getElementById(ide_generic+c+"_b"+b);
              padre_b = hijo_b.parentNode;
              padre_b.removeChild(hijo_b);
            }
           } 
          }
        }
      }
    }
    parent.calcHeight('3','contenido','contenido','detalle');
  }


/*Borra un rango de elementos*/
function borrar_elementos2(val,ide_generic,valor,valor2)
{ 
  var respuesta =confirm("Desea eliminar la partida?");
  if (respuesta==true)
  {
    for(a = 0 ; a <= val ; a++)
    {
      /*** Para remover los titulos ***/
      hijo_t = document.getElementById(ide_generic+"t"+a);
      padre_t = hijo_t.parentNode;
      /********************************/
      
      /*** Para remover los campos ***/
      hijo_m = document.getElementById(ide_generic+"m"+a);
      padre_m = hijo_m.parentNode;
      /********************************/
  
      /*** Para remover los espacios ***/
      hijo_v = document.getElementById(ide_generic+"v"+a);
      padre_v = hijo_v.parentNode;
      /********************************/
      
      /*** Para remover los componente ***/
      if(document.getElementById(ide_generic+"b"+a))
      {
        hijo_b = document.getElementById(ide_generic+"b"+a);    
        padre_b = hijo_v.parentNode;   
        padre_b.removeChild(hijo_b); 
      }
      /**********************************/

      padre_t.removeChild(hijo_t);
      padre_v.removeChild(hijo_v);
      padre_m.removeChild(hijo_m);
    }
    //recalculo el ancho del fromulario
    parent.calcHeight('3','contenido','contenido','detalle');
    
    //conforme reducen las partidas el nuemro de kits disminuye
    document.getElementById(valor).value-=1;
    if(document.getElementById(valor).value == 0)
    {
      document.getElementById(valor).value = "";
      document.getElementById(valor2).value = "0";
      campo_requerido(valor);
    }    
  }
}
//colocara como requerido un campo que se nesesario
function campo_requerido(ide)
{
 
  kit1 = document.getElementById(ide).value; 

  if(kit1 == '0')
    {document.getElementById(ide).value ='';}

  if(kit1 > 0)
    {document.getElementById(ide).className="TdCampoRequerido";}

  else
    {document.getElementById(ide).className="aTxtCampo";} 
}

function elementos(formulario)
{ 
  var cadena_validar = "";
  var pos = 1;
  var msg ='';
  for(i= 0 ; i < formulario.elements.length ; i++)
  {
     //solo tomo los elementos tipo text
     if(formulario.elements[i].type == "text" || formulario.elements[i].options)
     { 
	     //generar exclucion 
	     ide = formulario.elements[i].id;
       stilo = document.getElementById(ide).className; 
       
       if(stilo.indexOf('TdCampoRequerido') != -1)
       {
        if(ide.indexOf('DOC_') != -1 || ide.indexOf('SI_') != -1)
        {
          //alert(ide);
          //identifico si es unida,kit,pàrtida kit, unidad kit
          if(ide.indexOf('str_clasifica') != -1)
          {msg = "Nombre";}
          if(ide.indexOf('Marca') != -1)
          {msg = "Marca";}
          if(ide.indexOf('IntUni') != -1)
          {msg = "Unidades";}
          if(ide.indexOf('intKits') != -1)
          {msg = "Componente"}
          if(ide.indexOf('str_tipo') != -1)
          {msg = "Tipo";}
          if(ide.indexOf('IntPrKt') != -1)
          {msg = "Partidas";}
          if(ide.indexOf('str_Modelo') != -1)
          {msg = "Modelo";}
          
          cadena_validar = cadena_validar+"'"+ide+"','"+msg+"','R',";
        }
       }
     }
  }
    var cadena_completa ="'intNum_Factura','Num.Factura','R','strIngreso','Ingreso','R','strIngreo','Ingreso','R','entidades','Doc. Referencia','R','strProvedor','Proveedor','R','datFecha','Fecha EmisiÃ³n','R','datFecha_lib','Fecha LiberaciÃ³n','R','intNumpartidas','Num.Partidas:','R',"+cadena_validar+"'mytotal','Subtotal','R','intIva','Iva','R'";
     //alert(cadena_completa); 
    formulario.setAttribute("onsubmit","MM_validateForm("+cadena_completa+");return document.MM_returnValue");
}

//Funcion que permite crear y/o eliminar objetos HTML de cualquier tipo de forma dinamica
//Eje d' ejecucion: elemento_HTML('add','elementos',elemento,prefijo+i,prefijo+i);
function elemento_HTML(accion,padre,elemento,nombre,id){
	
	switch (accion)
	{
		case "add":
		   elemento=document.createElement(elemento);
		   padre=document.getElementById(padre);
		   if(nombre!='')elemento.name=nombre;
		   if(id!='')elemento.id=id;
		   //elemento.innerHTML="<td>X</td>";
		   padre.appendChild(elemento);
		break;
		
		case "del":
		   elemento=document.getElementById(id);
		   padre=elemento.parentNode;
		   padre.removeChild(elemento);
		break;
	}
}
//Funcion que permite crear 'n' objetos en serie
//ej d' ejecucion: elementos_set(this.id,'tr','tr_')
function elementos_set(campo,elemento,prefijo){
	var cnt=1;
	while(document.getElementById(prefijo+cnt))cnt++;
	document.getElementById(campo).value=cnt;
	if(cnt>=1) document.getElementById('menos1').style.display='inline';
	if(cnt>=2) document.getElementById('selector').style.display='inline';
	
	//Formamos la fila que necesitamos agregar
	elemento_HTML('add','elementos',elemento,prefijo+cnt,prefijo+cnt);//tr
		 
	elemento_HTML('add',prefijo+cnt,'td','tda'+cnt,'tda'+cnt);//td
	elemento_HTML('add','tda'+cnt,'a','aa'+cnt,'aa'+cnt);//a
	a=document.getElementById('aa'+cnt);
	a.className="aTxtCampo";
	a.innerHTML=" - Nombre del elemento "+cnt+":";
	 
	elemento_HTML('add',prefijo+cnt,'td','tdb'+cnt,'tdb'+cnt);//td
	elemento_HTML('add','tdb'+cnt,'input','inputa'+cnt,'inputa'+cnt);//input
	inp=document.getElementById('inputa'+cnt);
	inp.className="TdCampoRequerido";
			
	elemento_HTML('add',prefijo+cnt,'td','tdc'+cnt,'tdc'+cnt);//td
	elemento_HTML('add','tdc'+cnt,'a','ab'+cnt,'ab'+cnt);//a
	a=document.getElementById('ab'+cnt);
	a.className="aTxtCampo";
	a.innerHTML=" - Clave "+cnt;
			
	elemento_HTML('add',prefijo+cnt,'td','tdd'+cnt,'tdd'+cnt);//td
	elemento_HTML('add','tdd'+cnt,'input','inputb'+cnt,'inputb'+cnt);//input
	inp=document.getElementById('inputb'+cnt);
	inp.className="TdCampoRequerido"; 
}

//Funcion que permite crear 'n' objetos en serie
//ej d' ejecucion: elementos_set('tr','tr_','1')
function elementos_asignacion(elemento,prefijo,tipo){
	var e=explorador().n;
	var cnt=1;
	while(document.getElementById(prefijo+cnt))cnt++;
	if(cnt>=1) document.getElementById('menos1').style.display='inline';
	
	//Formamos la fila que necesitamos agregar
	elemento_HTML('add','elementos',elemento,prefijo+cnt,prefijo+cnt);//tr
		 
	elemento_HTML('add',prefijo+cnt,'td','tda'+cnt,'tda'+cnt);//td
	elemento_HTML('add','tda'+cnt,'a','aa'+cnt,'aa'+cnt);//a
	a=document.getElementById('aa'+cnt);
	a.className="aTxtCampo";
	a.innerHTML="Nombre del insumo "+cnt+":";
	
	
	elemento_HTML('add',prefijo+cnt,'td','tdb'+cnt,'tdb'+cnt);//td
	elemento_HTML('add','tdb'+cnt,'select','intInsumo'+cnt,'intInsumo'+cnt);//select
	var insumo1=document.getElementById('intInsumo'+cnt);
	insumo1.className="TdCampoRequerido";
	insumo1.style.width="200px";
	
	var ajax_1 = nuevoAjax();
    ajax_1.open("POST","select_insumos.php", true);
    ajax_1.onreadystatechange = function()
    {
        if (ajax_1.readyState==1){
			elemento_HTML('add','intInsumo'+cnt,'option','','opt'+cnt);
			var opt=document.getElementById('opt'+cnt);
			opt.innerHTML="CARGANDO LISTA...";
		}
		if(ajax_1.readyState == 4)document.getElementById('tdb'+cnt).innerHTML = ajax_1.responseText;
    }
    ajax_1.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax_1.send("select="+"intInsumo"+cnt+"&columna=nombre&tipo="+tipo+"&cnt="+cnt); 
	
	
	elemento_HTML('add',prefijo+cnt,'td','tdc'+cnt,'tdc'+cnt);//td
	td=document.getElementById('tdc'+cnt);
	td.style.textAlign="right";
	elemento_HTML('add','tdc'+cnt,'a','ab'+cnt,'ab'+cnt);//a
	a=document.getElementById('ab'+cnt);
	a.className="aTxtCampo";
	a.innerHTML=" o  serie: ";
			
			
	elemento_HTML('add',prefijo+cnt,'td','tdd'+cnt,'tdd'+cnt);//td
	elemento_HTML('add','tdd'+cnt,'select','intInsumoNS'+cnt,'intInsumoNS'+cnt);//select
	var insumo2=document.getElementById('intInsumoNS'+cnt);
	insumo2.className="TdCampoRequerido";
	insumo2.style.width="200px";
	
    var ajax_2 = nuevoAjax();
	ajax_2.open("POST","select_insumos.php", true);
    ajax_2.onreadystatechange = function()
    {
        if (ajax_2.readyState==1){
			elemento_HTML('add','intInsumoNS'+cnt,'option','','optNS'+cnt);
			var optNS=document.getElementById('optNS'+cnt);
			optNS.innerHTML="CARGANDO LISTA...";
		}
		if(ajax_2.readyState == 4)document.getElementById('tdd'+cnt).innerHTML = ajax_2.responseText;
    }
    ajax_2.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax_2.send("select="+"intInsumoNS"+cnt+"&columna=ns&tipo="+tipo+"&cnt="+cnt); 
	
	
	elemento_HTML('add',prefijo+cnt,'td','tde'+cnt,'tde'+cnt);//td
	td=document.getElementById('tde'+cnt);
	td.width="30%";
	elemento_HTML('add','tde'+cnt,'a','msg'+cnt,'msg'+cnt);//a
	a=document.getElementById('msg'+cnt);
	a.className="aTxtMensajeUsuario";
	
	
	
	
	elemento_HTML('add','elementos',elemento,prefijo+'x'+cnt,prefijo+'x'+cnt);//tr

    elemento_HTML('add',prefijo+'x'+cnt,'td','tdf'+cnt,'tdf'+cnt);//td
	elemento_HTML('add','tdf'+cnt,'a','ac'+cnt,'ac'+cnt);//a
	a=document.getElementById('ac'+cnt);
	a.className="aTxtCampo";
	a.innerHTML=" Ubicacion: ";
	
	elemento_HTML('add',prefijo+'x'+cnt,'td','tdg'+cnt,'tdg'+cnt);//td
	elemento_HTML('add','tdg'+cnt,'label','','lab_a'+cnt);//label
	elemento_HTML('add','lab_a'+cnt,'select','intUbicacion'+cnt,'intUbicacion'+cnt);//select ubicacion
	var ubicacion=document.getElementById('intUbicacion'+cnt);
	ubicacion.className="TdCampoRequerido";
	ubicacion.style.width="200px";
	var ajax_3 = nuevoAjax();
	ajax_3.open("POST","select_ubicacion.php", true);
    ajax_3.onreadystatechange = function()
    {
        if (ajax_3.readyState==1){
			elemento_HTML('add','intUbicacion'+cnt,'option','','optU'+cnt);
			var optU=document.getElementById('optU'+cnt);
			optU.innerHTML="CARGANDO LISTA...";
		}
		if(ajax_3.readyState == 4)document.getElementById('lab_a'+cnt).innerHTML = ajax_3.responseText;
    }
    ajax_3.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax_3.send("select=intUbicacion"+cnt+"&cnt="+cnt); 
	
	elemento_HTML('add','tdg'+cnt,'label','','lab_b'+cnt);//label
	elemento_HTML('add','lab_b'+cnt,'input','str_Nuevo_elm'+cnt,'str_Nuevo_elm'+cnt);//input text
	var input_txt=document.getElementById('str_Nuevo_elm'+cnt);
	input_txt.type="text";
	input_txt.size=25;
	input_txt.maxlength=200;
	input_txt.className="aTxtCampo";
	input_txt.style.display="none";
	addEvent(input_txt, "keyup", function(){Solo_Mayusculas('str_Nuevo_elm'+cnt);});
	
	elemento_HTML('add','tdg'+cnt,'label','','lab_c'+cnt);//label
	elemento_HTML('add','lab_c'+cnt,'img',cnt+'BtnA',cnt+'BtnA');//img boton agregar ubicacion
	var img=document.getElementById(cnt+'BtnA');
	img.src="../../images/iconos/agregar.gif";
	img.width=15;
	img.height=15;
	img.style.display="none";
	addEvent(img, "click", function(){ nuevo_elemento('intUbicacion'+cnt,'str_Nuevo_elm'+cnt,cnt+'BtnA','1','cat_ubicaciones','ubicacion_id','ubicacion_str_nombre','informatica',' GROUP BY ubicacion_str_nombre','',''); } );
	
	elemento_HTML('add','lab_c'+cnt,'img',cnt+'BtnA2',cnt+'BtnA2');//img boton regresar ubicaciones
	var img=document.getElementById(cnt+'BtnA2');
	img.src="../../images/iconos/regresar.gif";
	img.width=15;
	img.height=15;
	img.style.display="none";
	addEvent(img, "click", function(){ nuevo_elemento("intUbicacion"+cnt,"str_Nuevo_elm"+cnt,cnt+"BtnA","2"); } );
	
	elemento_HTML('add',prefijo+'x'+cnt,'td','tdh'+cnt,'tdh'+cnt);//td
	td=document.getElementById('tdh'+cnt);
	td.style.textAlign="right";
	elemento_HTML('add','tdh'+cnt,'a','ad'+cnt,'ad'+cnt);//a
	a=document.getElementById('ad'+cnt);
	a.className="aTxtCampo";
	a.innerHTML=" Estatus: ";
	
	elemento_HTML('add',prefijo+'x'+cnt,'td','tdi'+cnt,'tdi'+cnt);//td
	elemento_HTML('add','tdi'+cnt,'label','','lab_f'+cnt);//label
	elemento_HTML('add','lab_f'+cnt,'select','intEstatus'+cnt,'intEstatus'+cnt);//select estatus
	var estatus=document.getElementById('intEstatus'+cnt);
	estatus.className="TdCampoRequerido";
	estatus.style.width="200px";
	
	var ajax_4 = nuevoAjax();
	ajax_4.open("POST","select_estatus.php", true);
    ajax_4.onreadystatechange = function()
    {
        if (ajax_4.readyState==1){
			elemento_HTML('add','intEstatus'+cnt,'option','','optE'+cnt);
			var optE=document.getElementById('optE'+cnt);
			optE.innerHTML="CARGANDO LISTA...";
		}
		if(ajax_4.readyState == 4)document.getElementById('lab_f'+cnt).innerHTML = ajax_4.responseText;
    }
    ajax_4.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax_4.send("select=intEstatus"+cnt+"&cnt="+cnt); 
	
	elemento_HTML('add','tdi'+cnt,'label','','lab_d'+cnt);//label
	elemento_HTML('add','lab_d'+cnt,'input','str_Nuevo_elm_b'+cnt,'str_Nuevo_elm_b'+cnt);//input text
	var input_txt=document.getElementById('str_Nuevo_elm_b'+cnt);
	input_txt.type="text";
	input_txt.size=25;
	input_txt.maxlength=200;
	input_txt.className="aTxtCampo";
	input_txt.style.display="none";
	addEvent(input_txt, "keyup", function(){Solo_Mayusculas('str_Nuevo_elm_b'+cnt);});
	
	elemento_HTML('add','tdi'+cnt,'label','','lab_e'+cnt);//label
	elemento_HTML('add','lab_e'+cnt,'img',cnt+'BtnB',cnt+'BtnB');//img boton agregar
	var img=document.getElementById(cnt+'BtnB');
	img.src="../../images/iconos/agregar.gif";
	img.width=15;
	img.height=15;
	img.style.display="none";
	addEvent(img, "click", function(){ nuevo_elemento('intEstatus'+cnt,'str_Nuevo_elm_b'+cnt,cnt+'BtnB','1','cat_status','status_id','status_str_nombre','informatica','  GROUP BY status_id','',''); } );
	
	elemento_HTML('add','lab_e'+cnt,'img',cnt+'BtnB2',cnt+'BtnB2');//img boton regresar
	var img=document.getElementById(cnt+'BtnB2');
	img.src="../../images/iconos/regresar.gif";
	img.width=15;
	img.height=15;
	img.style.display="none";
	addEvent(img, "click", function(){ nuevo_elemento("intEstatus"+cnt,"str_Nuevo_elm_b"+cnt,cnt+"BtnB","2"); } );
	
	
	elemento_HTML('add',prefijo+'x'+cnt,'td','tdj'+cnt,'tdj'+cnt);//td
	if(e.indexOf('Microsoft Internet Explorer')!=-1){
		in_type='<input type=button>';
	}else{
		in_type='input';
	}
	elemento_HTML('add','tdj'+cnt,in_type,'','btn_del_asigna'+cnt);//input type button
	var btn_del_asig=document.getElementById('btn_del_asigna'+cnt);
	if(e.indexOf('Microsoft Internet Explorer')==-1) btn_del_asig.type="button";
	btn_del_asig.className="boton";
	btn_del_asig.value="Desasignar";
	
}


function addEvent( obj, type, fn ) {
  if ( obj.attachEvent ) {
    obj['e'+type+fn] = fn;
    obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
    obj.attachEvent( 'on'+type, obj[type+fn] );
  } else
    obj.addEventListener( type, fn, false );
}
function removeEvent( obj, type, fn ) {
  if ( obj.detachEvent ) {
    obj.detachEvent( 'on'+type, obj[type+fn] );
    obj[type+fn] = null;
  } else
    obj.removeEventListener( type, fn, false );
}

function stopEvent(ev) {
	ev || (ev = window.event);
	if (Calendar.is_ie) {
		ev.cancelBubble = true;
		ev.returnValue = false;
	} else {
		ev.preventDefault();
		ev.stopPropagation();
	}
	return false;
}


//Funcion que elimina una serie de objetos HTML q' su id inician por el prefijo señalado
function del_last_element(campo,prefijo){
	var cnt=1;
	while(document.getElementById(prefijo+cnt))cnt++;
	if(cnt>1){
		if(campo!='')document.getElementById(campo).value=(document.getElementById(campo).value-1);
		elemento_HTML('del','','','',prefijo+(cnt-1));
	}
	if((cnt-1)<=1) document.getElementById('menos1').style.display='none';
	if(document.getElementById('selector')){
	    if((cnt-1)<=2) document.getElementById('selector').style.display='none';
	}
}
//Funcion que permite copiar el contenido de un campo al dar click en un checkbox
//Eje ejecucion: copiar_campos(this,'intElementos','inputb1','inputb')
function copiar_campos(selector,numerador,origen,prefijo){
	var num_e=document.getElementById(numerador);
	var elementos=num_e.value;
	var campo_o=document.getElementById(origen);
	if(selector.checked && campo_o.value!=''){
	    for(i=2;i<=elementos;i++){
			  var campo_d=document.getElementById(prefijo+i);
			  campo_d.value=campo_o.value;
	    }
	}else if(!selector.checked && campo_o.value!=''){
		for(i=2;i<=elementos;i++){
			  var campo_d=document.getElementById(prefijo+i);
			  campo_d.value="";
	    }
	}
}
//Funcion que permite copiar el contenido de un campo generico al dar click en un checkbox
//Eje ejecucion: copiar_campos_gen(this,'origen','intPws_Intranet','intPws_Chat')
function copiar_campos_gen(){
	var args=copiar_campos_gen.arguments;
	var selector=args[0];
	var origen=args[1];
	var campo_o=document.getElementById(origen);
	var elementos=args.length;
	//alert(elementos);
	if(selector.checked && campo_o.value!=''){
	    for(i=2;i<=elementos;i++){
			  var campo_d=document.getElementById(args[i]);
			  campo_d.value=campo_o.value;
	    }
	}else if(!selector.checked && campo_o.value!=''){
		for(i=2;i<=elementos;i++){
			  var campo_d=document.getElementById(args[i]);
			  campo_d.value="";
	    }
	}
		 
}

function modifica_status_objeto(){
	 var args=modifica_status_objeto.arguments;
	 for (i=0; i<args.length;i+=3){ 
		 //Objeto alque se aplicara la accion
	     obj=document.getElementById(args[i]);
		 switch(args[i+2]){//Accion a ejecutar
			 case 'habilitar':
			 //Verificamos su estatus actual
			 if(obj.disabled)//true
			 {
				 obj.disabled=false;
			 }else{//false
				 obj.disabled=true;
			 }
			 break;
			 
			 case 'limpiar':
			 obj.value='';
			 
			 case 'valor':
			 obj.value=args[i+1];
			 
			 case 'fecha':
			 if(args[i+1]!=''){
			     obj2=document.getElementById(args[i+1]);
			     //alert(obj2.value);
			     if(obj2.value==0 || obj2.value==''){
				     obj.value='0000-00-00';
			     }else{
				     obj.value='';
			     }
			 }
		 }
     }
}

/*********************************************************************/
/*********************************************************************/

function clasificacion(tipo,columna,clase)
{
  //en el caso de que sea un software
  if(tipo == 2)
  {
    cambio = false;
    valor = "";
    document.getElementById("SI_IntLic"+columna).removeAttribute("readonly"  , false);
    document.getElementById("SI_IntMedia"+columna).removeAttribute("readonly"  , false);
  }
  else
  {
    cambio = true;
    valor = "N/A";
    document.getElementById("SI_IntLic"+columna).setAttribute("readonly" , "readonly" , false);
    document.getElementById("SI_IntMedia"+columna).setAttribute("readonly" , "readonly" , false);
      document.getElementById("SI_IntLic"+columna).disabled = false;
    document.getElementById("SI_IntMedia"+columna).disabled = false;
  }
  
  //al seleccionar un tipo
  if(tipo != "")
  {
    cambio2 = false;
    factura_select(tipo,clase);
  }
  
  else
  {cambio2 = true;}
  
  //esto pertenece al software

  document.getElementById("SI_IntMedia"+columna).value = valor;
  document.getElementById("SI_IntMediar"+columna).disabled = cambio;
  document.getElementById("SI_IntMediar"+columna).checked = false;
  
 
  document.getElementById("SI_IntLic"+columna).value = valor;
  document.getElementById("SI_IntLicr"+columna).disabled = cambio;
  document.getElementById("SI_IntLicr"+columna).checked = false;
}

function lectura(caja,check)
{
  if(document.getElementById(check).checked == true)
  {
    document.getElementById(caja).disabled = true;
    document.getElementById(caja).value="0";
  }
  else
  {
    document.getElementById(caja).disabled = false;
    document.getElementById(caja).value="";
  }
}
function pasar_valor(select,caja)
{ 
  val_select = document.getElementById(select).value;
  if(val_select == 'nuevo')
  {
    valor1 = ''; 
    oculta_muestra_objetos(caja,'mostrar','img_'+caja,'mostrar',select,'ocultar');
  }
  
  else
  {
    valor1 = val_select; 
    oculta_muestra_objetos(caja,'ocultar','img_'+caja,'ocultar',select,'mostrar');
  }
  
  document.getElementById(caja).value = valor1;
  
}


function ocultar1(tabla,chk,img)
{
  if(document.getElementById(tabla))
  {
    oculta = document.getElementById(chk).value;
    if(oculta == 1)
    {
      mostrar ="table-row";
      imagen = "../../images/iconos/arriba.png";
      marca = 2;
    }

    if(oculta == 2)
    {
      mostrar ="none";
      imagen = "../../images/iconos/abajo.png";
      marca = 1;
    }
  
     document.getElementById(tabla).style.display = mostrar; 
     document.getElementById(img).src = imagen;
     document.getElementById(chk).value = marca;
  }
}


function tomar_partidas_doc(select,caja)
{
  //elementos que determian las partidas 
   val_caja = document.getElementById(caja).value;
   val_select = document.getElementById(select).value;
  
  //corto la cadena para tomar solo mis partidas
  var longitud = val_select.length;
  
  var tomar = val_select.indexOf("-");
  var partida = val_select.substring(tomar+1);
  var doc_ide = val_select.substring(0,tomar);
  document.getElementById(select+"2").value = doc_ide;

  if(val_select == "")
  {
    msg = "Seleccione un Documento...";
    stilo ="aTxtErrorTit";
  }
    
  //si se selecciono un documento 
  else
  {
    //conforme se capture muestro las partidas de las que se disponen
    if(val_caja != "")
    
    {total = parseInt(partida) - parseInt(val_caja);}
    else
    {total = parseInt(partida);}
      
    //en el caso de que se asignen todas las partidas
    if(total == 0)
    {
      msg = "Todas las partidas asignadas ...";
	    stilo = "aTxtMensajeUsuario";
    }

    //encaso contrario
    else
    {
      //muestro el mensaje donde se indica el numero de partidas de las que dispone el documento
      msg = "Solo se disponen de "+total+" partida/s ...";
      stilo = "aTxtMensajeUsuario";
    }
         
    //si las partidas que se asignan son mayores a las disponibles marco un error
    if(parseInt(partida) < parseInt(val_caja))
    {
      msg ="No se pueden asignar mas de "+partida+" ..."; 
      stilo = "aTxtErrorTit";
      document.getElementById(caja).value="";
    }

    //indico que las partidas que se asignan no sean <= 0
    if(parseInt(val_caja) <= 0 )
    {
      msg="No se puede asignar un valor <= 0 ...";
      stilo="aTxtErrorTit";
      document.getElementById(caja).value="";
    }
  }
    
  //armo el mensaje  
  document.getElementById('mensaje').innerHTML="<b><a class='"+stilo+"'>"+msg+"</a></b>";
}

function no_cero(caja)
{
  toma = document.getElementById(caja).value;
  if(toma <= '0')
  {
    msg = "No se puede introducir valores <= 0 ...";
    stilo = "aTxtErrorTit";
    document.getElementById(caja).value="";
  }
  else
  {
    msg ="Asignaci&oacute;n correcta";
    stilo = "aTxtMensajeUsuario";
  }  
  document.getElementById('mensaje').innerHTML="<b><a class='"+stilo+"'>"+msg+"</a></b>";
}

function poner_serie (opcion,formulario,ref)
{  //alert("=> "+opcion+" => "+formulario+" =>"+ref);
  //recorro el formulario en busca de los elementos
  
  if(opcion == 2)
  {
    var respuesta =confirm("Desea eliminar los No Serie propuestos ?");
    if (respuesta==true)
    {opcion = 3;}
    else
    {opcion = 0;}
  }
  
  for(i = 0 ; i < formulario.elements.length ; i++)
  {
    ide = formulario.elements[i].id;
    
    //tomo el ide insumos
    if(ide.indexOf("Str_serieid") != -1)
      { var valor = document.getElementById(ide).value;}
    //tomo el nombre insumo
    if(ide.indexOf("Str_nombre") != -1)
      {nombre =  document.getElementById(ide).value.substr(0,3);}
    //tomo el numero de serie
     //alert(nombre+"@"+valor);
      
    if(ide.indexOf("Str_serie") != -1)
    {
        //si la opcion es 1 coloco el nuemro de serie solo en los campos vacios
        if(opcion == 1 && document.getElementById(ide).value == "")
        {document.getElementById(ide).value = nombre+"@"+valor;}

        //en el caso de que se 2 borro los N serie colocados
        if(opcion == 3 && document.getElementById(ide).value.indexOf("@") != -1)
        {document.getElementById(ide).value = "";}
    }
  }
}

function replica_contenido(opcion,formulario,ref)
{ 
  var contador = 0;
  var pos = 0;
  var texto = '';
  var ides = new Array();
  
  //recorro el arrglo
  for(i= 0 ; i < formulario.elements.length ; i++)
  {
    ide = formulario.elements[i].id;
    //busco al descripcion insumo
    if(ide.indexOf("Strdescripcion"+ref) != -1)
    {
      //tomo el texto que contenga dicho formualrio
      valor = document.getElementById(ide).value;
      //de esta manera solo tomare la primera descripcion
      if(valor != '' && contador == 0)
      {  
        texto = valor;
        contador = 1;
        ides[pos] = ide;
        pos++;
        alert(opcion);
      }
       //lleno un arreglo con los ides nesesarios
       //solo setomaran los ides que se encontraban vacios y el primero del que se tomo la deacripcion
        tamano = valor.length;
        tamano = parseInt(tamano) - 1;
        tomar = valor.substr(tamano,1);
        if(valor == '' || tomar == '.')
        {
          ides[pos] = ide;
          pos++;
        }
    }
  }
  
  //compruebo que exista un valor 
  if(opcion != '')
  {
  var texto2;
  if( contador == 1 )
  {
    for(a = 0 ; a < pos ; a++)
    {
      if(opcion == 1)
      {texto2 = texto+'.';}
      
      if(opcion == 2)
      {texto2 = '';}
      document.getElementById(ides[a]).value = texto2;   
    }
  }
  else
  {
    alert("Capture una Descripci\u00f3n ...");
  }
 }
}
/*********************************************************/
function habilitar(formulario,marca)
{
  //alert(formulario);
  for(i = 0 ; i< formulario.elements.length ; i++)
  {
    //obtengo todos los elementos del formulario
    var ide = formulario.elements[i].id;
    if(ide.indexOf(marca) != -1)
    {
      //busco los balores que me interesan
      if(ide.indexOf("Str_nombre") != -1)
      {
        lee_atributos(ide,'readOnly');
      }

      if(ide.indexOf("dsc_describe") != -1)
      {
        lee_atributos(ide,'readOnly');
      }
      
      if(ide.indexOf("NO_Str_marca") != -1)
      {
        extra(ide,document.getElementById(ide).disabled);
      }
      
      if(ide.indexOf("NO_Str_modelo") != -1)
      {
        extra(ide,document.getElementById(ide).disabled);
      }
    }
  } 
}

function lee_atributos(ide,atributo)
{
  var val = 0; 

  for(c = 0 ; c < document.getElementById(ide).attributes.length; c++)
  {
    atributo_1 = document.getElementById(ide).attributes[c].name;
    atributo_1 =  atributo_1.toLowerCase();
    atributo =  atributo.toLowerCase();    
    if(atributo_1.indexOf(atributo) != -1)
    {val = 1;}
  }
  if(val == 1)
  {document.getElementById(ide).removeAttribute(atributo,false);}
  else
  {document.getElementById(ide).setAttribute(atributo,atributo,false);}
}

function extra(ide,valor)
{
  if(valor == false)
  {
    document.getElementById(ide).disabled = true;
  } 
  
  else
  {
    document.getElementById(ide).disabled = false;
  }
}


function pasar_valor2(select,caja)
{ 
  val_select = document.getElementById(select).value;
  document.getElementById(caja).value = val_select;
}


function numero_serie2(val1,val2,val3)
{
  var valor = document.getElementById(val1).value;
  var nombre = document.getElementById(val2).value;
  var serie = document.getElementById(val3).value;

  //alert(" -> "+valor + " => "+nombre+" => "+serie);  
  if(serie == "")
  {
    //solo tomar el numero de serie
    var corte = nombre.substr(0,3);
    document.getElementById(val3).value=corte+"@"+valor;
    document.getElementById(val3).select;
  }
}

function ant_sig(ide_generico,total,opc,inicial,tipo)
{
  
   //alert("ide"+ide_generico+"->"+total+"->"+opc+"->"+inicial+"->"+tipo);
  //tomo los valor del contador
  var contador = document.getElementById(inicial+"2").value;
  var valor =0;
  var valor2;
  switch(opc)
  {
    //caso 1 restaran valores
    case 1:
      valor = parseInt(contador) - 1; 
      valor2= contador; 
    break;
    //caso 2 se sumaran los valres
    case 2:
      valor = parseInt(contador) + 1;
      valor2= contador;
    break;
    //se realizara un movimiento al inicio
    case 3:
      valor = 1;
      valor2= contador;
    break;
    //serealizara un movienta al final
    case 4:
      valor = total;
      valor2= contador;
    break;
  }
  
  if(valor < 1)
  {valor = 1;}
  if(valor > total)
  {valor = total;}
  
  //identifico el tipo de elemento 
  if(tipo == 1)
  {muestra = "table-row";}
  else
  {
    muestra = "inline";
    document.getElementById("B"+ide_generico+valor2).style.display ="none";
    document.getElementById("B"+ide_generico+valor).style.display =muestra;
 
  }
  
  
  //altermino del proceso se mostrara los resultados
  document.getElementById(inicial).innerHTML = valor;
  document.getElementById(inicial+"2").value =valor;
  
  document.getElementById(ide_generico+valor2).style.display ="none";
  document.getElementById(ide_generico+valor).style.display =muestra;
}


//funcion para bloquear teclas en ie y fire fox
function no_retroceso(ev,tecla)
{  
  if(ev == tecla)
  {
   return false; 
  }
}

function arriba_abajo(id_btn_arriba,id_btn_abajo,id_btn_mas,id_btn_menos,accion,cuerpo){
	switch (accion){
		case 'arriba':
		oculta_muestra_objetos(cuerpo,'ocultar');
		oculta_muestra_objetos(id_btn_arriba,'ocultar');
		oculta_muestra_objetos(id_btn_abajo,'mostrar');
		break;
		case 'abajo':
		oculta_muestra_objetos(cuerpo,'mostrar');
		oculta_muestra_objetos(id_btn_arriba,'mostrar');
		oculta_muestra_objetos(id_btn_abajo,'ocultar');
		break;
	}
	
}


function asignar(id_insumo,id_insumoNS,tipo,id_maquina,trUE,U,E,id_msg,id_btn_asg,id_btn_del){
  
  var msg=document.getElementById(id_msg);
	var insumo=document.getElementById(id_insumo);
  var insumoNS = document.getElementById(id_insumoNS);
	var v_inicial=document.getElementById('hidden_'+id_insumo);
  var ubicacion=document.getElementById(U);
	var estatus=document.getElementById(E);
  var str = id_insumo;
  var newstr=str.replace(/intInsumo/i, "intInsumoMA");
  var comp = '0';
  var ajax = nuevoAjax();
  
    ajax.open("POST","asignacion_agregar_processor.php", true);
    ajax.onreadystatechange = function()
    {
        if(ajax.readyState==1){
		   msg.innerHTML="Asignando el insumo...";
		}
		if(ajax.readyState==4){
		   if(ajax.responseText==1){
			    v_inicial.value='';
		        oculta_muestra_objetos(trUE,'ocultar');
				oculta_muestra_objetos(id_btn_asg,'ocultar');
				oculta_muestra_objetos(id_btn_del,'mostrar');
				refrescar("asignaciones_listar.php");
				msg.innerHTML = "La asignaci\u00f3n se realizo con exito";
		   }else{
			    msg.innerHTML = ajax.responseText;
		   }
		}
	}
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	if(v_inicial.value=='x'){
		  //si es sw 
      if(tipo == 2)
      {comp =document.getElementById(newstr).value;}
      else
      {comp = 0;}
      
    ajax.send("intInsumo="+insumoNS.value+"&intMaquina="+id_maquina+"&v_inicial="+v_inicial.value+"&intTipo="+tipo+"&componente="+comp);
	}else{
		if(ubicacion.value=='' || estatus.value==''){
		   alert("Ingrese la ubicacion y estatus del insumo anterior");
		   oculta_muestra_objetos(trUE,'mostrar');
		}else{
			ajax.send("intInsumo="+insumo.value+"&intMaquina="+id_maquina+"&ubicacion="+ubicacion.value+"&estatus="+estatus.value+"&v_inicial="+v_inicial.value+"&intTipo="+tipo);
    }
	}
	
	
}

//liberar(".$insumo.",".$row['maquina_id'].",\"".$id_msg."\",\"".$btn_asignar."\")
function liberar(insumo,id_maquina,id_msg,id_btn_asg){
	var msg=document.getElementById(id_msg);
	var ajax = nuevoAjax();
    ajax.open("POST","liberar_insumo.php", true);
    ajax.onreadystatechange = function()
    {
        if(ajax.readyState==1){
			 msg.innerHTML="Liberando el insumo...";
		}
		if(ajax.readyState==4){
			if(ajax.responseText==1){
			    oculta_muestra_objetos(id_btn_asg,'mostrar');
				msg.innerHTML = "El insumo esta disponible para su reasignaci\u00f3n...";
			}else{
			    msg.innerHTML = "Ocurrio un error al realizar la desasignaci\u00f3n del insumo\n"+ajax.responseText;
			}
		}
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send("insumo="+insumo+"&maquina="+id_maquina);
}


function eliminar_asignaion(campo_insumo,tipo,id_maquina,trUE,U,E,id_msg,trIns){
 
  var msg=document.getElementById(id_msg);
  var valor_inicial=document.getElementById("hidden_"+campo_insumo);
  var insumo=document.getElementById(campo_insumo);
  var UE=document.getElementById(trUE);
  var Ubicacion=document.getElementById(U);
  var Estatus=document.getElementById(E);

  if(tipo!=2)
  {
    if(UE.style.display=='')
    {
      if(Ubicacion.value=='' || Estatus.value=='')
      {
        alert("Seleccione una Ubicaci\u00f3n y Estatus para el insumo anterior");
        UE.style.display='';
      }
      else
      {
        var ajax = nuevoAjax();
        ajax.open("POST","liberar_insumo.php", true);
        ajax.onreadystatechange = function()
        {
          if(ajax.readyState==1)
          {
            msg.innerHTML="Liberando el insumo...";
          }
          if(ajax.readyState==4)
          {
            if(ajax.responseText==1)
            {
              oculta_muestra_objetos(trIns,'ocultar');
              oculta_muestra_objetos(trIns+"_M",'ocultar');
              oculta_muestra_objetos(trUE,'ocultar');
              refrescar("asignaciones_listar.php");
              msg.innerHTML = "La asignaci\u00f3n se elimino con exito";
            }
            else
            {
              msg.innerHTML = "Ocurrio un error al realizar la desasignaci\u00f3n del insumo\n"+ajax.responseText;
            }
          }
        }
        ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        ajax.send("insumo="+insumo.value+"&maquina="+id_maquina+"&ubicacion="+Ubicacion.value+"&estatus="+Estatus.value); 
      }
    }
    else
    {
      var respuesta=confirm("Desea eliminar la asignaci\u00f3n?");
      if (respuesta==true)
      {
        alert("Seleccione una Ubicaci\u00f3n y Estatus para el insumo desasignado");
        UE.style.display=''; 
      }
    }
  }
  else
  {
    var respuesta=confirm("Desea eliminar la asignaci\u00f3n?");
    if (respuesta==true)
    {
      var ajax = nuevoAjax();
      ajax.open("POST","liberar_insumo.php", true);
      ajax.onreadystatechange = function()
      {
        if(ajax.readyState==1)
        {
          msg.innerHTML="Liberando el insumo...";
        }
        if(ajax.readyState==4)
        {
          if(ajax.responseText==1)
          {
            msg.innerHTML = "La asignaci\u00f3n se elimino con exito";
            oculta_muestra_objetos(trIns,'ocultar');
          	 oculta_muestra_objetos(trIns+"_M",'ocultar');
            oculta_muestra_objetos(trUE,'ocultar');
            refrescar("asignaciones_listar.php");
          }
          else
          {
            msg.innerHTML = "Ocurrio un error al realizar la desasignaci\u00f3n del insumo\n"+ajax.responseText;
          }
        }
      }
        ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
        ajax.send("insumo="+insumo.value+"&maquina="+id_maquina+"&ubicacion="+Ubicacion.value+"&estatus="+Estatus.value+"&tipo=2");
    }
  }	
}

function agregar_fila_asignacion(elemento,prefijo,tipo,id_maquina){
	var e=explorador().n;
	var color,cnt=1;


	  while(document.getElementById(prefijo+'Ins'+tipo+'_'+cnt)){//Nombre del tr ej:tr_Ins1_1
		var ultimo_elemento=document.getElementById(prefijo+'Ins'+tipo+'_'+cnt);
		color=ultimo_elemento.className;
		cnt++;
	}
	
	var tr_cuerpo=document.getElementById('cuerpo'+tipo);
	tr_cuerpo.style.display='';
	var btn_arriba=document.getElementById('btn_arriba'+tipo);
	btn_arriba.style.display='';
	var btn_abajo=document.getElementById('btn_abajo'+tipo);
	btn_abajo.style.display='none';
	
	var tr_insumo  = prefijo+'Ins'+tipo+'_'+cnt;
  var tr_insumo2 = prefijo+'Ins'+tipo+'_'+cnt+'_M';
	var tr_mensaje=prefijo+'msg'+tipo+'_'+cnt;
	var tr_UE=prefijo+'UE'+tipo+'_'+cnt;
	var n=tipo+'_'+cnt;
	
	//if(cnt>=1) document.getElementById('menos1').style.display='inline';
	
	//*** Formamos las dos filas tr que necesitamos agregar ***
	
	//*** Inicia TR1 Insumos ***
	// Ej: elemento_HTML(accion,padre,elemento,nombre,id)

    if(tipo != 2)
    {
      elemento_HTML('add','elementos'+tipo,elemento,tr_insumo2,tr_insumo2);//tr2  
      elemento_HTML('add','elementos'+tipo,elemento,tr_insumo,tr_insumo);//tr
      var texto1 = "Marca :"; 
      var texto2 = "Modelo :";
    }
    else
    {
      elemento_HTML('add','elementos'+tipo,elemento,tr_insumo,tr_insumo);//tr
      elemento_HTML('add','elementos'+tipo,elemento,tr_insumo2,tr_insumo2);//tr2  
      var texto1 = "Componente :"; 
      var texto2 = "Clave :";    
    }	
  tr=document.getElementById(tr_insumo);
  tr2 = document.getElementById(tr_insumo2);
	if(color=='TrFondoCeldaGris'){
		tr.className='TrFondoCeldaAzul';
	}else{
		tr.className='TrFondoCeldaGris';
	}
	
  /* Armado de los componenetes que nesesito */
  
  elemento_HTML('add',tr_insumo2,'td','tda2'+n,'tda2'+n);//tda
	td=document.getElementById('tda2'+n);
	td.width="15%";
	elemento_HTML('add','tda2'+n,'a','aa2'+n,'aa2'+n);//aa
	a2=document.getElementById('aa2'+n);
	a2.className="aTxtCampo";
	a2.innerHTML=texto1;
  
 	elemento_HTML('add',tr_insumo2,'td','tdb2'+n,'tdb2'+n);//tdb
	td=document.getElementById('tdb2'+n);
	td.width="25%";
	elemento_HTML('add','tdb2'+n,'label','','labela2'+n);//option a
	elemento_HTML('add','labela2'+n,'select','intInsumoMA'+n,'intInsumoMA'+n);//select insumo nombre
	var insumo4=document.getElementById('intInsumoMA'+n);
	insumo4.className="TdCampoRequerido";
	insumo4.style.width="200px";
  
  var nuevaOpcion=document.createElement("option"); 
  nuevaOpcion.value=0; 
  nuevaOpcion.innerHTML="- SELECCIONE UNA OPCI&Oacute;N";
  insumo4.appendChild(nuevaOpcion);
  
  elemento_HTML('add',tr_insumo2,'td','tda3'+n,'tda3'+n);
  td = document.getElementById('tda3'+n);
  td.width ="15%";
  elemento_HTML('add','tda3'+n,'a','aa3'+n,'aa3'+n);
  a3 = document.getElementById('aa3'+n);
  a3.className = "aTxtCampo";
  a3.innerHTML = texto2;
  
 	elemento_HTML('add',tr_insumo2,'td','tdb3'+n,'tdb3'+n);//tdb
	td=document.getElementById('tdb3'+n);
	td.width="25%";
	elemento_HTML('add','tdb3'+n,'label','','labela3'+n);//option a
	elemento_HTML('add','labela3'+n,'select','intInsumoMO'+n,'intInsumoMO'+n);//select insumo nombre
	var insumo5=document.getElementById('intInsumoMO'+n);
	insumo5.className="TdCampoRequerido";
	insumo5.style.width="200px";
  var nuevaOpcion=document.createElement("option"); 
  nuevaOpcion.value=0; 
  nuevaOpcion.innerHTML="- SELECCIONE UNA OPCI&Oacute;N";
  insumo5.appendChild(nuevaOpcion);
   
  //en el caso de sw los eventos que contendran los combos seran direfentes
  if(tipo == 2)
  {
    insumo4.setAttribute("onchange","combo_index('"+insumo4.id+"','"+insumo5.id+"')");
    insumo5.setAttribute("onchange","combo_index('"+insumo5.id+"','"+insumo4.id+"')");
  }
  else
  {
    insumo4.setAttribute("onchange","filtrar('intInsumoMA"+n+"','intInsumoMO"+n+"','intInsumo"+n+"','intInsumoNS"+n+"','"+tipo+"');");
    insumo5.setAttribute("onchange","filtrar('intInsumoMA"+n+"','intInsumoMO"+n+"','intInsumo"+n+"','intInsumoNS"+n+"','"+tipo+"');");
    //filtro_combos(insumo4.id,'cat_marcas','marca_id','marca_str_nombre',insumo5.id,'cat_modelos','modelo_id','modelo_str_nombre');
    filtrado_nom_ser(insumo4.id,insumo5.id,'2');
  } 
  elemento_HTML('add',tr_insumo2,'td','tda4'+n,'tda4'+n);
  td = document.getElementById('tda4'+n);
  td.colSpan = "2";
   
  /* Termina el armado de los componentes que nesesito */

	elemento_HTML('add',tr_insumo,'td','tda'+n,'tda'+n);//tda
	td=document.getElementById('tda'+n);
	td.width="15%";
	elemento_HTML('add','tda'+n,'a','aa'+n,'aa'+n);//aa
	a=document.getElementById('aa'+n);
	a.className="aTxtCampo";
	a.innerHTML="Nombre del Insumo "+cnt+":";
	
	elemento_HTML('add',tr_insumo,'td','tdb'+n,'tdb'+n);//tdb
	td=document.getElementById('tdb'+n);
	td.width="25%";
	elemento_HTML('add','tdb'+n,'label','','labela'+n);//option a
	elemento_HTML('add','labela'+n,'select','intInsumo'+n,'intInsumo'+n);//select insumo nombre
	var insumo1=document.getElementById('intInsumo'+n);
	insumo1.className="TdCampoRequerido";
	insumo1.style.width="200px";
	var ajax_1 = nuevoAjax();
    ajax_1.open("POST","select_insumos.php", true);
    ajax_1.onreadystatechange = function()
    {
      if (ajax_1.readyState==1){
			elemento_HTML('add','intInsumo'+n,'option','','opta'+n);//option
			var opt=document.getElementById('opta'+n);
			opt.innerHTML="CARGANDO LISTA...";
		}
		if(ajax_1.readyState == 4)document.getElementById('labela'+n).innerHTML = ajax_1.responseText;
    }
    ajax_1.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax_1.send("select="+"intInsumo"+n+"&columna=nombre&tipo="+tipo+"&btn_asg=btnAsignar"+n+"&cnt="+n+"&hidden_v_ini=hidden_intInsumo"+n+"&cuerpo="+n+"&cont="+cnt); 
	
	elemento_HTML('add','tdb'+n,'label','','labelb'+n);//option b
	if(e.indexOf('Microsoft Internet Explorer')!=-1){
		//Si es IE
		elemento_HTML('add','labelb'+n,'<input type=hidden >','hidden_intInsumo'+n,'hidden_intInsumo'+n);//input type hidden
	}else{
		//Si es Fire Fox
		elemento_HTML('add','labelb'+n,'input','hidden_intInsumo'+n,'hidden_intInsumo'+n);//input type button
		var input_hidden_a=document.getElementById('hidden_intInsumo'+n);
		input_hidden_a.type="hidden";
	}
	//alert(input_hidden.id);
	
	elemento_HTML('add',tr_insumo,'td','tdc'+n,'tdc'+n);//tdc
	td=document.getElementById('tdc'+n);
	td.width="15%";
	elemento_HTML('add','tdc'+n,'a','ab'+n,'ab'+n);//ab
	a=document.getElementById('ab'+n);
	a.className="aTxtCampo";
	a.innerHTML="N\u00famero de Serie: ";
			
			
	elemento_HTML('add',tr_insumo,'td','tdd'+n,'tdd'+n);//tdd
	td=document.getElementById('tdd'+n);
	td.width="25%";
	elemento_HTML('add','tdd'+n,'label','','labelc'+n);//label c
	elemento_HTML('add','labelc'+n,'select','intInsumoNS'+n,'intInsumoNS'+n);//select insumo ns
	var insumo2=document.getElementById('intInsumoNS'+n);
	insumo2.className="TdCampoRequerido";
	insumo2.style.width="200px";
    var ajax_2 = nuevoAjax();
	  ajax_2.open("POST","select_insumos.php", true);
    ajax_2.onreadystatechange = function()
    {
        if (ajax_2.readyState==1){
			elemento_HTML('add','intInsumoNS'+n,'option','','optNS'+n);
			var optNS=document.getElementById('optNS'+n);
			optNS.innerHTML="CARGANDO LISTA...";
		}
		if(ajax_2.readyState == 4)document.getElementById('labelc'+n).innerHTML = ajax_2.responseText;
    }
    ajax_2.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	ajax_2.send("select="+"intInsumoNS"+n+"&columna=ns&tipo="+tipo+"&btn_asg=btnAsignar"+n+"&cnt="+n+"&hidden_v_ini=hidden_intInsumo"+n+"&cuerpo="+n+"&cont="+cnt);
	
	elemento_HTML('add','tdd'+n,'label','','labeld'+n);//label d
	if(e.indexOf('Microsoft Internet Explorer')!=-1){
		//Si es IE
		elemento_HTML('add','labeld'+n,'<input type=hidden >','hidden_intInsumoNS'+n,'hidden_intInsumoNS'+n);//input type hidden
	}else{
		//Si es Fire Fox
		elemento_HTML('add','labeld'+n,'input','hidden_intInsumoNS'+n,'hidden_intInsumoNS'+n);//input type hiddden
		var input_hidden_b=document.getElementById('hidden_intInsumoNS'+n);
		input_hidden_b.type="hidden";
    input_hidden_b.value="text";
	}
	
	elemento_HTML('add',tr_insumo,'td','tde'+n,'tde'+n);//tde
	td=document.getElementById('tde'+n);
	td.width="10%";
	if(e.indexOf('Microsoft Internet Explorer')!=-1){
		//Si es IE
		elemento_HTML('add','tde'+n,'<input type=button >','btnAsignar'+n,'btnAsignar'+n);//input type button asignar
	    var input_btn=document.getElementById('btnAsignar'+n);
	}else{
		//Si es Fire Fox
		elemento_HTML('add','tde'+n,'input','btnAsignar'+n,'btnAsignar'+n);//input type button asignar
		var input_btn=document.getElementById('btnAsignar'+n);
		input_btn.type="button";
	}
	input_btn.value="Asignar";
	input_btn.className="boton";
	input_btn.style.display="none";
	addEvent(input_btn, "click", function(){ asignar('intInsumo'+n,'intInsumoNS'+n,tipo,id_maquina,tr_UE,'idUAnt'+n,'idEAnt'+n,'msg'+n,'btnAsignar'+n,'btn_del'+n); } );
	
	elemento_HTML('add',tr_insumo,'td','tdf'+n,'tdf'+n);//tdf
	var td=document.getElementById('tdf'+n);
	td.align="center";
	td.width="10%";
	elemento_HTML('add','tdf'+n,'img','btn_del'+n,'btn_del'+n);//img boton eliminar
	var img=document.getElementById('btn_del'+n);
	img.src="../../images/iconos/error.gif";
	img.width=15;
	img.height=15;
	img.style.display='none';
	addEvent(img, "click", function(){ eliminar_asignaion('intInsumo'+n,tipo,id_maquina,tr_UE,'idUAnt'+n,'idEAnt'+n,'msg'+n,tr_insumo);} );

	//*** Fin TR1 Insumos ***
	
	//*** Inicia TR2 Mensajes ***
	
	elemento_HTML('add','elementos'+tipo,elemento,tr_mensaje,tr_mensaje);//tr
	tr=document.getElementById(tr_mensaje);
	if(color=='TrFondoCeldaGris'){
		tr.className='TrFondoCeldaAzul';
	}else{
		tr.className='TrFondoCeldaGris';
	}
	
	elemento_HTML('add',tr_mensaje,'td','msg'+n,'msg'+n);//td msg
	td_msg=document.getElementById('msg'+n);
	td_msg.colSpan="6";
	td_msg.className="aTxtMensajeUsuario";

	//*** Fin TR2 Mensajes ***
	
	//*** Inicia TR3 Unidad Estatus ***
	
	elemento_HTML('add','elementos'+tipo,elemento,tr_UE,tr_UE);//tr
	tr=document.getElementById(tr_UE);
	tr.style.display='none';
	if(color=='TrFondoCeldaGris'){
		tr.className='TrFondoCeldaAzul';
	}else{
		tr.className='TrFondoCeldaGris';
	}
	
	elemento_HTML('add',tr_UE,'td','tdg'+n,'tdg'+n);//tdg
    td=document.getElementById('tdg'+n);
	td.width="15%";
	elemento_HTML('add','tdg'+n,'a','ac'+n,'ac'+n);//ac
	a=document.getElementById('ac'+n);
	a.className="aTxtCampo";
	a.innerHTML="Ubicaci\u00f3n Insumo: ";
	
    elemento_HTML('add',tr_UE,'td','tdh'+n,'tdh'+n);//tdh
	
	elemento_HTML('add','tdh'+n,'label','','labele'+n);//label e
	elemento_HTML('add','labele'+n,'select','idUAnt'+n,'idUAnt'+n);//select Ubicacion
	var Ubicacion=document.getElementById('idUAnt'+n);
	Ubicacion.className="TdCampoRequerido";
	Ubicacion.style.width="200px";
    var ajax_3 = nuevoAjax();
	ajax_3.open("POST","select_ubicacion.php", true);
    ajax_3.onreadystatechange = function()
    {
        if (ajax_3.readyState==1){
			elemento_HTML('add','idUAnt'+n,'option','','optU'+n);
			var optU=document.getElementById('optU'+n);
			optU.innerHTML="CARGANDO LISTA...";
		}
		if(ajax_3.readyState == 4)document.getElementById('labele'+n).innerHTML = ajax_3.responseText;
    }
    ajax_3.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	ajax_3.send("select="+"idUAnt"+n+"&cnt="+n);
	
	elemento_HTML('add','tdh'+n,'label','','labelf'+n);//label f
	if(e.indexOf('Microsoft Internet Explorer')!=-1){
		//Si es IE
		elemento_HTML('add','labelf'+n,'<input type=text >','strUbicacion'+n,'strUbicacion'+n);//input type text ubicacion
		var input_ubicacion=document.getElementById('strUbicacion'+n);
	}else{
		//Si es Fire Fox
		elemento_HTML('add','labelf'+n,'input','strUbicacion'+n,'strUbicacion'+n);//input type text ubicacion
		var input_ubicacion=document.getElementById('strUbicacion'+n);
		input_ubicacion.type="text";
	}
	input_ubicacion.size="30";
	input_ubicacion.className="aTxtCampo";
	input_ubicacion.style.display='none';
	addEvent(input_ubicacion, "keyup", function(){ Solo_Mayusculas('strUbicacion'+n);} );
	
	
	elemento_HTML('add','tdh'+n,'label','','labelg'+n);//label g
	elemento_HTML('add','labelg'+n,'img','BtnA'+n,'BtnA'+n);//img boton BtnA
	var img_btna=document.getElementById('BtnA'+n);
	img_btna.src="../../images/iconos/agregar.gif";
	img_btna.width=15;
	img_btna.height=15;
	img_btna.style.display='none';
	addEvent(img_btna, "click", function(){ nuevo_elemento('idUAnt'+n,'strUbicacion'+n,'BtnA'+n,'1','cat_ubicaciones','ubicacion_id','ubicacion_str_nombre','informatica','ORDER BY ubicacion_str_nombre ASC','','');} );
	
	elemento_HTML('add','labelg'+n,'img','BtnA'+n+'2','BtnA'+n+'2');//img boton BtnA2
	var img_btna2=document.getElementById('BtnA'+n+'2');
	img_btna2.src="../../images/iconos/regresar.gif";
	img_btna2.width=15;
	img_btna2.height=15;
	img_btna2.style.display='none';
	addEvent(img_btna2, "click", function(){ nuevo_elemento('idUAnt'+n,'strUbicacion'+n,'BtnA'+n,'2');} );
	
	elemento_HTML('add',tr_UE,'td','tdi'+n,'tdi'+n);//tdi
    td=document.getElementById('tdi'+n);
	td.width="15%";
	elemento_HTML('add','tdi'+n,'a','ad'+n,'ad'+n);//ad
	a=document.getElementById('ad'+n);
	a.className="aTxtCampo";
	a.innerHTML="Estatus Insumo: ";
	
	elemento_HTML('add',tr_UE,'td','tdj'+n,'tdj'+n);//tdj
	var td=document.getElementById('tdj'+n);
	td.colSpan="3";
	
	elemento_HTML('add','tdj'+n,'label','','labelh'+n);//label h
	elemento_HTML('add','labelh'+n,'select','idEAnt'+n,'idEAnt'+n);//select Estatus
	var Estatus=document.getElementById('idEAnt'+n);
	Estatus.className="TdCampoRequerido";
	Estatus.style.width="200px";
    var ajax_4 = nuevoAjax();
	ajax_4.open("POST","select_estatus.php", true);
    ajax_4.onreadystatechange = function()
    {
        if (ajax_4.readyState==1){
			elemento_HTML('add','idEAnt'+n,'option','','optE'+n);
			var optE=document.getElementById('optE'+n);
			optE.innerHTML="CARGANDO LISTA...";
		}
		if(ajax_4.readyState == 4)document.getElementById('labelh'+n).innerHTML = ajax_4.responseText;
    }
    ajax_4.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	ajax_4.send("select="+"idEAnt"+n+"&cnt="+n);
	
	elemento_HTML('add','tdj'+n,'label','','labeli'+n);//label i
	if(e.indexOf('Microsoft Internet Explorer')!=-1){
		//Si es IE
		elemento_HTML('add','labeli'+n,'<input type=text >','strEstatus'+n,'strEstatus'+n);//input type text estatus
		var input_estatus=document.getElementById('strEstatus'+n);
	}else{
		//Si es Fire Fox
		elemento_HTML('add','labeli'+n,'input','strEstatus'+n,'strEstatus'+n);//input type text ubicacion
		var input_estatus=document.getElementById('strEstatus'+n);
		input_estatus.type="text";
	}
	input_estatus.size="30";
	input_estatus.className="aTxtCampo";
	input_estatus.style.display='none';
	addEvent(input_estatus, "keyup", function(){ Solo_Mayusculas('strEstatus'+n);} );
	
	elemento_HTML('add','tdj'+n,'label','','labelj'+n);//label j
	elemento_HTML('add','labelj'+n,'img','BtnB'+n,'BtnB'+n);//img boton BtnB
	var img_btnb=document.getElementById('BtnB'+n);
	img_btnb.src="../../images/iconos/agregar.gif";
	img_btnb.width=15;
	img_btnb.height=15;
	img_btnb.style.display='none';
	addEvent(img_btnb, "click", function(){ nuevo_elemento('idEAnt'+n,'strEstatus'+n,'BtnB'+n,'1','cat_status','status_id','status_str_nombre','informatica','ORDER BY status_str_nombre ASC','','');} );
	
	elemento_HTML('add','labelj'+n,'img','BtnB'+n+'2','BtnB'+n+'2');//img boton BtnA2
	var img_btnb2=document.getElementById('BtnB'+n+'2');
	img_btnb2.src="../../images/iconos/regresar.gif";
	img_btnb2.width=15;
	img_btnb2.height=15;
	img_btnb2.style.display='none';
	addEvent(img_btnb2, "click", function(){ nuevo_elemento('idEAnt'+n,'strEstatus'+n,'BtnB'+n,'2');} );
	
	//*** Fin TR2 Unidad Estatus ***
}

function asignacion_maquina(id_maquina,id_ubicacion,id_nombre_maquina,folio,id_usr_asignado,id_usr_operador,id_msg,id_prestamo){
	var msg=document.getElementById(id_msg);
	var ubicacion=document.getElementById(id_ubicacion);
	var nombre_maquina=document.getElementById(id_nombre_maquina);
	var usr_asignado=document.getElementById(id_usr_asignado);
	var usr_operador=document.getElementById(id_usr_operador);
  var str_prestamo = document.getElementById(id_prestamo);
  //Validamos campos requeridos antes de cualquier accion



	
  
  //MM_validateForm('idNombreEquipo','Nombre Clave del Equipo','R','idUbicacion','Ubicacion del Equipo','R','idUsrAsignado','Usuario Asignado','R','idUsrOperador','Usuario Operador','R');
  MM_validateForm('idNombreEquipo','Nombre Clave del Equipo','R','idUbicacion','Ubicacion del Equipo','R');  	
	if(document.MM_returnValue){
	
	
	var ajax = nuevoAjax();
	ajax.open("POST","asignacion_maquina.php", true);
    ajax.onreadystatechange = function()
    {
        if (ajax.readyState==1){
			msg.innerHTML="Salvando...";
		}
		if(ajax.readyState == 4){
			var rs=ajax.responseText;
			if(rs.indexOf('id-')!=-1){//Se trata de nueva maquina
			    msg.innerHTML = "El regitro se agrego correctamente";
				  redireccionar("","asignacion_detalle.php?id="+rs.substr(rs.lastIndexOf('-')+1));
			}else if(rs.indexOf('ERROR:')!=-1){
				msg.innerHTML = ajax.responseText;
			}else{
				msg.innerHTML = "El regitro se actualizo correctamente";
				refrescar("asignaciones_listar.php");
			}
		}
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	
	if(id_maquina!=''){//Actualizar
	   ajax.send("ubicacion="+ubicacion.value+"&id_maquina="+id_maquina+"&usr_asign="+usr_asignado.value+"&usr_op="+usr_operador.value+"&prestamo="+str_prestamo.value);
	}else{//Insertar
   folio=document.getElementById(folio).value;	
	 //ajax.send("ubicacion="+ubicacion.value+"&nombre_maquina="+nombre_maquina.value+"&folio="+folio+"&usr_asign="+usr_asignado.value+"&usr_op="+usr_operador.value+"&prestamo="+str_prestamo);
   ajax.send("ubicacion="+ubicacion.value+"&nombre_maquina="+nombre_maquina.value+"&folio="+folio+"&usr_asign="+usr_asignado.value+"&usr_op="+usr_operador.value+"&prestamo="+str_prestamo.value);
  }
	
	}
}

function prestamo(valor,maquina,cajita)
{
  
  var ide_val = valor;
  var ide_maquina = maquina;
 

	var ajax2 = nuevoAjax();
	ajax2.open("POST","prestado.php", true);
  ajax2.onreadystatechange = function()
  {
    if (ajax2.readyState==1)
    {
      
		}
    if(ajax2.readyState == 4)
    {
      //alert(valor+"---->"+ajax2.responseText);
      document.getElementById(cajita).value ="";
      document.getElementById(cajita).value = ajax2.responseText.replace("  ","");
    }
  }
  ajax2.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  ajax2.send("cadena="+ide_val+"&maquina="+ide_maquina);
}





function folio_maquina(id_maquina,campo_folio){
	var nombre_maquina=document.getElementById(id_maquina);
	var folio=document.getElementById(campo_folio);
	var hidden_folio=document.getElementById('hidden_'+campo_folio);
	if(nombre_maquina.value!='Nuevo' && nombre_maquina.value!=''){
	    //Buscamos el ultimo foli asignado a el nombre de maquina seleccionado
	    var ajax = nuevoAjax();
	    ajax.open("POST","asignacion_folio.php", true);
        ajax.onreadystatechange = function()
        {
            if (ajax.readyState==1){
			    folio.innerHTML="0000";
		    }
		    if(ajax.readyState == 4){
			    folio.innerHTML=ajax.responseText;
				hidden_folio.value=ajax.responseText;
		    }
        }
        ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	    ajax.send("nombre_id="+nombre_maquina.value);
		
	}else if(nombre_maquina.value=='Nuevo'){//Si se va a agrega uno nuevo el folio sera 0001
		folio.innerHTML="0001";
		hidden_folio.value="0001";
	}
}

function copia_val_ant(origen,obj_o,obj_c){
	var c=document.getElementById(obj_c);
	if(origen=='c'){
		o_valor=document.getElementById(obj_o).value;
	}else if(origen=='v'){
		o_valor=obj_o;
	}
	if(c.value=='')if(o_valor==''){c.value='x'}else{c.value=o_valor}
}


function filtrar(master1,master2,esclavo1,esclavo2,tipo)
{
  //identifico el tipo de navegador
  var e=explorador().n;

  //Combos que permitiran realizar el filtrado 
  master_marca = document.getElementById(master1);
  master_modelo = document.getElementById(master2);
  
  //Combos en los que se relfejara el filtrado 
  esclavo_nombre = document.getElementById(esclavo1);
  esclavo_serie  = document.getElementById(esclavo2);
 
  var strElemento = new Array();
  var strEventos = new Array();
  
  strElemento[0] = esclavo_nombre.onchange;
  strElemento[1] = esclavo_nombre.onfocus;
  strElemento[2] = esclavo_serie.onchange;
  strElemento[3] = esclavo_serie.onfocus;

  //Convierto los eventos en cadenas de texto
  for(a = 0 ; a < 4 ; a ++)
  {
 	  var strEvento=String(strElemento[a]);//Convertimos a cadena el evento
	  //extraemos solo la funcion con atributos para enviarla por GET al objeto Ajax 
	  var c1=strEvento.indexOf('{');
	  var c2=strEvento.indexOf('}',c1);
	  var c3=strEvento.substring(c1+1,c2);
	  if(!e.indexOf('Microsoft Internet Explorer')!=-1)
    {//Si el browser es firefox...
      c3=c3.replace(/"/gi,"'");//Buscamos comillas dobles y sustituimos por simples
    }
      strEventos[a] = c3;
   }

  //creo mi elemento ajax para el combo de nombres
  var ajax = new nuevoAjax();
  ajax.open("POST","filtrado.php",true);
  ajax.onreadystatechange = function()
  {
    if(ajax.readyState == 1)
    { 
      esclavo_nombre.length=0;
      var nuevaOpcion=document.createElement("option"); 
      nuevaOpcion.value=0; 
      nuevaOpcion.innerHTML="Cargando...";
      esclavo_nombre.appendChild(nuevaOpcion); 
      esclavo_nombre.disabled=true;
    }
    if(ajax.readyState == 4)
    {
      //recargo el elemento deseado 
       esclavo_nombre.parentNode.innerHTML = ajax.responseText;
    }
  }
  
   ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
   ajax.send("&select="+esclavo_nombre.id+"&evento1="+strEventos[0]+"&evento2="+strEventos[1]+"&tipo="+tipo+"&modelo="+master_modelo.value+"&marca="+master_marca.value+"&texto=1"); 
  //termina el elemento ajax para el combo nombres
  
  //creo mi elementop ajax para el combo de series
  var ajax_1 = new nuevoAjax();
  ajax_1.open("POST","filtrado.php",true)
  ajax_1.onreadystatechange = function()
  {
    if(ajax_1.readyState == 1)
    { 
      esclavo_serie.length=0;
      var nuevaOpcion=document.createElement("option"); 
      nuevaOpcion.value=0; 
      nuevaOpcion.innerHTML="Cargando...";
      esclavo_serie.appendChild(nuevaOpcion); 
      esclavo_serie.disabled=true;
    }
    if(ajax_1.readyState == 4)
    {
      //recargo el elemento deseado 
       esclavo_serie.parentNode.innerHTML = ajax_1.responseText;
    }
  }
   ajax_1.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
   ajax_1.send("&select="+esclavo_serie.id+"&evento1="+strEventos[2]+"&evento2="+strEventos[3]+"&tipo="+tipo+"&modelo="+master_modelo.value+"&marca="+master_marca.value+"&texto=2"); 
   //termina elemnto ajax para combo de serie
  //}
}

function filtrar_serie(master,esclavo,tipo,difer,opc)
{
  //alert(master+" < -  - > "+esclavo+" < - - > "+tipo+" < - - > "+difer);

  var master_select = document.getElementById(master);
  var esclavo_select = document.getElementById(esclavo);
  //identifico los componenrtes nesesarios
  var master_select2 = document.getElementById("intInsumoMA"+tipo+"_"+difer);
  var esclavo_select2 = document.getElementById("intInsumoMO"+tipo+"_"+difer);
  var e=explorador().n;
  var eventos = new Array();
  eventos[0] = esclavo_select.onchange;  
  eventos[1] = esclavo_select.onfocus;
  var ajax = new nuevoAjax();
      
  //alert(eventos[0]);
      
  for (a = 0 ; a < 2 ; a ++)
  {
    var strEvento=String(eventos[a]);//Convertimos a cadena el evento
    //extraemos solo la funcion con atributos para enviarla por GET al objeto Ajax 
    var c1=strEvento.indexOf('{');
    var c2=strEvento.indexOf('}',c1);
    var c3=strEvento.substring(c1+1,c2);
    if(!e.indexOf('Microsoft Internet Explorer')!=-1)
    {//Si el browser es firefox...
      c3=c3.replace(/"/gi,"'");//Buscamos comillas dobles y sustituimos por simples
    }
    eventos[a] = c3;
  }
    
  //inicio el filtrado deseado para buscar   
  if(master_select.value != "")
  {

      ajax.open("POST","filtrado.php",true);
      ajax.onreadystatechange = function()
    {
      if(ajax.readyState == 1)
      { 
        esclavo_select.length=0;
        var nuevaOpcion=document.createElement("option"); 
        nuevaOpcion.value=0; 
        nuevaOpcion.innerHTML="Cargando...";
        esclavo_select.appendChild(nuevaOpcion); 
        esclavo_select.disabled=true;
      }
      if(ajax.readyState == 4)
      {
        //recargo el elemento deseado 
        esclavo_select.parentNode.innerHTML = ajax.responseText;
      }
    }
      ajax.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      ajax.send("&select="+esclavo_select.id+"&evento1="+eventos[0]+"&evento2="+eventos[1]+"&tipo="+tipo+"&buscar="+master_select.value+"&marca="+master_select2.value+"&modelo="+esclavo_select2.value+"&texto=2&opcion="+opc); 

  }
}

// llenar combos
function filtro_combos(tipo,marca,opt)
{
  
  var master_select = document.getElementById("intInsumoNS"+tipo+"_"+marca);
  var esclavo_select1 = document.getElementById("intInsumoMA"+tipo+"_"+marca);
  var esclavo_select2 = document.getElementById("intInsumoMO"+tipo+"_"+marca);
  var e=explorador().n;
  var ajax_0 = new nuevoAjax();
  var ajax_1 = new nuevoAjax();
  var eventos = new Array();    
  eventos[0] = esclavo_select1.onchange;  
  eventos[1] = esclavo_select2.onchange;
  
  for (a = 0 ; a < 2 ; a ++)
  {
    var strEvento=String(eventos[a]);//Convertimos a cadena el evento
	  //extraemos solo la funcion con atributos para enviarla por GET al objeto Ajax 
	  var c1=strEvento.indexOf('{');
	  var c2=strEvento.indexOf('}',c1);
	  var c3=strEvento.substring(c1+1,c2);
	  if(!e.indexOf('Microsoft Internet Explorer')!=-1)
    {//Si el browser es firefox...
      c3=c3.replace(/"/gi,"'");//Buscamos comillas dobles y sustituimos por simples
    }
    eventos[a] = c3;
  }
  if(tipo == 2)
  {  
  ajax_0.open("POST","llenar_filtro.php",true);
  ajax_0.onreadystatechange = function()
  {
    if(ajax_0.readyState == 1)
    { 
      esclavo_select1.length=0;
      var nuevaOpcion=document.createElement("option"); 
      nuevaOpcion.value=0; 
      nuevaOpcion.innerHTML="Cargando...";
      esclavo_select1.appendChild(nuevaOpcion); 
      esclavo_select1.disabled=true;
    }
    if(ajax_0.readyState == 4)
    {
      //recargo el elemento deseado 
      esclavo_select1.parentNode.innerHTML = ajax_0.responseText;
    }
  }
    ajax_0.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    ajax_0.send("&select="+esclavo_select1.id+"&tipo="+tipo+"&id="+master_select.value+"&opcion="+opt+"&evento="+eventos[0]); 

  ajax_1.open("POST","llenar_filtro.php",true);
  ajax_1.onreadystatechange = function()
  {
    if(ajax_1.readyState == 1)
    { 
      esclavo_select2.length=0;
      var nuevaOpcion=document.createElement("option"); 
      nuevaOpcion.value=0; 
      nuevaOpcion.innerHTML="Cargando...";
      esclavo_select2.appendChild(nuevaOpcion); 
      esclavo_select2.disabled=true;
    }
    if(ajax_1.readyState == 4)
    {
      //recargo el elemento deseado 
      esclavo_select2.parentNode.innerHTML = ajax_1.responseText;
    }
  }
    ajax_1.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    ajax_1.send("&select="+esclavo_select2.id+"&tipo="+tipo+"&id="+master_select.value+"&opcion="+opt+"&evento="+eventos[1]); 
  }
}

function filtrado_nom_ser(combo1,combo2,opc)
{
  //determino si es el combo de modelo o marca
  var master1 = document.getElementById(combo1);
  var master2 = document.getElementById(combo2);
  var e=explorador().n;
  var ajax_0 = new nuevoAjax();
  var ajax_1 = new nuevoAjax();
  var eventos = new Array();    
  eventos[0] = master1.onchange;  
  eventos[1] = master2.onchange;
  for (a = 0 ; a < 2 ; a ++)
  {
    var strEvento=String(eventos[a]);//Convertimos a cadena el evento
	  //extraemos solo la funcion con atributos para enviarla por GET al objeto Ajax 
	  var c1=strEvento.indexOf('{');
	  var c2=strEvento.indexOf('}',c1);
	  var c3=strEvento.substring(c1+1,c2);
	  if(!e.indexOf('Microsoft Internet Explorer')!=-1)
    {//Si el browser es firefox...
      c3=c3.replace(/"/gi,"'");//Buscamos comillas dobles y sustituimos por simples
    }
    eventos[a] = c3;
  }
    
  ajax_0.open("POST","llenar_filtro.php",true);
  ajax_0.onreadystatechange = function()
  {
    if(ajax_0.readyState == 1)
    { 
      master1.length = 0;
      var nuevaOpcion = document.createElement("option"); 
      nuevaOpcion.value = 0; 
      nuevaOpcion.innerHTML = "Cargando...";
      master1.appendChild(nuevaOpcion); 
      master1.disabled = true;
    }
    if(ajax_0.readyState == 4)
    {
      master1.parentNode.innerHTML = ajax_0.responseText;
    }
  }
    ajax_0.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    ajax_0.send("&select="+master1.id+"&opcion="+opc+"&llenar=1"+"&evento="+eventos[0]);

  ajax_1.open("POST","llenar_filtro.php",true);
  ajax_1.onreadystatechange = function()
  {
    if(ajax_1.readyState == 1)
    {
      master2.length = 0;
      var nuevaOpcion = document.createElement("option"); 
      nuevaOpcion.value = 0; 
      nuevaOpcion.innerHTML = "Cargando...";
      master2.appendChild(nuevaOpcion);
      master2.disabled = true;
    }
    if(ajax_1.readyState == 4)
    { 
      master2.parentNode.innerHTML = ajax_1.responseText;
    }
  }
    ajax_1.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    ajax_1.send("&select="+master2.id+"&opcion="+opc+"&llenar=2"+"&evento="+eventos[1]);   
}


function  combo_index(combo1,combo2)
{
  master = document.getElementById(combo1).selectedIndex;
  esclavo = document.getElementById(combo2).selectedIndex = master;
}



