<?php use_helper('UrlFunctions'); ?>
<?php

if(myUser::getUser()->getIdPadre() == "1"){
  	$o_ColaboradorBean_Temp = new ColaboradorBean();
  	$o_ColaboradorBean_Temp->setIdColaborador(myUser::getUser()->getIdColaborador()); 
  	$o_ColaboradorBL_Temp = new ColaboradorBL();
  	$o_ColaboradorBeanResult = $o_ColaboradorBL_Temp->busquedaColaborador($o_ColaboradorBean_Temp);
  	 	
  	$IdPadre = $o_ColaboradorBeanResult[0]->getIdPadre();
  	
}else{//Solo los Hijos del Colaborador
  	$IdPadre = myUser::getUser()->getIdColaborador();
}

//Sacar el nombre de la sucursal
$o_SucursalBean = new SucursalBean();
$o_SucursalBean->setIdAdministrador($IdPadre);

$o_SucursalBL = new SucursalBL();
$a_o_sucursal = $o_SucursalBL->busquedaSucursal($o_SucursalBean);

foreach ($a_o_sucursal as $key => $o_sucursal){
	$IdSucursal 	= $o_sucursal->getIdSucursal();
	$NombreSucursal = $o_sucursal->getDescripcion();
}
/*
$o_BalanceDiaNew = new BalanceDiaBean();
$o_BalanceDiaNew->setIdColaboradorPermitido($IdPadre); 

$o_BalanceDiaNewDP 		= new BalanceDiaDP($o_BalanceDiaNew);
$fechaDiaBalanceAbierto = $o_BalanceDiaNewDP->ObtenerDiaAbierto();
*/
//Obtener el nombre del Adminitrador
$idAdministrador = $IdPadre;
$o_ColaboradorAdmin = new ColaboradorBean();
$o_ColaboradorAdmin->setIdColaborador($idAdministrador);

$o_ColaboradorAdminBL = new ColaboradorBL();
$a_o_Colaborador = $o_ColaboradorAdminBL->busquedaColaborador($o_ColaboradorAdmin);
foreach ($a_o_Colaborador as $key => $o_Colaborador){
	$NombreAdministrador = $o_Colaborador->getNombreCompleto();
}

$o_BalanceGeneralNew = new BalanceGeneralBean();

$o_BalanceGeneralNew->setIdAdministrador($idAdministrador); 
$o_BalanceGeneralNew->setNombreAdministrador($NombreAdministrador); 
$o_BalanceGeneralNew->setIdSucursal($IdSucursal); 

$o_BalanceGeneralNewDP 	= new BalanceGeneralDP($o_BalanceGeneralNew);
$a_ResumenColaborador 	= $o_BalanceGeneralNewDP->ObtenerAdministradorNewBalance();
$fechaBalanceAbierto  	= $o_BalanceGeneralNewDP->ObtenerDiaAbierto();


//ObtenerColaboradoresNewBalance



if($control){//cuando se hizo el submit
//Crear Objeto Balance General
  
  if(is_array($a_ResumenColaborador)){
  	foreach ($a_ResumenColaborador as $key => $a_ResesumenDiario) {
	  $o_BalanceGeneralSave = new BalanceGeneralBean();
	  $o_BalanceGeneralSave->setIdSucursal($IdSucursal);
	  $o_BalanceGeneralSave->setNombreSucursal($NombreSucursal);
	  $o_BalanceGeneralSave->setIdAdministrador($IdPadre);
	  $o_BalanceGeneralSave->setNombreAdministrador($NombreAdministrador);
  	  $o_BalanceGeneralSave->setDescripcion($comentario);
	  $o_BalanceGeneralSave->setFecha($fechaBalanceAbierto);
	  
	  $o_BalanceGeneralSave->setNombreAdministrador($a_ResesumenDiario['NombreCompleto']);
	  $o_BalanceGeneralSave->setTotalAdelantoSueldo(round($a_ResesumenDiario['TotalAdelantoSueldo'],2));
	  $o_BalanceGeneralSave->setTotalBalanceDia(round($a_ResesumenDiario['TotalBalanceDia'],2));
	  $o_BalanceGeneralSave->setTotalIngreso(round($a_ResesumenDiario['TotalIngreso'],2));
	  $o_BalanceGeneralSave->setTotalGastoGeneral(round($a_ResesumenDiario['TotalGastoGeneral'],2));
	  $o_BalanceGeneralSave->setFechaCreacion(date('Y-m-d H:i:s'));
	  
	  $o_BalanceGeneralSave->setUsuarioCreacion(myUser::getUser()->getUserId());
	  $Total += round($a_ResesumenDiario['TotalAdelantoSueldo'],2)*(-1) + round($a_ResesumenDiario['TotalBalanceDia'],2) - round($a_ResesumenDiario['TotalGastoGeneral'],2) + round($a_ResesumenDiario['TotalIngreso'],2);
	  $o_BalanceGeneralSave->setTotal($Total);
	  
	  $o_BalanceGeneralSaveDP = new BalanceGeneralDP($o_BalanceGeneralSave);
	  $bResult = $o_BalanceGeneralSaveDP->save();
	  
	  //OBTENER DATOS PARA TABLA PROMEDIO DE PRESTAMOS-------
	  
	  $o_PromedioPrestamo = new PromedioPrestamoBean();
	  $o_PromedioPrestamo->setFecha($fechaBalanceAbierto);
	  $o_PromedioPrestamo->setIdSucursal($IdSucursal);
	  $o_PromedioPrestamo->setFechaRegistro(date('Y-m-d H:i:s'));
	  $o_PromedioPrestamo->setUsuarioRegistro(myUser::getUser()->getUserId());
	  
	  $o_promedioDP = new PromedioPrestamoDP($o_PromedioPrestamo);
	  $o_promedioDP->save();
	  ///----------------------------------FIN-----------------
	  
	
	  
  	}
  }

  if($bResult){
    ?>
      <script language="JavaScript">
      parent.objMainTab.reqBody('<?=buildUrl('bdg/'.$typeSubmit)?>','&block=001&insert=1');
      parent.objMainTab.windowsCloseAll();
      </script>
    <?
  }
  //exit;
  
  
}

