/*
sfHover = function(){
  var sfEls = document.getElementById("menu").getElementsByTagName("LI");
  for(var i=0; i<sfEls.length; i++){
    sfEls[i].onmouseover=function(){this.className+=" sfhover";}
    sfEls[i].onmouseout=function(){this.className=this.className.replace(new RegExp(" sfhover\\b"), "");}
  }
}
//if (window.attachEvent) window.attachEvent("onload", sfHover);


$(function(){
$(".#menu").children("li").hover(
    function(){$(this).children("ul").slideDown("slow");},
    function(){$(this).children("ul").css({left:"-1px"}).slideUp("slow");});
$(".submenu").children("li").hover(
    function(){$(this).children("ul").slideDown("slow");},
    function(){$(this).children("ul").slideUp("slow");});
*/
function ltrim(str){
  return str.replace(/^\s+/, '');
}

function rtrim(str){
  return str.replace(/\s+$/, '');
}

function trim(str){
  return str.replace(/^\s+|\s+$/g, '');
}

function pretty(str){
  return str.toLowerCase().replace(/\b[a-z]/g, cnvrt);
  function cnvrt() {
    return arguments[0].toUpperCase();
  }
}

function isInteger(n){ 
  return !isNaN(parseInt(n)); 
} 

function isReal(n){ 
  return !isNaN(parseFloat(n)) && isFinite(n); 
} 

function typeOf(v) {
  var t = typeof v;
  if(t === 'object') {
    if(v instanceof Array) {
      return 'array';
    } else if(v === null) {
      return 'null';
    } else {
      return 'object';
    }
  }
  return t;
}

function isEmail(mail){
  return /^[\w]+(\.[\w]+)*@[\w]+(\.[\w]+)+$/.test(mail);
}

function bisestile(anno){
  return (anno % 4 != 0 ? false : ( anno % 100 != 0? true: ( anno % 400 != 0? false : true)));
}

function isData(data){
  var days = [31,28,31,30,31,30,31,31,30,31,30,31];
  var espr = /^[\d]{2}[.\/-][\d]{2}[.\/-][\d]{4}$/;
  var result = false;
  if(espr.test(data)){
    var dt = data.split(/[.\/-]/);
    days[1] = bisestile(dt[2]) ? 29 : 28;
    result = dt[1] >= 1 && dt[1] <= 12 && dt[0] >= 1 && dt[0] <= days[dt[1]-1];
  }
  return result;
}

function isDataTime(data){
  return /^[0-9]{2}\/[0-9]{2}\/[0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2}$/.test(data);
}

function DateTime(){
  var dt = new Date();
  var giorni = new Array("Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato");
  var mesi = new Array("Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre");
  var result = giorni[dt.getDay()] + " " + dt.getDate() + " " + mesi[dt.getMonth()] + " " + dt.getFullYear() + " ";
  var hms = dt.getHours();
  if (hms < 10) hms = "0" + hms;
  result += hms + ":";
  hms = dt.getMinutes();
  if (hms < 10) hms = "0" + hms;
  result += hms + ":";
  var hms = dt.getSeconds();
  if (hms < 10) hms = "0" + hms;
  result += hms;
  return result;
}

function roundTo(value, decimal){
  var i = value * Math.pow(10, decimal);
  i = Math.round(i);
  return i / Math.pow(10, decimal);
}

//visualizza form login
function switchLogin(){
  var table1 = document.getElementById("tableheadlogin");
  var table2 = document.getElementById("tablebodylogin");
  if (table1.style.display == "none") {
    table1.style.display = "block";
    table2.style.display = "none";
  } else {
    table1.style.display = "none";
    table2.style.display = "block";
  }
  document.getElementById("username").focus();
}

//codifica password con sha256

function codificaPassword(){
  var username = document.getElementById("username").value;
  var password = document.getElementById("password").value;
  var passkey = document.getElementById("passkey").value;
  if (username.length > 0 && password.length > 0 && passkey.length > 0) {
    document.flogin.action = addUrlParam(location.href, "user=" + username);
    document.getElementById("password").value = SHA256(passkey + SHA256(password));
    return true;
  } else {
    alert("Inserire username e password!");
    return false;
  }
}

function logout(){
  document.flogout.action = location.href;
  document.flogout.submit();
}

function openSmallWindow(nome){
  window.open(nome, "", "width=400,height=300,directories=no,location=no,menubar=no,resizable=no,scrollbars=no,status=no,toolbar=no");
}

function openModalSmallWindow(nome){
  var val = window.showModalDialog(nome,null,"dialogWidth=400,dialogHeight=300,resizable=no,scrollbars=no,status=no,toolbar=no");
  return val;
}

function loadSmallWindow(nome){
  location.href = nome;
}

function chiudi() {
  if (opener) 
    opener.location.reload();
  window.close();
}

function loadWindow(page,param){
  location.href = addUrlParam(page,param);
}

function addUrlParam(ref,param){
  var str = ref;
  params = param.split('&');
  for(var i = 0; i < params.length; i++){
    str = addParam(str,params[i]);
  }
  return str;
}

function addParam(ref,param){
  var page = ref.split('?');
  var str = "?" + param;
  if (page.length == 2) {
    var params = page[1].split('&');
    for(var i = 0; i < params.length; i++){
      if(params[i].split('=')[0] != param.split('=')[0])
        str += "&" + params[i];
    }
  }
  return page[0] + str;
}

function queryString(nome) {
  var page = location.href.split('?');
  var result = null;
  if (page.length == 2) {
    var param,params = page[1].split('&');
    for (var i = 0; i < params.length; i++) {
      param = params[i].split('=');
      if (param[0] == nome) 
        result = param[1];
    }
  }
  return result;
}

function getCookie(name) {
  var result = "";
  if (document.cookie.length > 0) {
    var cookie, cookies = document.cookie.split("; ");
    for (var i = 0; i < cookies.length; i++) {
      cookie = cookies[i].split("=");
      if (name == cookie[0]) result = unescape(cookie[1]);
    }
  }
  return result;
}

function setCookie(name, value, days) {
  var cookie = name + "=" + escape(value);
  var dtExpires = new Date();
  dtExpires.setTime(new Date().getTime() + days * 24 * 60 * 60 * 1000);
  cookie += "; expires=" + dtExpires.toGMTString();
  document.cookie = cookie;
}
