<?
include_once ("base/formElemento.class.php");
include_once ("base/filtro.class.php");
include_once("include/css.inc.php");

class lista extends formElemento{


    function lista($campos, $dados, $req){
        $this->campos=$campos;
        $this->dados=is_array($dados)?$dados:array();
        $this->tipo=$req['tipo'];
        $this->idCat=$req['idCat'];
        $this->req=$req;
		$this->inicio();
		$this->layers();
    }
    

    function cabeca($extra=false){
       	?>
        <table cellspacing="0" cellpadding="0" border="0" width="100%" id="lista">
    	<tr class="tituloLista">
		<?
        foreach ($this->campos as $l=>$c){
			if ($c=="ordem") continue;
            if ($this->req['campo']==$c){
	           $nordem=( ((int)$this->req['ordem']) * (-1)) ;
	           $ind=$this->req['ordem']>0?" <":" >";
            } else {
                $nordem=-1;
                $ind="";
            }
            ?><td width=50 class="tdCampos">
            <a href="?campo=<?=$c?>&ordem=<?=$nordem?>" class="formCampos"><?=$l . $ind?></a></td><?
          }
          if ($extra) {?><td width=80 class="tdCampos"><div class="formCampos"><?=$extra ?></div></td><? }
          ?><td width=20 class="tdCampos"><div class="formCampos">&nbsp</div></td><?
        echo "</tr>";

    }
    
    function cabecaSimples($extra=false){
       	?>
        <table cellspacing="0" cellpadding="0" border="0" width="100%" id="lista">
    	<tr class="tituloLista">
		<?
        foreach ($this->campos as $l=>$c){
			if ($c=="ordem") continue;
            ?><td width=50 class="tdCampos">
            <div  class="formCampos"><?=$l?></div></td><?
          }
    		if ($extra) {?><td width=80 class="tdCampos"><div class="formCampos"><?=$extra ?></div></td><? }
          ?><td width=20 class="tdCampos"><div class="formCampos">&nbsp</div></td><?
        echo "</tr>";

    }
    
    function filtros(){

        echo "<tr>";
        foreach ($this->campos as $l=>$c){

            ?><td><?
            $filtro= new filtro($this->tipo, $this->idCat, $c, $this->req['filtro'][$c]);
			?></td><?
          }
          ?><td width=20><img src="images/filtro1.gif" alt="" border=0/></td><?
        echo "</tr>";

    }

    function tabela($setas=false, $caixas=true, $delete=true, $ordem=1, $comentarios=false, $tabelaEstrangeira='comentario', $campoEstrangeiro = 'idArtigo', $tipoEstrangeiro="", $labelEstrangeiro=""){
		global $css;
    	$max= sizeof($this->dados);
		$i=0;
			
		$sql="select min(ordem) as MINTEMP, max(ordem) as MAXTEMP from " .$this->tipo ." where idCat=".$this->idCat;
		$d= new dbElemento;
		$arrTemp=$d->get($sql);
		$minOrdem=$arrTemp[0]['MINTEMP'];
		$maxOrdem=$arrTemp[0]['MAXTEMP'];
			
        foreach($this->dados as $t){

    		$linkId='?id=' . $t["id"];
            $linkEditar='<a href='. $linkId . "&cmd=editar";
			$linkApagar='<a class="accao_registo_lista" href='. $linkId . "&cmd=apagar";
            $linkAcima='<a class="accao_registo_lista" href='. $linkId . "&cmd=acima";
            $linkAbaixo='<a class="accao_registo_lista" href='. $linkId . "&cmd=abaixo";
            $linkComentario="<a class='accao_registo_lista' href='?tipo=".$tabelaEstrangeira."&".$campoEstrangeiro."=". $t["id"]."&tipoEstrangeiro=". $tipoEstrangeiro ;
            $linha=($i % 2)?"1":"0";
            echo '<tr class="linha' . $linha . '">';
        
            foreach ($t as $l=>$c){
				if ($l=="ordem") continue;
				echo "<td>" .$linkEditar . ">$c</a></td>";
			}
				
			if ($comentarios){ 
				print '<td height="20" width=80 align="left">';
				print $linkComentario ."'>$labelEstrangeiro</a>";
				print '</td>';
			}
				
			if ($caixas || $delete || $setas)
				print '<td height="20" width=110 align="left">';
				
			if ($caixas) print '<input type="checkbox" name="linhasMarcadas[]" value="'.$t["id"].'" class="checkbox_lista" />&nbsp';
			//if ($delete) print $linkApagar . ' onclick="return delchk()">
			if ($delete) print $linkApagar . '>
			<img src="images/'.$css.'/apagar20.gif" alt="apagar" border=0 /></a>';
				
            if ($setas){
				if ($ordem ==1){   /* para descer ou subir*/
					if ($t["ordem"] > $minOrdem) 
						print $linkAcima .'><img src="images/'.$css.'/acima.gif" alt="acima" border=0 /></a>';
					else 
						print '<img src="images/spacer.gif" width="16" alt="spacer" border=0 />'; 
					if ($t["ordem"] < $maxOrdem)
						print $linkAbaixo .'><img src="images/'.$css.'/abaixo.gif" alt="abaixo" border=0 /></a>'; 
				} else {
					if ($t["ordem"] < $maxOrdem) 
						print  $linkAcima .'><img src="images/'.$css.'/acima.gif" alt="acima" border=0 /></a>';
					else 
						print '<img src="images/spacer.gif" width="16" alt="spacer" border=0 />'; 
					if ($t["ordem"] > $minOrdem) 
							print $linkAbaixo .'><img src="images/'.$css.'/abaixo.gif" alt="abaixo" border=0 /></a>';
				}
    		}
    		if ($caixas || $delete || $setas)
    			echo "</td>";
    		//echo "</td></tr>\n";        
    		echo "</tr>\n";
			$i++;
    	}
	}

