//validarForma ("90203");
var estadoSeleccionado = '';
var parametrosConsultaSolicitudes = '';
var arregloTablaSolicitudes = Array();
var consultaEditar=false;
var consultaMisProcesos=false;
var sessionTipoProceso = '';
var sessionEntidad = '';
//Instancia del paginador de solicitudes
var mPaginadorSolicitudes;


//Esta función carga el combo de estados según el tipo de proceso seleccionado
function cargarEstados() 
{
	var html = '';	
	var arregloEstadosActual;
	var tipoCompra;
	tipoCompra= $("txtCodigoTipoCompra").value;
    if(tipoCompra != '') {
		var arregloTodos=Array('','','','','TODOS');
		arregloEstadosActual = generarArregloBuscarConArreglo (arregloEstados, tipoCompra, 1, arregloTodos);
		html = Combo(arregloEstadosActual,estadoSeleccionado, 'cmbEstado', true, '', 40, '', 3, 4, '', '', '');
		$("divEstadosProcesos").innerHTML = html;
	} else {
	  $("divEstadosProcesos").innerHTML = '';
	} //Fin tipoCompra != ''
} //Fin cargarEstados

//Limpia los campos ingresados
function botonLimpiar()
{  	
  parametrosConsultaSolicitudes ='';
  if (!consultaMisProcesos) {
    $("cmbEntidad").value = '';
    $("txtCodigoTipoCompra").value = '';
  }
  $("txtCodigoProceso").value = '';
  cargarEstados ();
}

//Esta función generar parametros de consulta
function generarParametrosConsulta () {
   var entidadContratante=$("cmbEntidad").value;
   var UsuarioID=$("txtUsuarioID").value;  
   var tipoCompra=$("txtCodigoTipoCompra").value;
 
   var estado='';
   var codigoProceso=$("txtCodigoProceso").value;
   if (tipoCompra!='') {
      estado=$("cmbEstado").value;
   }
   var data = "entidadContratante="+entidadContratante+"&tipoCompra="+tipoCompra+"&estado="+estado+"&codigoProceso="+codigoProceso+"&UsuarioID="+UsuarioID;
   
   return data;
} //Fin generarParametrosConsulta

//Esta función dibuja la cabecera mostrada
function dibujarCabeceraSolicitud()
{
   var html='';
   html+='<tr  class="filaTitulo" align="center">\n';
   html+='<td width="13%">Código</td>\n';
   html+='<td width="13%">Entidad Contratante </td>\n';
   html+='<td width="24%">Objeto del Proceso </td>';
   html+='<td width="13%">Estado del Proceso </td>';
   html+='<td width="12%">Provincia/Cant&oacute;n</td>\n';
   html+='<td width="13%">Presupuesto Referencial Total (sin iva) </td>\n';
   html+='<td width="12%">Fecha de Publicaci&oacute;n </td>'; 
   html+='</tr>';
   return html;
}

//Esta función dibuja cada elemento
function dibujarElementoSolicitud(posicion)
{
   var html='';
   var enlace= '';
   var version = '';
  
   version = arregloTablaSolicitudes[posicion]['8'];
   estado = arregloTablaSolicitudes[posicion]['4'];  
   //enlace = "<a href ='../exe/consultarProcesos_exe.php?idSoliCompra="+arregloTablaSolicitudes[posicion]['0']+"&sessionTipoProceso="+sessionTipoProceso+"&sessionEntidad="+sessionEntidad+"'>";
        //enlace = "<a href ='../ProcesoContratacion/informacionProcesoContratacion2.php?idSoliCompra="+arregloTablaSolicitudes[posicion]['0']+"'>";
  // enlace = "<a href ='../SolicitudCompra/sci.php?idSoliCompra="+arregloTablaSolicitudes[posicion]['0']+"'>";
   if (version == 2){
       if (estado == 'Borrador' || estado == 'Inicial')
    enlace = "<a href ='../SolicitudCompra/sci.php?idSoliCompra="+arregloTablaSolicitudes[posicion]['0']+"'>";
	   else
  enlace = "<a href ='../ProcesoContratacion/informacionProcesoContratacion2.php?idSoliCompra="+arregloTablaSolicitudes[posicion]['0']+"'>";
  }
   else{
	if (estado == 'Borrador' || estado == 'Inicial')
	    enlace = "<a href ='../SolicitudCompra/sci.php?idSoliCompra="+arregloTablaSolicitudes[posicion]['0']+"'>";
	   else
	    enlace = "<a href ='../ProcesoContratacion/informacionProcesoContratacion.php?idSoliCompra="+arregloTablaSolicitudes[posicion]['0']+"'>";
   
   }
   enlace += arregloTablaSolicitudes[posicion]['1'].wordWrap(10,"\n",true);
   enlace += "</a>"
   
   html+="<tr>";
   html+="<td >"+enlace+"</td>";
   html+="<td >"+arregloTablaSolicitudes[posicion]['2'].wordWrap(20,"\n",true)+"</td>";
   html+="<td >"+arregloTablaSolicitudes[posicion]['3'].wordWrap(25,"\n",true)+"</td>";
   html+="<td >"+arregloTablaSolicitudes[posicion]['4'].wordWrap(15,"\n",true)+"</td>";
   html+="<td >"+arregloTablaSolicitudes[posicion]['5'].wordWrap(20,"\n",true)+"</td>";
   html+="<td align='right' >"+arregloTablaSolicitudes[posicion]['6']+"</td>";
   html+="<td >"+arregloTablaSolicitudes[posicion]['7']+"</td>";   
   html+="</tr>";
   return html;
}

