
// ###############################################################################
// #                    -: Esta foi desenvolvida por :-                          #
// #                                                                             #
// # Empresa...............: JR SISTEMAS E TECNOLOGIA LTDA                       #
// # Analista de Sistemas..: Jhony Santos Rocha                                  #
// # Fone..................: (38) 9146-1843 / (38) 4141-0111                     #
// ###############################################################################

 var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
 var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
 var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

 var True  = (1 == 1)
 var False = (1 == 2)
 var IgnoreKey = False
 var LastSelectColor = 'white'
 var FocusColor      = "#B0D8FF"
 var isEmptyColor    = '#D7D7D7';

 var mrCancelar = 0
 var mrOk       = 1
 var mrSim      = 2
 var mrNao      = 3

 var Menu          = null;
 var MouseOn       = false;
 var MouseOver     = false;
 var StartMin      = 0;
 var StartMax      = 0;
 var DisableScroll = false;

 function StrToInt(StrNum)
 {
  var S = new String
  var Num = ""

  S   = StrNum
  i   = 0
  while (
         (i < S.length) && (S.length > 0) &&
         (
          (S.charAt(i) == '0') ||
          (S.charAt(i) == '1') ||
          (S.charAt(i) == '2') ||
          (S.charAt(i) == '3') ||
          (S.charAt(i) == '4') ||
          (S.charAt(i) == '5') ||
          (S.charAt(i) == '6') ||
          (S.charAt(i) == '7') ||
          (S.charAt(i) == '8') ||
          (S.charAt(i) == '9')
         )
        )
  {
   Num = Num + S.charAt(i)
   i++
  }
  return parseInt(Num);
 }

 function Selecionar(Sender,Sel)
 {
  if (Sel == "SIM")
  {
   Sender.style.cursor = "hand"
   Sender.style.textDecoration = "underline"
   Sender.color = "navy"
  }
  else
  {
   Sender.style.cursor = "default"
   Sender.style.textDecoration = ""
   Sender.color = ""
  }
 }

 function Show(MSG)
 {
  window.status = MSG
 }

 function show(MSG)
 {
  window.status = MSG
 }

 function trim(inputString)
 {
  if (!inputString)
   return "";
   
  var retValue = inputString;
  var ch = retValue.substring(0,1);
  while (ch == " ")
  {
   retValue = retValue.substring(1, retValue.length);
   ch = retValue.substring(0, 1);
  }
  ch = retValue.substring(retValue.length-1, retValue.length);
  while (ch == " ")
  {
   retValue = retValue.substring(0, retValue.length-1);
   ch = retValue.substring(retValue.length-1, retValue.length);
  }
  while (retValue.indexOf("  ") != -1)
  {
   retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
  }
  return retValue;
 }