    function toolbars($showcat=false){
        $toolbar= new toolbar(); 
		$toolbar->botao_l("Novo", 50);
		if ($_SESSION['authdata']['super']) $toolbar->botao2_l("Mover", 50);
		$toolbar->botao2_l("Copiar", 50);
		if ($_SESSION['authdata']['super']) $toolbar->botao2_l("Apagar", 50);
		$toolbar->ini();
		$toolbar->nav($this->req['offset'], $this->req['limit'], $this->req['total']);
		$toolbar->ini();
		/* $toolbar->filtro($this->tipo, $this->idCat, "titulo");*/
		if ($showcat)
			$toolbar->categoria($this->tipo, "categoria", $this->req['idCat']);
		$toolbar->procurar($this->req['procurar']);   //mudar para campo
		$toolbar->botao_l("procurar", 90);
		/* $toolbar->botaoHelp($this->tipo,"", 90); */
		$toolbar->fim();
    }
	
	function toolbarsNovo(){
                
        $toolbar= new toolbar(); 
		$toolbar->botao_l("Novo");
		$toolbar->botao2_l("Copiar");
		$toolbar->ini();
		$toolbar->nav($this->req['offset'], $this->req['limit'], $this->req['total']);
		$toolbar->ini();
		/*$toolbar->filtro($this->tipo, $this->idCat, "titulo"); */
		$toolbar->procurar($this->req['procurar']);
		$toolbar->botao_l("procurar", 90);
		$toolbar->fim();
    }
    
	function toolbarsNovo2(){
                
        $toolbar= new toolbar(); 
		$toolbar->botao_l("Novo");
		$toolbar->ini();
		$toolbar->nav($this->req['offset'], $this->req['limit'], $this->req['total']);
		$toolbar->ini();
		$toolbar->procurar($this->req['procurar']);
		$toolbar->botao_l("procurar", 90);
		$toolbar->fim();
    }
    

	
	function mostra(){
		$this->fim();
    }
    
    function layers(){
		$this->layerEscolhaCategoria();
		$this->layerApagar();
    }
	
	function layerEscolhaCategoria(){
	    $f= new formElemento; 
		$c= new categoria; 
		
		if (($this->tipo!="contacto")&&($this->tipo!="newsletter")&&($this->tipo!="produto")
		&&($this->tipo!="buyer")&&($this->tipo!="seller")){ //&&(!strstr($this->tipo, "artigo"))
        	$dadosSel= $c->getCategoriasMesmoTipo($this->tipo);
		
		/*} 	else if(strstr($this->tipo, "artigo")){
			$db= new dbElemento;
			$dados=$db->getListaCategorias("categoria", array("Id"=>"id", "Categoria"=>"categoria", "tipo1"=>"tipo1"));
			
			$tam= sizeof ($dados);
    		for ($i=0;$i<$tam;$i++){
				if (strstr($dados[$i]['tipo1'], "artigo"))
				$dadosSel[$dados[$i]['id']]=$c->path($dados[$i]['id']);
    		}*/	
		}else{
			$db= new dbElemento;
			switch ($this->tipo){
			case "produto": case "buyer":case "seller":
				$temptipo="produto";
				break;				
			default;
				$temptipo=$this->tipo;
			}
			$dados=$db->getListaCategorias($temptipo . "Categoria", array("Id"=>"id", "Categoria"=>"categoria"));
		
			$tam= sizeof ($dados);
    		for ($i=0;$i<$tam;$i++){
				if ($this->tipo=="produto")
					$dadosSel[$dados[$i]['id']]=$c->path($dados[$i]['id'], "produtoCategoria");
				else
					$dadosSel[$dados[$i]['id']]=$dados[$i]['categoria'];
    		}
		}
		?><div class="layer" id="Layer1" style="display: none;">
			<div id="Label1" class="mybg"></div><?
			$f->campoSeleccao("Categoria", "newIdCat", $dadosSel, 0);
			$f->botoesLayer();
		?></div><?
	}
	
	function layerApagar(){
		?>
		<div class="layer" id="Layer2" style="display: none;">
			<div id="Label2" class="mybg">Apagar</div>
			<br>Deseja apagar este(s) registos(s)?<br><br>
			<input id="submit2" type="submit" name="cmd" value="Apagar" class="layer_confirmar">
			<input type="button" value="Cancelar" class="layer_cancelar" >
		</div>
		<?
	}
}
?>


