// ---------------------------------------------------
// Funciones para el SUBMITado de acciones
// ---------------------------------------------------
//
//
//--------------------------------------------------------------
// Version 01: Se le agrego la función initParamGlobal
//--------------------------------------------------------------

function submitLista(oFormOrig,oFormDest,nIndex)
{
 // Selecciona los inputs del formulario de destino o SUBMIT
 var oFieldDest  = oFormDest.elements;

 // Selecciona los inputs del formulario de origen
 var oFieldOrig  = oFormOrig.elements;
 
 // Iguala usando la propiedad name los campos de el form de SUBMIT con los
 // homólogos del índice selecionado nIndex de la lista de campos

 for (i=0;i<oFieldDest.length;i++)
 {

  if (oField = oFieldOrig.item(oFieldDest[i].name)) {
   if (oField.length>1){
    oFieldDest[i].value = oField[nIndex].value;
   }
   else {
   oFieldDest[i].value = oField.value;
   }
  }
  	
 }
 oFormDest.fireEvent('onSubmit');
 oFormDest.submit(); 
}

//
// Submita un formulario
//

function submitForm(oFormOrig,oFormDest)
{
 // Selecciona los inputs del formulario de destino o SUBMIT
 var oFieldDest  = oFormDest.elements;
 
 // Selecciona los inputs del formulario de origen
 var oFieldOrig  = oFormOrig.elements;

 // Iguala usando la propiedad name los campos de el form de SUBMIT con los
 // homólogos del índice selecionado nIndex de la lista de campos

 for (i=0; i<oFieldOrig.length; i++)
 {
 	 for (j=0; j<oFieldDest.length; j++)
    {
 	 	// Si los campos se llaman igual, igualamos su valor
 	 	if (oFieldOrig.item(i).name == oFieldDest.item(j).name) {
	 	   if ((oFieldOrig.item(i).length>1)&&(oFieldOrig.item(i).type!='select-one'))
	   {
			  for (z=0;z<oField.length;z++ )
		  {
				  if ((oFieldDest.item(j)[z].type='radio')&&(oFieldDest.item(j)[z].checked))
			  {
					  oFieldDest.item(j).value = oFieldDest.item(j)[z].value;
				  break;
			  }
		  }
		  }
		   else
		   {
	           oFieldDest.item(j).value = oFieldOrig.item(i).value;
		}
		}
  }
}
// Submita el formulario de destino
 oFormDest.submit();  
}

function submitFormUpperCase(oFormOrig,oFormDest)
{
 // Selecciona los inputs del formulario de destino o SUBMIT
 var oFieldDest  = oFormDest.elements;

 // Selecciona los inputs del formulario de origen
 var oFieldOrig  = oFormOrig.elements;

 // Iguala usando la propiedad name los campos de el form de SUBMIT con los
 // homólogos del índice selecionado nIndex de la lista de campos

 for (i=0; i<oFieldOrig.length; i++)
 {
 	 for (j=0; j<oFieldDest.length; j++)
    {
 	 	// Si los campos se llaman igual, igualamos su valor
 	 	if (oFieldOrig.item(i).name == oFieldDest.item(j).name) {
	 	   if ((oFieldOrig.item(i).length>1)&&(oFieldOrig.item(i).type!='select-one'))
	   {
			  for (z=0;z<oField.length;z++ )
		  {
				  if ((oFieldDest.item(j)[z].type='radio')&&(oFieldDest.item(j)[z].checked))
			  {
					  oFieldDest.item(j).value = oFieldDest.item(j)[z].value;
				  break;
			  }
		  }
	   }
	   else
		{
	           oFieldDest.item(j).value = oFieldOrig.item(i).value.toUpperCase();
		   }
		}
  }
}
// Submita el formulario de destino
 oFormDest.submit();  
}