?>

<script>
validateControls = function(){
  var errOutput               = { error:false, msg:"" };
   
   if(valueTipo.value == ""){
    errOutput.error = true;
    errOutput.msg   += "Debe de seleccionar el tipo.\n";
  }
  return errOutput;
}

acutalizarEspecialidad = function(destino,elm){
  $(destino).options.length = 1;
  var url = '<?=buildUrlComplet('mnt.php/ajax/request')?>';
  var pars = 'type=getEspecialidad&nombreElm='+destino+'&value='+elm.value;
  
	var myAjax = new Ajax.Request(
                            		url, 
                            		{
                            			method: 'get', 
                            			parameters: pars, 
                            			onComplete: actualizaJSON
                            		});
}


</script>

<script type="text/javascript" src="<?php echo Constantes::ROOT_DIR_APP?>/web/js/objectForm.js"></script>

<script type="text/javascript">
  validatePass = function(){
    valid.onSubmit = false;
  }
</script>

<script>
actualizarElementos = function(elmValue, elmDestino,type){
  var url = '<?=buildUrl('ajax/request')?>';
  var pars = 'type=name&typeFind='+type+'&nombreElm='+elmDestino+'&value='+elmValue;
  
	var myAjax = new Ajax.Request(
                            		url, 
                            		{
                            			method: 'get', 
                            			parameters: pars, 
                            			onComplete: actualizaJSON
                            		});
}
</script>
<script>
actualizaJSON = function(request, json){
  var numeroElementos = json.length;
  for (var i = 0; i < numeroElementos; i++){
    if($(json[i][0])){
  	  switch ($(json[i][0]).tagName){
  	    case 'TD'      : Element.update(json[i][0], json[i][1]); break;
  	    case 'INPUT'   : $(json[i][0]).value=json[i][1]; break;
  	    case 'SELECT'  : 
  	      var objDDL = $(json[i][0]);
  	      if(typeof(cont) == 'undefined'){
  	        var cont = 0;
  	        objDDL.options.length = 1;
  	      }
  	      var a_contentValues = json[i][1].split("_;_");
      		var value	= a_contentValues[0];
      		var text	= a_contentValues[1];
  	      var option	= new Option(text,value);
      		try{
      			objDDL.add(option,null);
      		}catch (e){
      			objDDL.add(option,-1);
      		}
  	      cont++;
  	    break;
  	  }
    }else{
      if(json[i][0].indexOf("function") > -1){
        eval("scriptEval = "+json[i][0]);
        scriptEval();
      }
    }
  }
}
</script>


<script>
insertOptionDefault = function(){
  
  var table = $('tableContent');
  var countRows = table.rows.length;
  
  var tr = table.rows[countRows-1];
  var td = tr.cells[1];
  var idSelect = td.firstChild.id;
  
  values = [[idSelect,'alm_;_Alumno']];
  
  
  actualizaJSON('', values);
  
}
</script>

