var gridStyle = "niccolaiStyle";

function callAjax(url,options,leftpos) {
  
  if (leftpos > 0) {
    $('waitbox2').style.left=(leftpos)+"px";
    
  }
 
  if ($('waitbox2')) $('waitbox2').show();
  new Ajax.Request(url,options);
}

function ajaxCompleted(action,tabname) {
    
    closePanel(tabname);
}

function openPanel(panel,objname,content,top,width,height)
{   
    var xpos = 50;
    var ypos = 50;
    var scheda_mode =0;

    //if (objname != "" && 1 > 2) {
    if (panel == "viewerror" || objname == "viewscadenza" || objname == "viewpanel" || objname == "viewpre") {
        scheda_mode = 1;
        var obj=$(objname);
        if (!obj) {
            alert("no obj");
        }
        if($("tabnoteparcella") && objname == "viewpanel") {
           xpos = 222;
           ypos = 47;
        } else {
            var coordinates = getAnchorPosition(obj.id);
            xpos = coordinates.x;
            ypos = coordinates.y;

            if (objname == "viewpre") {xpos += 20;ypos += 40;}
        }
    } else {
        xpos = 222;
        ypos = 47;
    }

    var explain=$(panel);

    explain.className='tablepanel';
    if (panel != "viewerror" && panel != "viewerror2" && panel != "viewerror3") {
      var divform=$("divform");
      divform.update(content);
      var maindiv=$("maindiv");
      maindiv.className='fullscreen transparent';
    } else {
      explain.update(content);
      explain.className='errorpanel';
    }

    if (scheda_mode == 0) {
        
        //per posizionari le schede al centro delle schermo
        var screen_width = screen.width;
        if (window.innerWidth) {
            screen_width = window.innerWidth;
        }
        xpos = Math.floor((screen_width-width)/2) ;

        var screen_height = window.innerHeight;
        var ytop = ypos-top;
        if (screen_height) {
          ytop = Math.floor((screen_height-height)/2);
        }
    } else {
        
        ytop = ypos-top;
    }

//    if ($("tabselected")) {
//        alert("mode0");
//        xpos -= 220;
//
//    }

    explain.style.top=(ytop)+"px";
    explain.style.left=(xpos)+"px";
    explain.style.width=width+"px";
    explain.style.height=height+"px";
    explain.focus();
}

