var express = require('express');
var router = express.Router();
var os = require('os');

/*
 * Postgres
 */
var Pool = require('pg').Pool;
var config = {
  user: 'matjaz',
  password: 'mesnjak',
  database: 'supervizor',
  host: 'server.dev',
  port: 5432,
  max: 10,
  idleTimeoutMillis: 30000,
};
var pool = new Pool(config);

function engine() {
  if(process.versions.node == '7.0.0-pre')
    return 'Chakra ' + os.platform() + ' ' + os.arch()
  else {
    if(typeof process.versions.jxcore == 'undefined') {
      return 'V8 ' + os.platform() + ' ' + os.arch();
    }
    else {
      return 'Spidermonkey ' + os.platform() + ' ' + os.arch();
    }
  }
}


router.get('/', function(req, res, next) {
  //console.log(req.query);
  if(req.query.gumbPrs == 1) {
    console.log(req.get('GEOIP_CITY'))
    pool.query('SELECT prs.popolnoime, prs.ma, prs.davcna, prs.ulica, prs.hs, prs.dodatek, prs.po, prs.posta, prs.obcina, lokacija.davcna_stevilka LOKACIJA, delnice.znak from prs LEFT JOIN lokacija on lokacija.davcna_stevilka = prs.davcna LEFT JOIN delnice ON delnice.davcna = prs.davcna WHERE prs.davcna IS NOT NULL AND prs.popolnoime ~* $1', [req.query.poizvedba], function (err, result) {
      if(err) {
        throw err;
      }
      res.render('prssearch', {title: 'Rezultati iskanja po Poslovnem registru Slovenije', results: result.rows, engine: engine()});
    })
  }
  else {
    pool.query('SELECT rpu.naziv, rpu.sifra_pu, rpu.maticna, rpu.davcna, rpu.kraj, rpu.obcina, rpu.naslov, rpu.postna_stevilka, rpu.posta, lokacija.davcna_stevilka LOKACIJA FROM rpu LEFT JOIN lokacija ON rpu.davcna = lokacija.davcna_stevilka WHERE rpu.naziv ~* $1 LIMIT 100', [req.query.poizvedba], function (err, result) {
      if(err) {
        throw err;
      }
      res.render('rpusearch', {title: 'Rezultati iskanja po Registru proračunskih uporabnikov', results: result.rows, engine: engine()});
    })  
  }
});

module.exports = router;
