<?php

  if (!isset($gCms)) exit;
    
  function DisplayData($params,$start,$app){
    $row_ctr=0;

    $name=$params['name'];
    $type=$params['type'];
    $cols=explode(',',$params['cols']);
    $rows=$params['rows'];

    $dataset = array();
    $dataset =  $_SESSION[$name.'_DATASET'] ;
    $offset = $_SESSION[$name.'_OFFSET'];
    $count = count($dataset);

    //echo 'start='.$start.'<br>';

    //if ($offset < $count)$_SESSION[$name.'_PAGENO'] += 1;    
    for($offset = $start;$row_ctr<$rows;$offset++){
      //if ($offset == $rows)break;  
      $temp_arr_n[$row_ctr]=$dataset[$offset];
      $row_ctr++;
    }
  
    if(!isset($temp_arr_n)) {
        for($offset=$count-($count%$rows);$row_ctr<($count%$rows);$offset++){
          if ($offset == count($dataset))break;  
          $temp_arr_n[$row_ctr]=$dataset[$offset];
          $row_ctr++;
        }
      }
            
      $app->smarty->assign('LVNAME',$name);
      $app->smarty->assign('COLNAMES',$cols);
      $app->smarty->assign('DATASET',$temp_arr_n); 
      $app->smarty->assign('ROWID',$rowid);
      $app->smarty->assign('ROWS',$rows);
      $app->smarty->assign('FILLER_ROWS',$rows + 1  - $row_ctr);
      
      echo $app->ProcessTemplate('lvmain.tpl');                 
  }  
    
  function MoveNext($params,$dataset,$count,$offset,$app){
    $row_ctr=0;

    $name=$params['name'];
    $type=$params['type'];
    $cols=explode(',',$params['cols']);
    $rows=$params['rows'];

    $dataset = array();
    $dataset =  $_SESSION[$name.'_DATASET'] ;
    $offset = $_SESSION[$name.'_OFFSET'];
    $count = count($dataset);

    if ($offset < $count)$_SESSION[$name.'_PAGENO'] += 1;    
    for($offset;$row_ctr<$rows;$offset++){
      if ($offset == $count)break;  
      //$temp_arr_n[$row_ctr]=$dataset[$offset];
      $row_ctr++;
    }
      
    /*
    if(!isset($temp_arr_n)) {
        for($offset=$count-($count%$rows);$row_ctr<($count%$rows);$offset++){
          if ($offset == count($dataset))break;  
          $temp_arr_n[$row_ctr]=$dataset[$offset];
          $row_ctr++;
        }
      }
            
      $app->smarty->assign('LVNAME',$name);
      $app->smarty->assign('COLNAMES',$cols);
      $app->smarty->assign('DATASET',$temp_arr_n); 
      $app->smarty->assign('ROWID',$rowid);
      $app->smarty->assign('ROWS',$rows);
      $app->smarty->assign('FILLER_ROWS',$rows + 1  - $row_ctr);
      
      echo $app->ProcessTemplate('lvmain.tpl');                 
      */
      $_SESSION[$name.'_OFFSET']=$offset;
  }     

  function MoveFirst($params,$dataset,$count,$offset,$app){
    $row_ctr=0;
    $name=$params['name'];
    $type=$params['type'];
    $cols=explode(',',$params['cols']);
    $rows=$params['rows'];

    $dataset = array();
    $dataset =  $_SESSION[$name.'_DATASET'] ;
    $offset = $_SESSION[$name.'_OFFSET'];
    $count = count($dataset);
    
    for($offset=0;$row_ctr<$count;$offset++){
      if ($row_ctr == $rows)break;
      if ($offset == $count)break;  
      //$temp_arr[$row_ctr]=$dataset[$offset];
      $row_ctr++;
    }
    
    /*
    $app->smarty->assign('LVNAME',$name);
    $app->smarty->assign('COLNAMES',$cols);
    $app->smarty->assign('DATASET',$temp_arr); 
    $app->smarty->assign('ROWID',$rowid);
    $app->smarty->assign('ROWS',$rows);
    $app->smarty->assign('FILLER_ROWS',$rows + 1  - $row_ctr);
    echo $app->ProcessTemplate('lvmain.tpl');
    */
    $_SESSION[$name.'_OFFSET']=$offset;
    $_SESSION[$name.'_PAGENO'] = 1;
  }     

?>