function closePanel(pannello)
{
    var page = -2;
    if ($("current_page")) {
        page = $("current_page").value - 1;
    }

    //prestazione
    var pathname = location.pathname;

    if(pannello == "impostazionifiscali") {
        url="/impostazionifiscali/page";
        changeListPage(page);
    }

    if (pannello == "application") {
        location.href = "/login/login";
    }

    if (pannello == "utente") {
        url="/users/page";
        changeListPage(page);
    }

    if (pannello == "viewutenteesterno") {
        url="/utentiesterni/page";
        changeListPage(page);
    }

    if (pannello == "tabellaconticorrenti") {
        url="/contocorrente/page";
        changeListPage(page);
    }

//    alert(pannello + " @ " + pathname);

    if (pannello == "oldmessage") {
        url="/messaggi/page";
        changeListPage(page);
    }

    if (pannello == "newmessage" && pathname == "/messaggi/") {
        url="/messaggi/page";
        changeListPage(page);
    }
    

    //schede nome impostazioni
    if (pannello == "datistudio" ||  pannello == "tabellaavvocati" || pannello == "tabellastati" || pannello == "tabellacitta" || pannello == "tabellareato" || pannello == "tabellaistruttori" || pannello == "categoriadocumento" || pannello == "tabellatipocliente" || pannello == "tabellaprocuratori" || pannello == "tabellatipologiapratica" || pannello == "tabellaautorita" || pannello == "tabellaoggetto" || pannello == "tabellaruoloprocessuale") {
        url="/"+pannello+"/page";
        changeListPage(page);
    }

    if (pannello == "cliente" || pannello == "controparte" || pannello == "avversario" || pannello == "rubrica" || pannello == "dominus" ) {
        if (pathname.indexOf("/"+pannello) > -1 || pathname.indexOf("/ricercamultianagrafica") > -1 ) {
          if (pathname.indexOf("/ricercamultianagrafica") > -1 ) {
            pannello = "ricercamultianagrafica";
          }
          url="/"+pannello+"/page";
          changeListPage(page);
        } else {
            var arr = "clienti"; //"clienti";
            if (pannello == "controparte") {
              arr = "controparti";
            }
            if (pannello == "avversario") {
              arr = "avversari";
            }
            url="/archivio/getajaxdata";
            optionsDossierparti.parameters="dossierid="+getDossierId()+"&tabella="+pannello+"&arr="+arr;
            callAjax(url,optionsDossierparti);
        }
    }
    if (pannello == "scadenzario") {
        if (pathname.indexOf("/scadenzario") > -1 ) {
          url="/scadenzario/page";
          changeListPage(page);
        } else {
            if ($("modulo")) {
              //optionsDossierGrid.parameters="dossierid="+getDossierId()+"&tabella=primanota";
              //callAjax(url,optionsDossierGrid);
              optionsDossierGrid.parameters="dossierid="+getDossierId()+"&tabella="+pannello;
              pannello = "primanota";
            } else {
              optionsDossierGrid.parameters="agenda=1&linkuid="+$("linkuid").value+"&tabella="+pannello;
              
            }
            url="/archivio/updategrid";
            callAjax(url,optionsDossierGrid);
        }
    }
    if (pannello == "parcella") {
        if (pathname.indexOf("/parcella") > -1 ) {
          url="/parcella/page";
          changeListPage(page);
        } else {
          url="/archivio/updategrid";
          optionsDossierGrid.parameters="dossierid="+getDossierId()+"&tabella="+pannello;
          callAjax(url,optionsDossierGrid);
          //aggiorno anche la griglia dello movimenti xkè l'udienza potrebbe aver caricato delle note
          optionsDossierGrid.parameters="dossierid="+getDossierId()+"&tabella=primanota"; //NEW
          callAjax(url,optionsDossierGrid);
          //TODO DEVI AGGIORNARE ANCHE LE SCADENZE IN CASo DI PResTAZIONI ?
        }
    }
    if (pannello == "agenda") {
        if (pathname.indexOf("/agenda") > -1 ) {
          url="/agenda/page";
          changeListPage(page);
        } else {
          url="/archivio/updategrid";
          optionsDossierGrid.parameters="dossierid="+getDossierId()+"&tabella="+pannello;
          callAjax(url,optionsDossierGrid);
          //aggiorno anche la griglia dello scadenzatio xkè l'udienza potrebbe aver caricato delle scadenze correlate'
          optionsDossierGrid.parameters="dossierid="+getDossierId()+"&tabella=scadenzario";
          callAjax(url,optionsDossierGrid);
          //aggiorno anche la griglia dello movimenti xkè l'udienza potrebbe aver caricato delle note
          optionsDossierGrid.parameters="dossierid="+getDossierId()+"&tabella=primanota"; //NEW
          callAjax(url,optionsDossierGrid);
        }
    }
    var linkuid = "";
    if (pannello == "documentocliente") {
      linkuid = $("linkuid").value;
      url="/archivio/updategrid";
      optionsDossierGrid.parameters="linkuid="+linkuid+"&tabella="+pannello;
      callAjax(url,optionsDossierGrid);
    }

    if (pannello == "primanota") {
         if (pathname.indexOf("/primanota") > -1 ) {
          url="/primanota/page";
          changeListPage(page);
        } else {
            linkuid =0;
            var dossierid = 0;
            var mode = 0;
            if ($("linkuid")) {
                linkuid = $("linkuid").value;
                mode = 1;

            }
            if ($("dossierid")) {
                dossierid = $("dossierid").value;
            }

            url="/archivio/updategrid";
            optionsDossierGrid.parameters="mode="+mode+"&dossierid="+dossierid+"&linkuid="+linkuid+"&tabella="+pannello;
            callAjax(url,optionsDossierGrid);
            if (mode == 1 && 1 > 2) { //NEW
                optionsDossierGrid.parameters="mode=0&dossierid="+dossierid+"&linkuid="+linkuid+"&tabella="+pannello;
                callAjax(url,optionsDossierGrid);
            }
        }
    }

    if (pannello == "prestazione") {
        
        linkuid =0;
        var dossierid = 0;
        var mode = 0;
        if ($("linkuid")) {
            linkuid = $("linkuid").value;
            mode = 1;

        }
        if ($("dossierid")) {
            dossierid = $("dossierid").value;
        }
        url="/archivio/updategrid";
        optionsDossierGrid.parameters="dossierid="+dossierid+"&linkuid="+linkuid+"&tabella=prestazioni&mode="+mode;
        callAjax(url,optionsDossierGrid,10);
    }


    var panel;
    var maindiv;

    if (pannello == "emails") {
        dossierid = window.parent.document.getElementById('id').value;
        url="/archivio/updategrid";
        optionsDossierGrid.parameters="dossierid="+dossierid+"&tabella="+pannello;
        callAjax(url,optionsDossierGrid);
    }

    if (pannello == "esternipratica") {
        dossierid = window.parent.document.getElementById('id').value;
        url="/archivio/updategrid";
        optionsDossierGrid.parameters="dossierid="+dossierid+"&tabella="+pannello;
        callAjax(url,optionsDossierGrid);
    }

    if (pannello == "documento") {
       panel = window.parent.document.getElementById('explain');
       maindiv = window.parent.document.getElementById('maindiv');
       if (pathname.indexOf("/documento") > -1 ) {
         url="/documento/page";
         changeListPage(page);
       } else {
         dossierid = window.parent.document.getElementById('id').value;
         url="/archivio/updategrid";
         optionsDossierGrid.parameters="dossierid="+dossierid+"&tabella="+pannello;
         callAjax(url,optionsDossierGrid);
       }
    } else {
      panel=$('explain');
      maindiv=$("maindiv");
    }

    if (pannello == "viewerror" || pannello == "viewerror2"  || pannello == "viewerror3") {
      panel=$(pannello);
      panel.className='hidden';
    } else {
      panel.className='hidden';
      maindiv.className='hidden';
    }

    if (pannello == "archivio") {
        
        url = "/archivio/page";
    }
} //close panel