/* function CheckCPF(strNumber)
 {
  var result = true;
  var digit;
  var calc;

  strNumber = getNumber(strNumber);

  if (strNumber.length < 4)
  {
   result = false;
  }

  digit = parseInt(strNumber.substring(strNumber.length-2, strNumber.length));
  number = strNumber.substring(0 , strNumber.length - 2);

  calc = parseInt(getCPFDigit(number));

  if ( digit != calc )
  {
   result = false;
  }
  return result;
 }
 */
 function getNumber(strNumber)
 {
  var number;
  var strRetNumber="";

  for (var i=0 ; i < strNumber.length ; i++)
  {
   number = parseInt(strNumber.charAt(i));
   if ( number )
   {
    strRetNumber += strNumber.charAt(i)
   }
   else
   {
    if ( number == 0 )
    {
     strRetNumber += strNumber.charAt(i)
    }
   }
  }
  return strRetNumber;
 }

 function getCPFDigit(strNumber)
 {
  var i;
  var digit1;
  var digit2;
  var total;
  var result;

  strNumber = '000000000' + getNumber(strNumber)
  strNumber = strNumber.substring(strNumber.length - 9, strNumber.length)

  total = 0
  for (i = 1 ; i < 10; i++)
  {
   total = total + strNumber.substring(i - 1 , i) * (11 - i);
  }

  digit1 = total * 10 % 11;
  if (digit1 == 10)
  {
   digit1 = 0;
  }

  aux = digit1.toString(10);
  strNumber = strNumber + aux.substring(aux.length - 1 , aux.length);

  total=0;

  for (i = 1 ; i < 11 ; i++)
  {
   total = total + strNumber.substring(i - 1 , i) * (12 - i);
  }

  digit2 = total * 10 % 11;
  if (digit2 == 10)
  {
   digit2 = 0;
  }

  aux = digit1 * 10 + digit2;
  caux = aux.toString(10);
  result = caux.substring(caux.length - 2 , caux.length);

  return result;
 }

 function Minuscula(Sender)
 {
  Sender.value = Sender.value.toLowerCase()
 }

 function Maiuscula(Sender)
 {
  Sender.value = Sender.value.toUpperCase()
 }

 function onFocusEnter(Sender)
 {
  LastSelectColor         = Sender.style.background
  if (LastSelectColor == '')
  {
   LastSelectColor = Sender.style.backgroundColor
  }
  Sender.style.background = FocusColor
  FocusColor              = "#B0D8FF"
 }

 function onFocusExit(Sender)
 {
  if (LastSelectColor == '')
  {
   LastSelectColor = 'white'
  }
  Sender.style.background = LastSelectColor
 }

 function SelectNextPress(Sender,KeyPress)
 {
  if (!KeyPress)
  {
   KeyPress = window.event;
  }

  if (KeyPress.keyCode)
  {
   var Key = KeyPress.keyCode
  }
  else
  if (KeyPress.which)
  {
   var Key = KeyPress.which
  }

 }

 function SubMitForm(Form)
 {
  var onSubmit = Form.onsubmit;
  Form.onsubmit = new Function("return false;");
  try
  {
   if (onSubmit())
   {
    Form.submit();
   } 
  }
  finally
  {
   Form.onsubmit = onSubmit;
  }
 }

 function SelectNext(Sender,KeyPress,Mask)
 {
  Form = Sender;

  while (Form.tagName.toLowerCase() != 'form')
  {
   Form = Form.parentNode
  }

  if (Form.tagName.toLowerCase() == 'form')
  {
   var Index     = 0
   var LastRadio = ""
   var LastType  = ""

   if (!KeyPress)
   {
    KeyPress = window.event;
   }

   if (KeyPress.keyCode)
   {
    var Key = KeyPress.keyCode
   }
   else
   if (KeyPress.which)
   {
    var Key = KeyPress.which
   }

   if (Key == 13)
   {
    for (i=0;i< Form.elements.length;i++)
    {
     if (Sender == Form.elements[i])
     {
      break;
     }
     Index++
    }

    if ((Index >= Form.elements.length-1) || (Index >= Form.elements.length))
    {
     SubMitForm(Form);
     return(0)
    }

    LastType  = Form.elements[Index].type.toLowerCase()
    LastRadio = Form.elements[Index].name.toLowerCase()

    while (
           (Index < Form.elements.length) &&
           (Form.elements[Index+1].type.toLowerCase() == 'radio') &&
           (Form.elements[Index+1].name.toLowerCase() == LastRadio)
          )
    {
     Index++
    }

    if ((Index >= Form.elements.length-1) || (Index >= Form.elements.length))
    {
     SubMitForm(Form);
     return(0);
    }

    Obj = Form.elements[Index+1]
    if (Obj.type.toLowerCase() == 'radio')
    {
     ParentObj = Form.elements[Obj.name]

     for (i = 0;i < ParentObj.length;i++)
     {
      if (ParentObj[i].checked)
      {
       Obj = ParentObj[i]
       break;
      }
     }
    }

    switch (Obj.type.toLowerCase())
    {
     case "hidden" : try
                     {
                      Obj.onclick(); 
                      return(0);
                     }
                     catch(e)
                     {
                     
                     }
     default : Obj.focus();
    }
    

    if (Mask != "")
    {
     SetMask(Sender,Mask)
    }

    return(0)
   }
   else
   {
    if (Mask != "")
    {
     SetMask(Sender,Mask)
     return(0)
    }
   }
  }
 }

 function SetMask(Sender,Mask)
 {       
  if ((Sender) && (Sender.style) && (Sender.style.textAlign) && (Sender.style.textAlign.toLowerCase() == "right"))
   return SetMaskDown(Sender,Mask)
  
  try
  {
   Sender.maxLength = Mask.length
   var S  = Sender.value
   var S2 = ""
   var StartLenght = S.length
   
   
   n = S.length
   
   for (i = 0;i < n;i++)
   {
    if ((S.charAt(i) == "0") ||
        (S.charAt(i) == "1") ||
        (S.charAt(i) == "2") ||
        (S.charAt(i) == "3") ||
        (S.charAt(i) == "4") ||
        (S.charAt(i) == "5") ||
        (S.charAt(i) == "6") ||
        (S.charAt(i) == "7") ||
        (S.charAt(i) == "8") ||
        (S.charAt(i) == "9")
       )
    {
     S2 = S2 + S.charAt(i)
    }
   }

   S = S2
   n = 0

   for (i = 0;i < S.length;i++)
   {
    if ((Mask.charAt(n) != "0") && (Mask.charAt(n) != "9"))
    {
     S = S.substring(0,i) + Mask.charAt(n) + S.substring(i,S.length)
    }
    n++
   }

   if (StartLenght <= S.length)
   {
    while ((n < Mask.length) && ((Mask.charAt(n) != "0") && (Mask.charAt(n) != "9")))
    {
     S = S + Mask.charAt(n)
     n++
    }
   }

   // Elimina o ultimo digito caso não seja numerico
   i = S.length
   while ((i > 0) &&
          (S != "") &&
          (S.charAt(i-1) != "0") &&
          (S.charAt(i-1) != "1") &&
          (S.charAt(i-1) != "2") &&
          (S.charAt(i-1) != "3") &&
          (S.charAt(i-1) != "4") &&
          (S.charAt(i-1) != "5") &&
          (S.charAt(i-1) != "6") &&
          (S.charAt(i-1) != "7") &&
          (S.charAt(i-1) != "8") &&
          (S.charAt(i-1) != "9")
         )
   {
    S = S.substring(0,i-1)
    i = S.length
   }

   if (Sender.value != S)
   {
    Sender.value = S.substring(0,Mask.length)
   }
  }
  catch(e) 
  {
  
  }
 }

 function SetMaskDown(Sender,Mask)
 {
  try
  {
   Sender.maxLength = Mask.length
   var S  = Sender.value
   var S2 = ""
   var StartLenght = S.length
   
   n = S.length
   
   for (i = 0;i < n;i++)
   {
    if ((S.charAt(i) == "0") ||
        (S.charAt(i) == "1") ||
        (S.charAt(i) == "2") ||
        (S.charAt(i) == "3") ||
        (S.charAt(i) == "4") ||
        (S.charAt(i) == "5") ||
        (S.charAt(i) == "6") ||
        (S.charAt(i) == "7") ||
        (S.charAt(i) == "8") ||
        (S.charAt(i) == "9")
       )
    {
     S2 = S2 + S.charAt(i)
    }
   }

   S = "";
   n = Mask.length-1;

   for (i = S2.length-1;(i >= 0) && (n >= 0);i--)
   {
    if ((Mask.charAt(n) != "0") && (Mask.charAt(n) != "9"))
    {
     S = Mask.charAt(n) + S;
    }
    
     S = S2.charAt(i) + S;
    
    n--
   }

   // Elimina o ultimo digito caso não seja numerico
   i = S.length
   while ((i > 0) &&
          (S != "") &&
          (S.charAt(i-1) != "0") &&
          (S.charAt(i-1) != "1") &&
          (S.charAt(i-1) != "2") &&
          (S.charAt(i-1) != "3") &&
          (S.charAt(i-1) != "4") &&
          (S.charAt(i-1) != "5") &&
          (S.charAt(i-1) != "6") &&
          (S.charAt(i-1) != "7") &&
          (S.charAt(i-1) != "8") &&
          (S.charAt(i-1) != "9")
         )
   {
    S = S.substring(0,i-1)
    i = S.length
   }

   if (Sender.value != S)
   {
    Sender.value = S.substring(0,Mask.length)
   }
  }
  catch(e) 
  {
  
  }
 }
 
 function ExtractFileName(Arq)
 {
  var i = Arq.length

  while ((i > 0) && (Arq.charAt(i) != '/'))
  {
   i--
  }

  return Arq.substr(i+1,Arq.length-i)
 }

 function FazNada()
 {
  return ;
 }
 
  function ScrollX()
 {
  if (isIE)
  {
   return parseInt(document.body.scrollLeft);
  }
  else
  {
   return parseInt(window.pageXOffset);
  } 
 }

 function ScrollY()
 {
  if (isIE)
  {
   return parseInt(document.body.scrollTop);
  }
  else
  {
   return parseInt(window.pageYOffset);
  } 
 }

 function ScrollW()
 {
  if (isIE)
  {
   return parseInt(document.body.scrollWidth);
  }
  else
  {
   return parseInt(window.innerWidth);
  } 
 }

 function ScrollH()
 {
  if (isIE)
  {
   return parseInt(document.body.scrollHeight);
  }
  else
  {
   return parseInt(window.pageHeightOffset);
  } 
 }

 function ShowControl2(strObj, Visible, Bloquear)
 {
     ShowControl(strObj, Visible && Bloquear);
 }

 function ShowControl(strObj,Visible)
 {
  var Ctrl = document.getElementById(strObj);
  
  if (Ctrl != null)
  {
   if (Visible)
   {
    Ctrl.style.visibility = "visible";
   }
   else
   {
    setTimeout("document.getElementById('" + strObj + "').style.visibility = 'hidden'",400);
   }
  }
 }
 
 function getAbsoluteDivs()  
 {  
  var Tags = new Array("DIV","TABLE","SPAN","TD");
  
  var arr = new Array();  
  var all_divs = null;
  var j = 0;  
  var i = 0;  
  var n = 0;  

  for (n = 0; i < Tags.length;n++)
  {
   all_divs = document.body.getElementsByTagName(Tags[n]);
  
   for (i = 0; i < all_divs.length; i++)  
   {
    if (all_divs.item(i).style.position.toLowerCase() == 'absolute')  
    {  
     arr[j] = all_divs.item(i);  
     j++;  
    }  
   }
  } 

  return arr;
 }