<script>
events = function(type){
  oReturn = validateControls();
  if(!oReturn.error){
    switch (type){
      case 'submit':
         $('form1').submit();
      break;
      case 'insert':
        grid.insert();
        insertOptionDefault();
      break;
      case 'delete':
        grid.deletes();
      break;
    }
  }else{
    alert(oReturn.msg);
    return false;
  }
}
</script>

<script>
buscaDetalle = function(e,elm){
  var charCode;
  if (navigator.appName == "Mozilla" || navigator.appName == "Netscape"){
    charCode = e.keyCode;
  }else{
    charCode = event.keyCode;
  }
  if (charCode == 114){
    
    var parentTr      = elm.parentNode.parentNode.id;
    var valueSelect   = $(parentTr + "_td_1_tipo[]").value;
    var url           = "";
    
    if(valueSelect != ""){
      switch (valueSelect){
        case 'doc':
          url = '<?=buildUrlComplet('mnt.php/doc/listFind')?>iframe/contentResultxx/nameElm/'+elm.id+'/value/'+elm.value;
          tit = 'Docente';
        break;
        case 'alm':
          url = '<?=buildUrlComplet('mnt.php/alm/listFind')?>iframe/contentResultxx/nameElm/'+elm.id+'/value/'+elm.value;
          tit = 'Alumno';
        break;
        case 'ext':
          url = '<?=buildUrlComplet('mnt.php/ext/listFind')?>iframe/contentResultxx/nameElm/'+elm.id+'/value/'+elm.value;
          tit = 'Externo';
        break;
      }
      parent.objMainTab.modalDialog(url,{title:'Busqueda de '+ tit,width:600,height:420});
    }else{
      elementLoad.show(undefined,'&nbsp;&nbsp;&nbsp;Seleccione el tipo para el ListFind.'); setTimeout('elementLoad.hide()', 1000);
    }
  }
}
</script>

<script>
actionSelect = function(elm){
  
  var parentTr      = elm.parentNode.parentNode.id;
  
  $(parentTr + "_td_2_codigo[]").value = "";
  $(parentTr + "_td_3").innerHTML = "&nbsp;";
  $(parentTr + "_td_4_part[]").value = "";
  
}