function deleteFile(id) {
  if(!confirm("Confermi la cancellazione?")) {
   return;
  }
  url="/archivio/deletefile";
  optionsDossierGrid.parameters="id="+id+"&dossierid="+getDossierId()+"&tabella=documento";
  callAjax(url,optionsDossierGrid);
}

function duplicateFile(id) {
  url="/archivio/duplicatefile";
  optionsDossierGrid.parameters="id="+id+"&dossierid="+getDossierId()+"&tabella=documento";
  callAjax(url,optionsDossierGrid);
  
}

function importDocument(objname,pratica,uid) {
  if (!uid) {
      uid = pratica;
  }

  var dossierid = parent.document.getElementById("id").value;

  url="/archivio/importdocument";
  optionsDossierGrid.parameters="uid="+uid+"&dossierid="+dossierid+"&tabella=documento";
  callAjax(url,optionsDossierGrid);

}

function deleteUdienza(id) {
  if(!confirm("Confermi la cancellazione?")) {
   return;
  }
  url="/archivio/deleteudienza";
  optionsDossierGrid.parameters="id="+id+"&dossierid="+getDossierId()+"&tabella=agenda";
  callAjax(url,optionsDossierGrid);

  closePanel('agenda');

}

function printParcella(id) {
    pdfurl = "/makepdf/parcella?id="+id;
    window.open(pdfurl);
}

function deleteScadenza(id) {
  if(!confirm("Confermi la cancellazione2?")) {
   return;
  }
  var pathname = location.pathname;
  if ($("modulo")) {
   optionsDossierGrid.parameters="id="+id+"&dossierid="+getDossierId()+"&tabella=scadenzario";
  } else {
   var extra = "";
   if (pathname.indexOf("/info/scadenze") > -1 ) {
    extra = "&agenda=1";
   }
    optionsDossierGrid.parameters="id="+id+"&linkuid="+$("linkuid").value+"&tabella=scadenzario&dossierid="+$("dossierid").value+extra;
  }
  url="/archivio/deletescadenza";
  callAjax(url,optionsDossierGrid);
  
}

function deleteDocument(id) {
  if(!confirm("Confermi la cancellazione?")) {
   return;
  }
  url="/archivio/deletedocument";
  optionsDossierGrid.parameters="id="+id+"&linkuid="+$("linkuid").value+"&tabella=documentocliente";
  callAjax(url,optionsDossierGrid,10);
  closePanel('documentocliente');
}