function SendToBack(id)  
{
 try
 {
  if ((!document.getElementById) || (!document.getElementsByTagName))
   return false;  
 
  var obj = document.getElementById(id);  
  var min_index = 999999;  
  var cur_index = 0;
  
  var divs = getAbsoluteDivs();

  if (obj == null)
   return false;

  if (divs.length < 2)  
   return false;  
  
  // Compute the minimal z-index of  
  // other absolute-positioned divs  
  for (i = 0; i < divs.length; i++)  
  {  
   var item = divs[i];  
   if (item == obj)  
       continue;  
  
   if (item.style.zIndex == '')  
   {  
    min_index = 0;  
    break;  
   }  
  
   cur_index = parseInt(item.style.zIndex);  
   if (min_index > cur_index)  
   {  
    min_index = cur_index;  
   }  
  
  }
  
  if (min_index > parseInt(obj.style.zIndex))  
  {  
   return false;  
  }  
  
  obj.style.zIndex = 1;  
  
  if (min_index > 1) 
   return false;  
  
  var add = (min_index == 0) ? 2 : 1;
  
  for (i = 0; i < divs.length; i++)  
  {  
   var item = divs[i];  
   
   if (item == obj)  
    continue;  
  
   item.style.zIndex += add;  
  }  
  
  return true;
 }
 catch(e)
 {
  return false;
 }
}  

