// JavaScript Document

//Busca el valor en un arreglo dad la posición 
function buscarValorArreglo (arreglo,valorId,posId,posRespuesta)
{
  var largo=arreglo.length;
  var i;
  var res="";
  for (i=0;i<largo;i++)
  {
	if (arreglo[i][posId]==valorId)
	{
	  res=arreglo[i][posRespuesta];
	  break;
	}
  }
  return res;
}

// Busca la posición dado el valor (id)
function buscarPosicion (arreglo,valor, campoId)
{
  var largo=arreglo.length;
  var res=-1;
  var i;
  for (i=0;i<largo;i++)  
  {
    if (arreglo[i][campoId]==valor)
	{
	  res=i;
	  break;
	}
  }
  return res;
}
// Filtra un arreglo según el campo definido
function generarArregloBuscar (arreglo, valor, campoId, valorOtro, valorTodos, mensajeTodos)
{
	var res=new Array();
	var i;
	var j=0;
	var largo=arreglo.length;
	
	if (valorTodos!='undefined'&&mensajeTodos!='')
	{
		res[j++]=new Array (valorTodos,mensajeTodos);
	}
	
	for (i=0;i<largo;i++)
	{
		if (arreglo[i][campoId]==valor)
		  res[j++]=arreglo[i];
		else if (valorOtro!="")
		  		if (arreglo[i][campoId]==valorOtro) res[j++]=arreglo[i];
	}
	return res;
}

// Filtra un arreglo según el campo definido y agrega un arreglo al inicio
function generarArregloBuscarConArreglo (arreglo, valor, campoId, arregloTodos)
{
	var res=new Array();
	var i;
	var j=0;
	var largo=arreglo.length;
	
	res[j++]=arregloTodos;
	for (i=0;i<largo;i++)
	{
		if (arreglo[i][campoId]==valor)
		  res[j++]=arreglo[i];		
	}
	return res;
}


// Elimina el elemento X de un arreglo
function eliminarFila (arreglo, pos)
{
	var res=new Array();
	var i;
	var j=0;
	var largo=arreglo.length;
	for (i=0;i<largo;i++)
	{
		if (i!=pos)
		  res[j++]=arreglo[i];
	}
	return res;
}

//Transforma en texto un arreglo
function arregloATexto (arreglo)
{
	var largo=arreglo.length;
	var i;
	var j;
	var largoFila;
	var res="";
	for (i=0;i<largo;i++)
	{
		largoFila=arreglo[i].length;
		for (j=0;j<largoFila;j++)
		{
			res+=arreglo[i][j]+"|";
		}
	}
	return res;
}


//Suma el porcentaje a 100% un arreglo predefinido SAMY MANOSALVAS 2008-12-04

//Celda para el array en HTML echo "<td align=center>"."<input type='text' name='valores' id='valores' value='0' onKeypress='if (event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;' onChange='javascript:sumarImporte();'/>%</td>";

//para el resultado usar <Input type="text" value='' name="fac_porcentaje" id="fac_porcentaje" size="3" readonly="true">&nbsp;%</td>


function sumarImporte(valorCampo) {
	var total_importe = 0;
	var total_temporal = 0;
	if (document.frmPaso4.valores) {
		if (document.frmPaso4.valores.length) {
			for (var i=0; i < document.frmPaso4.valores.length; i++) {
			total_temporal += parseInt(document.frmPaso4.valores[i].value,10); //Validar si es un numero primero
				if(total_temporal<=100){
					total_importe += parseInt(document.frmPaso4.valores[i].value,10); //Validar si es un numero primero
					document.getElementById('fac_porcentaje').value = total_importe;
				}	
			}
		} else {
			total_temporal += parseInt(document.frmPaso4.valores[i].value,10); //Validar si es un numero primero
			if(total_temporal<=100){
				total_importe += parseInt(document.frmPaso4.valores[i].value,10); //Validar si es un numero primero
				document.getElementById('fac_porcentaje').value = total_importe;
			}	
		}
	}
	if(total_temporal<=100){
		document.getElementById('fac_porcentaje').value = total_importe;
 	}else{
		document.frmPaso4.valores[valorCampo].value="0";
		alert("EL porcentaje excede el 100%:"+total_temporal);
 	}
}

function sumarPesos(valorCampo) {
	var total_pesos = 0;
	var total_temporal = 0;
	//var flag=true;
	if(valorCampo==0){
		if(document.frmPaso4.pesos[valorCampo].value<80 || document.frmPaso4.pesos[valorCampo].value>90){
			//flag=false;
			document.frmPaso4.pesos[valorCampo].value="0";	
			alert('El peso de la oferta tecnica debe ser mayor a 80 y menor a 90');
		}
	}else if(valorCampo==1){
		if(document.frmPaso4.pesos[valorCampo].value<10 || document.frmPaso4.pesos[valorCampo].value>20){
		//	flag=false;
			document.frmPaso4.pesos[valorCampo].value="0";	
			alert('El peso de la oferta economica debe ser mayor a 10 y menor a 20');
		}
	}
	
//	if(flag){
			if (document.frmPaso4.pesos) {
				if (document.frmPaso4.pesos.length) {
					for (var i=0; i < document.frmPaso4.pesos.length; i++) {
					total_temporal += parseInt(document.frmPaso4.pesos[i].value,10); //Validar si es un numero primero
						if(total_temporal<=100){
							total_pesos += parseInt(document.frmPaso4.pesos[i].value,10); //Validar si es un numero primero
							document.getElementById('total_pesos').value = total_pesos;
						}	
					}
				} else {
					total_temporal += parseInt(document.frmPaso4.pesos[i].value,10); //Validar si es un numero primero
					if(total_temporal<=100){
						total_pesos += parseInt(document.frmPaso4.pesos[i].value,10); //Validar si es un numero primero
						document.getElementById('total_pesos').value = total_pesos;
					}	
				}
			}
			if(total_temporal<=100){
				document.getElementById('total_pesos').value = total_pesos;
			}else{
				document.frmPaso4.pesos[valorCampo].value="0";
				alert("Los pesos excede el 100%:"+total_temporal);
			}
	/*}else{
		document.frmPaso4.pesos[valorCampo].value="0";	
	}*/
}