function deleteNota(id) {
  if(!confirm("Confermi la cancellazione?")) {
   return;
  }
  url="/archivio/deletenota";
  var linkuid = 0;
  var mode = 0;

  if ($("linkuid")) {
   linkuid = $("linkuid").value
   mode = 1;
  }
  var dossierid = 0;
  if ($("dossierid")) {
    dossierid = $("dossierid").value
  }

  optionsDossierGrid.parameters="dossierid="+dossierid+"&id="+id+"&linkuid="+linkuid+"&tabella=primanota&mode="+mode;
  callAjax(url,optionsDossierGrid,10);
}
function deleteParcella(id) {
  if(!confirm("Confermi la cancellazione?")) {
   return;
  }
  
  var dossierid = 0;
  if ($("dossierid")) {
    dossierid = $("dossierid").value
  }
  url="/archivio/deleteparcella";

  optionsDossierGrid.parameters="dossierid="+dossierid+"&id="+id+"&linkuid=0&tabella=primanota&mode=0";
  callAjax(url,optionsDossierGrid,10);
  
  optionsDossierGrid.parameters="dossierid="+dossierid+"&id="+id+"&tabella=parcella";
  callAjax(url,optionsDossierGrid,10);

  closePanel('parcella');
}

function deletePrestazione(id) {
  if(!confirm("Confermi la cancellazione?")) {
   return;
  }
  
  var dossierid = 0;
  if ($("dossierid")) {
    dossierid = $("dossierid").value
  }

  var linkuid = 0;
  var mode = 0;
  if ($("linkuid")) {
   linkuid = $("linkuid").value
   mode = 1;
  }
  
  url="/archivio/deleteprestazione";

  optionsDossierGrid.parameters="dossierid="+dossierid+"&id="+id+"&linkuid="+linkuid+"&tabella=prestazioni&mode="+mode;
  callAjax(url,optionsDossierGrid,10);

}

function formatValue(value) {
  var space = "&nbsp;";
  if(value) {
   if (value == " ") return space;
   return value;
  } else {
   return space;
  }
}


//get coordinate of passed object name
function getAnchorPosition(anchorname){var useWindow=false;var coordinates=new Object();var x=0,y=0;var use_gebi=false, use_css=false, use_layers=false;if(document.getElementById){use_gebi=true;}else if(document.all){use_css=true;}else if(document.layers){use_layers=true;}if(use_gebi && document.all){x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);}else if(use_gebi){var o=document.getElementById(anchorname);x=AnchorPosition_getPageOffsetLeft(o);y=AnchorPosition_getPageOffsetTop(o);}else if(use_css){x=AnchorPosition_getPageOffsetLeft(document.all[anchorname]);y=AnchorPosition_getPageOffsetTop(document.all[anchorname]);}else if(use_layers){var found=0;for(var i=0;i<document.anchors.length;i++){if(document.anchors[i].name==anchorname){found=1;break;}}if(found==0){coordinates.x=0;coordinates.y=0;return coordinates;}x=document.anchors[i].x;y=document.anchors[i].y;}else{coordinates.x=0;coordinates.y=0;return coordinates;}coordinates.x=x;coordinates.y=y;return coordinates;}
function getAnchorWindowPosition(anchorname){var coordinates=getAnchorPosition(anchorname);var x=0;var y=0;if(document.getElementById){if(isNaN(window.screenX)){x=coordinates.x-document.body.scrollLeft+window.screenLeft;y=coordinates.y-document.body.scrollTop+window.screenTop;}else{x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;}}else if(document.all){x=coordinates.x-document.body.scrollLeft+window.screenLeft;y=coordinates.y-document.body.scrollTop+window.screenTop;}else if(document.layers){x=coordinates.x+window.screenX+(window.outerWidth-window.innerWidth)-window.pageXOffset;y=coordinates.y+window.screenY+(window.outerHeight-24-window.innerHeight)-window.pageYOffset;}coordinates.x=x;coordinates.y=y;return coordinates;}
function AnchorPosition_getPageOffsetLeft(el){var ol=el.offsetLeft;while((el=el.offsetParent) != null){ol += el.offsetLeft;}return ol;}
function AnchorPosition_getWindowOffsetLeft(el){return AnchorPosition_getPageOffsetLeft(el)-document.body.scrollLeft;}
function AnchorPosition_getPageOffsetTop(el){var ot=el.offsetTop;while((el=el.offsetParent) != null){ot += el.offsetTop;}return ot;}
function AnchorPosition_getWindowOffsetTop(el){return AnchorPosition_getPageOffsetTop(el)-document.body.scrollTop;}