function BringToFront(id)  
{  
 try
 {
  if ((!document.getElementById) || (!document.getElementsByTagName))
   return false;
  
  var obj = document.getElementById(id);  

  if (obj == null)
   return false;

  var divs = getAbsoluteDivs();
  var max_index = 0;  
  var cur_index;  
  
  // Compute the maximal z-index of  
  // other absolute-positioned divs  
  for (i = 0; i < divs.length; i++)  
  {  
   var item = divs[i];
   
   if (item == obj || item.style.zIndex == '')  
    continue;  
  
   cur_index = parseInt(item.style.zIndex);
     
   if (max_index < cur_index)  
   {  
    max_index = cur_index;  
   }
  }
  
  obj.style.zIndex = max_index + 1;  
  return true;
 }
 catch(e)
 {
 
 }
}

function getElementPositionById(strID)
{
 var offsetTrail = document.getElementById(strID);
 return getElementPosition(offsetTrail);
}

function getElementPosition(offsetTrail)
{
 if (!offsetTrail)
  return {left:0,top:0};
  
 var offsetLeft  = 0;
 var offsetTop   = 0;
 
 while (offsetTrail) {
     offsetLeft += offsetTrail.offsetLeft;
     offsetTop += offsetTrail.offsetTop;
     offsetTrail = offsetTrail.offsetParent;
 }
 if (navigator.userAgent.indexOf("Mac") != -1 && 
     typeof document.body.leftMargin != "undefined") {
     offsetLeft += document.body.leftMargin;
     offsetTop += document.body.topMargin;
 }
 return {left:offsetLeft, top:offsetTop};
}