//
// Copia de un formulario para otro los campos con el mismo nombre 
//
function copiaForm(oFormOrig,oFormDest)
{

 // Selecciona los inputs del formulario de destino o SUBMIT
 var oFieldDest  = oFormDest.elements;
 // Selecciona los inputs del formulario de origen
 var oFieldOrig  = oFormOrig.elements;

 
 // Iguala usando la propiedad name los campos de el form de SUBMIT con los
 // homólogos del índice selecionado nIndex de la lista de campos
 for (i=0;i<oFieldDest.length;i++)
 {
  if (oField = oFieldOrig.item(oFieldDest[i].name))
  {
   oFieldDest[i].value = oField.value;
  }
 }
}
 
function copiaFormV2(oFormOrig,oFormDest)
{

 // Selecciona los inputs del formulario de destino o SUBMIT
 var oFieldDest  = oFormDest.elements;
 // Selecciona los inputs del formulario de origen
 var oFieldOrig  = oFormOrig.elements;

 
 // Iguala usando la propiedad name los campos de el form de SUBMIT con los
 // homólogos del índice selecionado nIndex de la lista de campos
 for (i=0;i<oFieldDest.length;i++)
 {
  if ((oField = oFieldOrig.item(oFieldDest[i].name)) && (oField.value!=''))
  {
   oFieldDest[i].value = oField.value;
  }
 }
}

function copiaLista(oFormOrig,oFormDest,nIndex)
{
 // Selecciona los inputs del formulario de destino o SUBMIT
 var oFieldDest  = oFormDest.elements;
 
 // Selecciona los inputs del formulario de origen
 var oFieldOrig  = oFormOrig.elements;
 
 // Iguala usando la propiedad name los campos de el form de SUBMIT con los
 // homólogos del índice selecionado nIndex de la lista de campos
 for (i=0;i<oFieldDest.length;i++)
 {
  if (oField = oFieldOrig.item(oFieldDest[i].name)) {
   if (oField.length>1){
    oFieldDest[i].value = oField[nIndex].value;
   }
   else {
   oFieldDest[i].value = oField.value;
   }
  }
 }


}

//------------------------------------------------------------------------------------------------------
// Se debe llamar siempre en el evento onload de la pagina
// Actualiza todos los identificadores de la session que esten en los forms de la pagina,
// a partir del frame global. 
//------------------------------------------------------------------------------------------------------
function initParamGlobal (oDocument,oFoGlobal)
{
	var vnForms = oDocument.forms.length;                // Número de formularios en el documento a inicializar
	
	for (var j=0; j < vnForms; j++)
	{
       copiaForm(oFoGlobal,oDocument.forms[j]);          // Llama a la función de copia de coincidencias entre formularios
	}

}// fin initParamGlobal

function copiaFormV2(oFormOrig,oFormDest)
{

 // Selecciona los inputs del formulario de destino o SUBMIT
 var oFieldDest  = oFormDest.elements;
 // Selecciona los inputs del formulario de origen
 var oFieldOrig  = oFormOrig.elements;

 
 // Iguala usando la propiedad name los campos de el form de SUBMIT con los
 // homólogos del índice selecionado nIndex de la lista de campos
 for (i=0;i<oFieldDest.length;i++)
 {
  if ((oField = oFieldOrig.item(oFieldDest[i].name)) && (oField.value!=''))
  {
   oFieldDest[i].value = oField.value;
  }
 }
}
function restaura_valores (oFormOrig,oFormDest)
{
	 // Selecciona los inputs del formulario de destino o SUBMIT
    var oFieldDest  = oFormDest.elements;
 
 // Selecciona los inputs del formulario de origen
    var oFieldOrig  = oFormOrig.elements;
    copiaFormV2(oFormOrig,oFormDest);
 // Iguala usando la propiedad name los campos de el form de SUBMIT con los
    var j=1;
    for (i=0;i<oFieldDest.length;i++)
    {
      if (oField = oFieldOrig.item(oFieldDest[i].name)){
          encontrado = false;
		  j=0;
          while ((j <= oFieldDest[i].length) && (encontrado == false)) { 
			 if (oField.value==''){encontrado = true}else{
             if ((oFieldDest[i][j].value==oField.value)) { 
      		      oFieldDest[i][j].selected = true;
     		      encontrado=true;
      	      }}
     	      j++;
          }
      }
    }
}