///////////////////////////////////////////////
//Sobrecargar Paginador 
///////////////////////////////////////////////
var PaginadorSolicitudes = Class.create(PaginadorAjax, {
   initialize: function($super, n_nombre, n_elementos, n_nombreDiv, n_numeroFilas, n_parametros) {
     $super(n_nombre, n_elementos, n_nombreDiv, n_numeroFilas, n_parametros);
   },
   dibujarElemento: function($super, posicion) {
      return dibujarElementoSolicitud(posicion);
   },
   dibujarCabecera: function($super) {
      return dibujarCabeceraSolicitud();
   },
   dibujar: function() {
	  var desde = this.paginaActual*this.numeroFilas;
	  var data = this.parametros+'&desde='+desde+'&numeroFilas='+this.numeroFilas;
      var clazz = "SolicitudCompra";
	  var action = "";
	  if (consultaMisProcesos)
	    if (esProveedor=='C') {
	      action = "arregloSolicitudesMisProcesos";
		} else {
          action = "arregloSolicitudesMisProcesosProveedor";
		}		
	  else
        action = "arregloSolicitudesPublicar";
	  if (mPaginadorSolicitudes.numeroElementos>0)
	  {		 
         asignarImagenCargando (this.nombreDiv);
         ajax_call (data, clazz, action, dibujarSolicitudesEnDiv); 
	  }
	  else
	  {
		 var html = 'No existen procesos para la consulta ingresada';
		 $(this.nombreDiv).innerHTML=html;
	  } //Fin si numeroElementos>0
   } //Fin dibujar
}); //Fin sobrecarga de paginador

//Esta función llama a la función dibujar asignandole las respuestas
function dibujarSolicitudesEnDiv (result,resp) {
	  arregloTablaSolicitudes = result.arregloTabla;
	  mPaginadorSolicitudes.arreglo = arregloTablaSolicitudes;
	  mPaginadorSolicitudes.dibujarEnDiv();
} //Fin dibujar SolicitudesEnDiv

//Esta función cuenta los procesos y llama a mostrarProcesos
function contarProcesos (parametros)
{
   var clazz = "SolicitudCompra";
   var action = "";
   if (consultaMisProcesos) {
	 if (esProveedor=='C') {
	   action = "contarSolicitudesMisProcesos";
	 } else {
       action = "contarSolicitudesMisProcesosProveedor"; 
	 }
   } else {
	 action = "contarSolicitudesPublicar";
   } 
   asignarImagenCargando ('divProcesos');
   ajax_call ( parametros, clazz, action, mostrarProcesos ); 
}

//Esta función dibuja la resuesta recibida
function mostrarProcesos(result,resp)
{
	     //alert (result.numeroElementos);
	     mPaginadorSolicitudes.numeroElementos=result.numeroElementos;
	     mPaginadorSolicitudes.parametros=parametrosConsulta;
	     mPaginadorSolicitudes.dibujar();
}//Fin mostrarProductos

//Esta función inicia la busqueda de productos
function botonBuscar()
{		

   mPaginadorSolicitudes = new PaginadorSolicitudes('mPaginadorSolicitudes', 0, 'divProcesos', 10, '');   
   parametrosConsulta = generarParametrosConsulta();
   contarProcesos (parametrosConsulta);
   
}
