<?php
function sumaDia($fecha,$dia)
	{	list($year,$mon,$day) = explode('-',$fecha);
		return date('d/m/Y',mktime(0,0,0,$mon,$day+$dia,$year));		
	}
			
function ObtnerHoraLocal($zona_horaria = 0)	{
	if ($zona_horaria > -12.1 and $zona_horaria < 12.1) {
		$hora_local = time() + ($zona_horaria * 3600);
		return $hora_local;
		}
	return 'error';
	}

function MostrarFechaActual() {
	return gmdate('d/m/Y h:i:s A', ObtnerHoraLocal(-5));
	}

function Acceso_Archivo($file, $user, $obj) {
	$obj->AbrirConexion();
	$sql = "call spQuery_Sistema_Menu_Acceso($user,'$file')";
	$rs = $obj->Query($sql);
	$obj->CerrarConexion();
	$fila = $obj->FetchArray($rs);
	$Existe = $obj->NumFilas($rs);	
	$param = array();
	if($Existe<=0) {
//		header('refresh:3; url=index.php');
		$param[0] ="<br><br><table style=\"padding:0;margin-top:0px;border-collapse:collapse;\" width=360 align=\"center\" cellpadding=0 cellspacing=0>";
		$param[0].="<!--DWLayoutTable-->";
		$param[0].="<tr>";
		$param[0].="<td width=360 height=34 align=\"center\" valign=\"middle\" class=\"FormTitulo\">ACCESO RESTRINGIDO</td>";
		$param[0].="</tr>";
		$param[0].= "<tr>";
		$param[0].= "<td height=119 align=\"center\" valign=\"middle\" class=\"interior\">";
		$param[0].= "<img src=\"images/acces_denied.png\" >";
		$param[0].= "</td>";
		$param[0].= "</tr>";
		$param[0].= "<tr>";
		$param[0].= "<td height=32 align=\"center\" valign=\"middle\" class=\"interior\">";
		$param[0].= "<b><br>USTED NO TIENE PERMISOS PARA ACCEDER A ESTE MODULO<BR>SI CREE QUE EXISTE ALGUN ERROR, CONTACTESE CON EL ADMINISTRADOR DEL SISTEMA<br><br></b></td>";
		$param[0].= "</tr>";
		$param[0].= "</table>";	
		$param[1] = NULL;
		$param[2] = NULL;
		}
	else {
		$param[0] = NULL;
		$param[1] = $fila[1];
		$param[2] = $fila[2];
		}
	return $param;
	}
	
function ValidRucPeru($ruc){
	$factor	= "5432765432";
	$ruc	= trim($ruc);
	
	if ( !is_numeric($ruc) || strlen($ruc) != 11 ){
		return false;
		}

	$dig_valid= array("10", "20" ,"17", "15");
	$dig=substr($ruc, 0, 2);
	if (!in_array($dig, $dig_valid, true)) {
		return false;
		}
	
	$dig_verif= substr($ruc, 10, 1);
	
	for ($i=0; $i < 10; $i++){
		$arr[]= substr($ruc, $i, 1) * substr($factor, $i, 1);
		}
	
	$suma=0;
	foreach($arr as $a){
		$suma= $suma + $a;
		}
	
	//Calculamos el residuo
	$residuo = round(($suma/11),1);
	$residuo = substr($residuo, -1);
	$resta = 11 - $residuo;
	$dig_verif_aux= substr($resta, -1);
	
	if ($dig_verif == $dig_verif_aux){
		return true;
		} 
	else {
		return false;
		}
	}
	
function SetcomboEmpresa($empresa, $obj) {
	$obj->AbrirConexion();
	$sql = "select id_empresa, nombre from _bp_empresa";
	$rs = $obj->Query($sql);
	$obj->CerrarConexion();
	echo "<select name='emp' id='emp' class=\"input\" style=\"width:300px; 
		  height:17px;\" onChange='cargaContenido(this.id)'>";
	echo "<option value='Ninguno'>SELECCIONAR EMPRESA...</option>";
	while($Fila = $obj->FetchArray($rs)) {
		if($Fila[0]==$empresa)
			echo "<option value='".$Fila[0]."' selected>".$Fila[0]." - ".$Fila[1]."</option>";
		else
			echo "<option value='".$Fila[0]."'>".$Fila[0]." - ".$Fila[1]."</option>";
		}
	echo "</select>";
	}