function addRemoveDays(obj,operation,days) {
    var data = document.getElementById(obj);
    var strdata = data.value;
    if (strdata == "") {
        var today = new Date();
        var str = formatDateValue(today.getDate()) + '/' + formatDateValue((today.getMonth()+1)) + '/' + today.getFullYear();
        data.value = str;
        changeListPage(-2);
        return;
    }
    var splitted = strdata.split("/");
    strdata = splitted[1] + "/" +  splitted[0] + "/" + splitted[2];
    var d = new Date(splitted[2],(splitted[1] -1),splitted[0]);

    if (operation == "+") {
      d.setDate(d.getDate() + days);
    } else {
      d.setDate(d.getDate() - days);
    }
    var str = formatDateValue(d.getDate()) + '/' + formatDateValue((d.getMonth()+1)) + '/' + d.getFullYear();
    data.value = str;
    changeListPage(-2);
}

function formatDateValue(val) {
  val = ""+val;
  if (val.length == 1) {
    val = "0"+val;
  }
  return val;
}

//mostra - nasconde la riga di comandi sulla cella
function viewCommand(objid,view,trrow) {
      var obj = document.getElementById(objid);
      //var tr = document.getElementById(trrow);
      //listRowEven
      //listRowOdd
      //var classnametr = tr.className;

      if (view == 1) {
        obj.className = '';
        //tr.className = 'listRowSelected';
      } else {
        obj.className = 'hidden';
        //tr.className = 'listRowEven';
      }

     
}

//mostra-nasconde elemento con un altro
function switchControl(img1,img2,name1,name2,classname1,classname2,view,img3) {
    var strmode = name1+"mode";
    var im3 ;
    if(img3) {
        im3 = document.getElementById(img3);
        
    }
    var im1 = document.getElementById(img1);
    var im2 = document.getElementById(img2);
    var obj1 = document.getElementById(name1);
    var obj2 = document.getElementById(name2);
    var mode = document.getElementById(strmode);
    if (view == 1) {
        im1.className = "hidden";
        if(img3) im3.className = "hidden";
        obj1.className = classname1;
        obj2.className = "hidden";
        im2.className = "hand2";
        obj1.focus();
        mode.value = 1;

        if(im3) im3.className = "hidden";

    } else {
        im1.className = "hidden";
        if(img3) im3.className = "hand2";
        obj1.className = 'hidden';
        obj2.className = classname2;
        im2.className = "hand2";
        obj2.focus();
        mode.value = 2;

        if(im3) im3.className = "saveIcon hand2";
    }
}

function openPratica(pratica) {
  if (isNaN(pratica)) return false;
  url="/archivio/gopratica";
  optionsDossierparti.parameters="pratica="+pratica;
  callAjax(url,optionsDossierparti);
}

function saveInList(name,tablename,num) {
    
    var item = document.getElementById(name+"2");
    var value = item.value;
    
    if (value == "") {alert("Nessun valore inserito");return;}

    url="/archivio/saveinlist";
    optionsFunction.parameters="tablename="+tablename+"&value="+value+"&name="+name+"&num="+num;
    callAjax(url,optionsFunction);
}

function addOptionToSelect(theSel, newText, newValue)
{
  
  if (theSel.length == 0) {
    var newOpt1 = new Option(newText, newValue);
    theSel.options[0] = newOpt1;
    theSel.selectedIndex = 0;
  } else if (theSel.selectedIndex != -1) {
    var selText = new Array();
    var selValues = new Array();
    var selIsSel = new Array();
    var newCount = -1;
    var newSelected = -1;
    var i;
    for(i=0; i<theSel.length; i++)
    {
      newCount++;
      if (newCount == theSel.selectedIndex) {
        selText[newCount] = newText;
        selValues[newCount] = newValue;
        selIsSel[newCount] = false;
        newCount++;
        newSelected = newCount;
      }
      selText[newCount] = theSel.options[i].text;
      selValues[newCount] = theSel.options[i].value;
      selIsSel[newCount] = theSel.options[i].selected;
    }
    for(i=0; i<=newCount; i++)
    {
      var newOpt = new Option(selText[i], selValues[i]);
      theSel.options[i] = newOpt;
      theSel.options[i].selected = selIsSel[i];
      
    }

    theSel.selectedIndex = --newSelected; //my
  }
}

function truncateString(value,size,last) {

    if (value.length > size) {
      value = value.substring(0, size)+last;
    }
    return value;
}