function DisposeControlById(StrID)
{
 var Sender = document.getElementById(StrID);
 return DisposeControl(Sender);
}

function DisposeControl(Sender)
{
 if (!Sender)
  return false;
 
 Sender.parentNode.removeChild(Sender); 
 return true;
}

function Copy(Str, Start, Len)
{
 Str = Str+"";
 
 if ((Start > Str.length) || (Len <= 0))
  return "";

 try
 {
  if (Start <= 0)
   Start = 1;

  if (Len + Start > Str.length)
   Len = Str.length - Start + 1;

  if (Start < 0)
   Start = 0;

  return Str.substring(Start - 1, Len);
 }
 catch (e)
 {
  return "";
 }
}


function Left(Str, Len)
{
 Str = Str+"";
 
 if (Len <= 0)
  return "";
 else
 if (Len <= Str.length)
  return Str.substring(0, Len);
 else
  return Str.substring(0, Str.length);
}

function Right(Str, Len)
{
 if (Len > Str.length)
  Len = Str.length;

 var index = (Str.length - Len);

 if (index < 0)
  index = 0;

 if ((index >= 0) && (index < Str.length))
  return Str.substring(index,Len);
 else
  return "";
}

function Space(S, Simb, Len)
{
 var X = 0
 var i = 0;
 var Result = "";
 var S = S+"";
 
 if (S.length < Len)
 {
  X = Len - S.length;

  while (X > 0)
  {
   Result += Simb;
   X--;
  }

  Result += S;
  Result = Right(Result, Len);
 }
 else
 {
  Result = S.substring(0, Len);
 }

 return Result;
}


function delay(millis)
{
 var date = new Date();
 var curDate = null;

 do 
 { 
  curDate = new Date(); 
 }
 while (curDate-date < millis);
} 