function TablaArbolPlantilla($obj, $Padre, $Plantilla, $Tabla, $Monto, $Opcion=NULL) {
		$obj->abrirConexion();
		$sql="select P.id_indicador, I.nombre, P.porcentaje, monto, padre, tiponodo, arbol, nivel, 
			  case when P.id_condicion = 0 then CONCAT(C.nombre, ' [',C.simbolo,']')
			  	   else CONCAT('[',C.simbolo,'] ', valcond) end as condicion
			  from _bp_plantilla_detalle P, _bp_indicador I, _bp_condicion C
			  where P.id_indicador = I.id_indicador 
			  and P.id_condicion = C.id_condicion
			  and P.id_plantilla=$Plantilla 
			  and padre = $Padre
			  order by arbol"; 
		$rs = $obj->Query($sql);
		$obj->abrirConexion();
		$Nivel = $Nivel+1;
		while($Fila = $obj->FetchArray($rs)) {	
			$cadena = $Fila[arbol];
			$NuevaCadena = "";
			for ($i=0;$i<strlen($cadena);$i++) {
				$NuevaCadena.= "_".$cadena[$i]; //Aqui tenemos cada caracter
				}
			
		$Peso = CalculaValor($obj, $Fila[id_indicador], $Plantilla);
			echo "<tr id=\"".$Tabla.$NuevaCadena."\">";
			echo "<td height=20>";
			for ($i=0;$i<$Fila[nivel];$i++) echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
			if($Fila[tiponodo]==0) {
				echo " <img src=\"images/b_folder.png\" onClick=\"tabla_arbol_toggleRow('".$Tabla.$NuevaCadena."');\">";
				echo " <a href=# onClick=\"tabla_arbol_toggleRow('".$Tabla.$NuevaCadena."');\"> ";
				//echo $Fila["nombre"]."=".$Tabla."=".$NuevaCadena."=".$Fila[arbol];
				echo $Fila["nombre"];
				echo "</a>";
				}
			else {
				echo " <img src=\"images/b_page.png\"> ";
				//echo $Fila["nombre"]."=".$Tabla.$NuevaCadena."=".$Fila[arbol];
				echo $Fila["nombre"];
				}
			echo "</td>";
			echo "<td class=centrar>$Fila[id_indicador]</td>";
			echo "<td class=numeros>".number_format($Fila[porcentaje], 2,'.',',')."%</td>";
			echo "<td class=numeros>".number_format($Fila[monto], 2,'.',',')."</td>";
			echo "<td class=centrar>".$Fila[condicion]."</td>";
			if(!isset($Opcion)) {
				echo "<td class=centrar>";
				echo "<a href=\"".$_SERVER['PHP_SELF']."?opt=EDIT&valor=".$Fila[id_indicador]."&";
				echo "pla=$Plantilla&arbol=".$Fila[arbol]."\" target=_parent>";
				echo "<img src=images/b_table_edit.png  width=16 height=16 border=0 ";
				echo "onMouseOver=\"MensajeTip('Haga Click para <b>Editar</b> el Indicador<br>";
				echo "<b>$Fila[0] - $Fila[1]</b>')\" onMouseOut=\"UnTip()\"/></a>&nbsp;";
				echo "<a href=\"".$_SERVER['PHP_SELF']."?opt=DROP&valor=".$Fila[id_indicador]."&";
				echo "pla=$Plantilla&arbol=".$Fila[arbol]."\" target=_parent>";
				echo "<img src=images/b_table_delete.png  width=16 height=16 border=0 ";
				echo "onMouseOver=\"MensajeTip('Haga Click para <b>Eliminar</b> el Indicador<br>";
				echo "<b>$Fila[0] - $Fila[1]</b>')\" onMouseOut=\"UnTip()\"/></a>";
				echo "</td>";
				}			
			echo "</tr>";
			TablaArbolPlantilla($obj, $Fila[id_indicador], $Plantilla, $Tabla, $Monto,$Opcion);
			}
		}
function CalculaValor($obj, $Hijo, $Plantilla) {			
		$obj->abrirConexion();
		$sql="select * from _bp_plantilla_detalle
			  where id_plantilla=$Plantilla and id_indicador = $Hijo"; 
		$rs = $obj->Query($sql);
//		$obj->abrirConexion();
		while($Fila = $obj->FetchArray($rs)) {
			$Valor = $Fila[porcentaje]/100;
			if($NewValor = CalculaValor($obj, $Fila[padre], $Plantilla))
				$Valor = $Valor*$NewValor;
			}
		return $Valor;
		}
		