actionCod = function(elm){

  elm       = $(elm);
  elm.value = elm.value.trim();
  var elmValue = elm.value;
  
  parentTr = elm.parentNode.parentNode.id;
  
  elmDestino = parentTr + "_td_3";
  
  if(elmValue != ""){
    
    if(!grid.validateByColumn(1, elm, 'INPUT')){
    
      var parentTr      = elm.parentNode.parentNode.id;
      var valueSelect   = $(parentTr + "_td_1_tipo[]").value;
      
      $(elmDestino).innerHTML = "&nbsp;";
      formItem.loadProcess(parentTr + "_td_3");
      actualizarElementos(elmValue, elmDestino, valueSelect);
      
    }else{
      
      elm.value = "";
      elementLoad.show(undefined,'&nbsp;&nbsp;&nbsp;El Código ya fue Ingresado'); setTimeout('elementLoad.hide()', 1000);
      $(elmDestino).innerHTML = "&nbsp;";
      
    }
    
  }
  
}
</script>
<img src="/images/common/spacer.gif" width="10">
<form id="form1" name="form1" method="POST">
<table class="cuerpo" width="98%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td height="0">
      <table border="0" cellpadding="0" cellspacing="0" width="100%">
        <tr>
          <td class="titleBody">
            <li>Balance General</li>
            <span class="subtitle"><I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:::&nbsp;Listado</I></span></td>
          <td align="right" valign="baseline">&nbsp;</td>
        </tr>
      </table>
    </td>
  </tr>
      <script type="text/javascript">
        validatePass = function(){
          
            valid.onSubmit = false;
          
        }
      </script>
  <tr>
    <td valign="top">
      <input type="hidden" name="control" value="1">
        <table hspace="20px" class="marco" width="99%">
          <tr>
            <td valign="top">
              <table width="100%" border="0" cellpadding="5" cellspacing="0">
          		<tr>
    				<td height="0">
    					<table width="100%" border="0" cellpadding="5" cellspacing="0">
    						<?php if( myUser::getUser()->getRoleId() == "sys.gen"){?>
    						<tr>
    							<td width="10%"><label class="label">Sucursal</label></td>	
    							<td><label class="label">&nbsp;:&nbsp;<?=$NombreSucursal?></label></td>	
    						</tr>
    						<?php }?>
    						<tr>
    							<td width="10%"><label class="label">Fecha</label></td>	
    							<td><label class="label">&nbsp;:&nbsp;<?=$fechaBalanceAbierto?></label></td>	
    						</tr>
    						
    					</table>
    					<table width="100%" border="1" cellpadding="5" cellspacing="0">
          					<tr>
          						<td align="left"><label class="label">Administrador</label></td>		
          						<td align="center"><label class="label">Total Balance Dia</label></td>		
          						<td align="center"><label class="label">Gasto General</label></td>
          						<td align="center"><label class="label">Total Ingresos</label></td>		
          						<td align="center"><label class="label">Adelanto Sueldo</label></td>		
          						<td align="center"><label class="label">Total</label></td>
          					</tr>
	    				<?
	    					if(is_array($a_ResumenColaborador)){
	    						foreach ($a_ResumenColaborador as $key => $a_ResesumenDiario) {
									?>
									<tr>
		          						<td><label class="label"><?php echo $a_ResesumenDiario['NombreCompleto']?></label></td>		
		          						<td align="right"><label class="label"><?php $TotalBalanceDia += $a_ResesumenDiario['TotalBalanceDia'];echo number_format(round($a_ResesumenDiario['TotalBalanceDia'],2),2)?></label></td>		
		          						<td align="right"><label class="label"><?php $TotalGastoGeneral += $a_ResesumenDiario['TotalGastoGeneral'];echo number_format(round($a_ResesumenDiario['TotalGastoGeneral'],2),2)?></label></td>
		          						<td align="right"><label class="label"><?php $TotalIngreso += $a_ResesumenDiario['TotalIngreso'];echo number_format(round($a_ResesumenDiario['TotalIngreso'],2),2)?></label></td>		
		          						<td align="right"><label class="label"><?php $TotalAdelantoSueldo += $a_ResesumenDiario['TotalAdelantoSueldo'];echo number_format(round($a_ResesumenDiario['TotalAdelantoSueldo'],2),2)?></label></td>		
		          						<td align="right"><label class="label"><?php $Total += round($a_ResesumenDiario['TotalBalanceDia'],2) - round($a_ResesumenDiario['TotalGastoGeneral'],2) - round($a_ResesumenDiario['TotalAdelantoSueldo'],2) +$a_ResesumenDiario['TotalIngreso'];
		          														echo "S/.&nbsp;".number_format(round(($a_ResesumenDiario['TotalBalanceDia'] - $a_ResesumenDiario['TotalGastoGeneral'] + $a_ResesumenDiario['TotalIngreso']-round($a_ResesumenDiario['TotalAdelantoSueldo'],2)),2),2)?></label></td>		
		          					</tr>
									<?php    							
	    						}
	    					}
	    				?>  
	    					<tr>
          						<td align="right"><label class="label">&nbsp;Totales:</label></td>		
          						<td align="right"><label class="label"><b><?=number_format(round($TotalBalanceDia,2),2)?></b></label></td>		
          						<td align="right"><label class="label"><b><?=number_format(round($TotalGastoGeneral,2),2)?></b></label></td>		
          						<td align="right"><label class="label"><b><?=number_format(round($TotalIngreso,2),2)?></b></label></td>
          						<td align="right"><label class="label"><b><?=number_format(round($TotalAdelantoSueldo,2),2)?></b></label></td>		
          						<td align="right"><label class="label"><b><?=number_format(round($Total,2),2)?></b></label></td>		
          					</tr>
	    				</table>
	    				<table width="100%">
	    					<tr>
	    						<td align="right"><input type="button" value="Recalcular" onclick="window.location.reload()" class="button"></td>
	    					</tr>
	    				</table>
	    						
    				</td>
                </tr>
      </table>
       
            
      
    </td>
  </tr>
</table>
<table hspace="20px" class="marco" width="99%">
  <tr>
    <td valign="top">Comentario</td>
    <td valign="top"><textarea name="comentario" cols="100" rows="1"></textarea></td>
  </tr>
  <tr>
    <input type="hidden" name="typeSubmit" id="typeSubmit">
    <td valign="top" colspan="2" align="right">
    <?php 
    $o_BalanceDiaBean = new BalanceDiaBean();
    $o_BalanceDiaBean->setIdSucursal($IdSucursal);
    
    $o_BalanceDiaBean->setFechaBalance($fechaBalanceAbierto);
    
    $o_BalanceDialDP = new BalanceDiaDP($o_BalanceDiaBean);
    $a_Existe = $o_BalanceDialDP->selectHeader();
    if(is_array($a_Existe)){?>	
    	<input type="submit" value="Cierre General" class="button"  onclick="$('typeSubmit').value='list';"></td>
    <?
    }else{
    	echo "Debe de cerrar el Balance del D&iacute;a para la fecha :".$fechaBalanceAbierto;
    }
    ?>
  </tr>
</table>
</form>
<script type="text/javascript">
	var valid = new Validation('form1', {immediate : true});
</script>