//******************************************************************************
// **  WEB APPLICATION LIBRARY  **            novas-i 2007(r)
// TITLE  : shInComa
// AUTHOR : A. SIEDLER                             2006-04-25
// UPDATED: A. SIEDLER                             2007-01-06
//******************************************************************************










//******************************************************************************
// FUNCTION: 
// ARGUMENT: 
// RETURNS : 
//****************************************************************************
function shInComaSetField(Lname, Lvalue)
{
  var Lbase=document["shInComaForm"];
  //  var Lobj = Lbase.shFid.cloneNode(false);
  var Lobj = document.createElement("INPUT");

  Lobj.setAttribute("type", "hidden");
  Lobj.setAttribute("name", Lname);
  Lobj.setAttribute("value", Lvalue);
  Lbase.insertBefore(Lobj, Lbase.shFid);
}










//****************************************************************************
// FUNCTION: Form validation for edition and new contact
//           for local data manipulation, create "function shWebContEditLoc(Vop)"
// ARGUMENT: 0 (str)form_name
// ARGUMENT: 1 (int)row_id
// ARGUMENT: 2 (int)operation 0=del 1=ins 2=mod
// RETURNS : void
//******************************************************************************
function shgetxxx(Vform)
{


Lobj="shFbase";
  Lobj=eval("document."+Vform+"."+Lobj);

  Lobj=eval("document."+Vform);

Lstr="";

alert(Lobj.childNodes.length);
i=0;



//var xxx = document.createNodeIterator(Lobj);alert(xxx.nextNode().name);return;
list_field=Array();
while((Ltmp=Lobj.childNodes[i++]))
{
  if("shFend"==Ltmp.name) break;

//Lstr+=Lobj.childNodes[i++].name + "\n";
//Ltmp=Ltmp.name;// + "\n";
  if(Ltmp.name)
  {
    Lstr+=Ltmp.name + "\n";
    list_field[i]=Ltmp.name;
  }

  //alert(Lstr);

}

alert(Lstr);

//shInComaForm0

/*
(nodeName)
 (nodeValue)


*/
alert(Lobj.name);

}


function shInComaGet(VformName, Vid, Vop)
{
  Lobj=eval("document."+VformName);

shgetxxx(VformName);return;


  if(0==Vop)
  {
    Lres = confirm("ATENÇÃO:\nvocê realmente, sinceramente, quer remover para sempre o contato de índice '" + Vid + "' ?\nmas tem realmente certeza do que está fazendo ?");
    if(!Lres) return;
  }

  Lurl=Lobj.shInComaUrl.value+"?Vid="+Vid+"&Vop="+Vop;
  document.location.href=Lurl;
}










//******************************************************************************
// create dynamically document.shInComaForm.shInComaForm(xxx) fields
// in order to allow multiple areas simultainously
//******************************************************************************
function shInComaPost(VformName, Vid, Vop)
{
  var LobjName="document."+VformName;
  var Lobj=eval(LobjName);
  LobjName+=".";

  Lhpos=document.body.scrollLeft;
  Lvpos=document.body.scrollTop;

  switch(Vop)
  {
  case 0: 
    Lres = confirm("ATENÇÃO:\nvocê realmente, sinceramente, quer remover para sempre o contato de índice '" + Vid + "' ?\nmas tem realmente certeza do que está fazendo ?");
    if(!Lres) return;
    document.shInComaForm.shInComaForm.value="del";
//alert(Lobj.shFid); return;

    Lobj.shFid.value=Vid;
    break;
  case 1: document.shInComaForm.shInComaForm.value="ins"; break;
  case 2: document.shInComaForm.shInComaForm.value="mod"; break;
  }

  if(typeof(tinyMCE) != "undefined") tinyMCE.triggerSave();
  Lfields=Lobj.shInComaFields.value;
  document.shInComaForm.shInComaFields.value=Lfields;
  document.shInComaForm.shInComaName.value=VformName;
  document.shInComaForm.shFid.value=Lobj.shFid.value;

  document.shInComaForm.shFhpos.value=Lhpos;
  document.shInComaForm.shFvpos.value=Lvpos;

  LfieldList=sh_s2a(Lfields);

  for(i=0; i<LfieldList.length; i=+i+2)
  {
    var Ltmp="shF"+LfieldList[i].substr(2);
    Lval=eval(LobjName+Ltmp+".value");
    shInComaSetField(Ltmp, Lval);
    // pre auto node creation - in case of browser compat bug
    // Ltmp="document.shInComaForm."+Ltmp+".value="+LobjName+Ltmp+".value";
    // eval(Ltmp);
  }
  document.shInComaForm.submit();
}










//******************************************************************************
//******************************************************************************
if("function"!=typeof(shObjSelect))
{
  function shObjSelect(Vobj, VCorBack, VCorSel)
  {
    Ltest=true;
    for(i=0; i < Lids.length; i++)
      if(Lids[i]==Vobj.id) Ltest=false;
    if(Ltest) return;
    for(i=0; i < Lids.length; i++)
    {
      document.getElementById(Lids[i]).style.background=VCorBack;
    }
    Vobj.style.background=VCorSel;
  }
}










//******************************************************************************
//******************************************************************************
function shObjCheck(Vobj, Vmask)
{
  Lobj=document.getElementById(Vobj.id.substr(0, Vobj.id.length-4));
  Lobj.value ^= Vmask;
}










//******************************************************************************
//******************************************************************************
function shObjValidate(Vform, Vfields, Vop)
{
  eval("var Llist=sh_s2a("+Vfields+", \"<->\");");
//alert(Llist);
  for(i=0; i < Llist.length; i=i+2)
  {
    Ltmp = "shF"+Llist[i].substr(2);
    Lfld = Ltmp.replace("_", "");
    eval("Ltmp=shTrim(document."+Vform+"[Lfld].value);");
    if(!Ltmp)
    {
      alert("ATENÇÃO:\n O campo '" + Llist[i+1] + "' não pode ser nulo !");
      return;
    }
    if("shFemail" == Lfld)
    {
      if(!shCheckMail(Ltmp))
      {
        alert("ERRO\n Email '"+Ltmp+"' inválido!");
        return;
      }
    }
  }
  return true;
}