function SetComboSimple($Nombre,  	//Nombre del Combo				  
				  $Array,		//Array Con Datos
				  $Focus,		//Valor Seleccionado
				  $Ancho,		//Ancho del Combo
				  $Reload=NULL,	//Opcion de Recargar el Combo
				  $Titulo=NULL,	//Campo Titulo a Mostrar en el Combo
				  $Todos =NULL	//Campo Seleccionar Totos
				  ) {
	//Opcion Recargar
	if(isset($Reload)) $Reload=" onChange=\"javascript:recarga(this.form);\"";
	
	echo "<select name='$Nombre'  $Reload 
		  style=\"width:".$Ancho."px; height:17px\">";	
	//Opcion Titulo
	if(isset($Titulo)) echo "<option value='Ninguno'>$Titulo</option>";
	
	//Datos
	foreach ($Array as $CampoId=>$Campo) {
		$seleccionar="";		
		if($CampoId==$Focus) $seleccionar="selected";
		echo "<option value=".$CampoId." ".$seleccionar.">$Campo</option>";
		}
	//Opcion Todos
	$Selected="";
	if(isset($Todos)) {
		if($Focus=="Todos") $Selected="selected";
		echo "<option value='Todos' $Selected>".strtoupper($Todos)."</option>";
		}
	echo "</select>";
	}	
function FechaMySql($my_fecha) {
	$fecha = explode("/",$my_fecha);		
	if (strlen($fecha[2])==2)
		$year="20".$fecha[2];
	else
		$year=$fecha[2];
	$fecha = $year."-".$fecha[1]."-".$fecha[0];
	return $fecha;
	}

function MesNombreCorto($MesNumero) {
	switch($MesNumero) {
		case "01":
			$NomMes = "ENE";
			break;
		case "02":
			$NomMes = "FEB";
			break;
		case "03":
			$NomMes = "MAR";
			break;
		case "04":
			$NomMes = "ABR";
			break;
		case "05":
			$NomMes = "MAY";
			break;
		case "06":
			$NomMes = "JUN";
			break;
		case "07":
			$NomMes = "JUL";
			break;
		case "08":
			$NomMes = "AGO";
			break;
		case "09":
			$NomMes = "SET";
			break;
		case "10":
			$NomMes = "OCT";
			break;
		case "11":
			$NomMes = "NOV";
			break;
		case "12":
			$NomMes = "DIC";
			break;
		}
	return $NomMes;
	}

function MesNombreLargo($MesNumero) {
	switch($MesNumero) {
		case "01":
		case "1":
			$NomMes = "ENERO";
			break;
		case "02":
		case "2":
			$NomMes = "FEBRERO";
			break;
		case "03":
		case "3":
			$NomMes = "MARZO";
			break;
		case "04":
		case "4":
			$NomMes = "ABRIL";
			break;
		case "05":
		case "5":
			$NomMes = "MAYO";
			break;
		case "06":
		case "6":
			$NomMes = "JUNIO";
			break;
		case "07":
		case "7":
			$NomMes = "JULIO";
			break;
		case "08":
		case "8":
			$NomMes = "AGOSTO";
			break;
		case "09":
		case "9":
			$NomMes = "SETIEMBRE";
			break;
		case "10":
			$NomMes = "OCTUBRE";
			break;
		case "11":
			$NomMes = "NOVIEMBRE";
			break;
		case "12":
			$NomMes = "DICIEMBRE";
			break;
		}
	return $NomMes;
}	
function CDNom($CDNumero) {
	switch($CDNumero) {
		case "07":
			$NomCD = "Chiclayo";
			break;
		case "08":
			$NomCD = "Guadalupe";
			break;
		case "09":
			$NomCD = "Cajamarca";
			break;
		case "10":
			$NomCD = "Jaen";
			break;
		case "11":
			$NomCD = "Bagua";
			break;
		case "12":
			$NomCD = "Tarapoto";
			break;
		}
	return $NomCD;
	}

function MostrarFecha() {
	date_default_timezone_set('America/Lima');
	$hoy = getdate();
	$MyFecha = $hoy["mday"]." de ".ucwords(strtolower(MesNombreLargo($hoy["mon"])))." del ".$hoy["year"]." / ".date("g:i a");;
	return $MyFecha;
	}
?>
