function Go(tcField,toForm)
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=0
   document.LX.LXFieldWhere.value=tcField
   document.LX.LXFieldValue.value=toForm.Search.value

   // This is a verification as old browsers don't support the toForm
   if (toForm.Operator.value==null)
   {
      alert("This browser does not support the full functionality of this list.")
      return
   }

   document.LX.LXFieldOperator.value=toForm.Operator.value
   document.LX.LXActual.value=0
   document.LX.submit()
}

function Order(tcOrder,tcAscending)
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=0
   document.LX.LXOrder.value=tcOrder
   document.LX.LXOrderAscending.value=tcAscending
   document.LX.LXActual.value=0
   document.LX.submit()
}

function Add(tcNumero)
{

   // If we have a custom add
   if (LXAddMethod!='Add')
   {
      eval(LXAddMethod)
      return
   }

   document.LX.action=document.LX.LXDataEntry.value
   document.LX.LXPrimaryKey.value=tcNumero
   document.LX.submit()
}

function ResetForm()
{

   // If we have a custom delete
   if (LXDeleteMethod!='ResetForm')
   {
      eval(LXDeleteMethod)
      return
   }

   if (!MessageMark(document.LX,document.LX))
   {
      return
   }
   TakeFromOriginal()

   // If we want a confirmation message
   if (LXDeleteConfirmation)
   {
      if (confirm(LXDeleteConfirmationMessage))
      {
         document.LX.LXTypeOfOperation.value=4
         document.LX.submit()
      }
   }
   else
   {
      document.LX.LXTypeOfOperation.value=4
      document.LX.submit()
   }
}

function MarkAll(theForm,tlEnable)
{
   lcField=""
   lcValue=""
   for (i = 0; i < theForm.length; i++)
      {
      lcField=theForm.elements[i].name
      lcValue=lcField.substring(7,13)
      floatValue=parseFloat(lcValue)
      if (!isNaN(floatValue))
         {
         theForm.elements[i].checked=tlEnable
         }
      }
}

function Skip()
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=0
   document.LX.LXActual.value=parseInt(document.LX.LXActual.value)+LXStep
   document.LX.submit()
}

function SkipPrevious()
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=0
   document.LX.LXActual.value=parseInt(document.LX.LXActual.value)-LXStep
   document.LX.submit()
}

function SkipTop()
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=0
   document.LX.LXActual.value=0
   document.LX.submit()
}

function SkipLast()
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=0
   document.LX.LXActual.value="Last"
   document.LX.submit()
}

function OverallFilter(toOverallFilter,toField,tnOverallFilter)
{
   TakeFromOriginal()
   lnItem=toOverallFilter.selectedIndex
   lcValue=toOverallFilter.options[lnItem].value
   document.LX.LXTypeOfOperation.value=0
   toField.value=lcValue
   document.LX.LXActual.value=0
   document.LX.LXOverallFilter.value=tnOverallFilter
   document.LX.submit()
}

function OverallFilterDateRange(toOverallFilter,toField)
{
   TakeFromOriginal()
   lnItem=toOverallFilter.selectedIndex
   lcValue=toOverallFilter.options[lnItem].value
   document.LX.LXTypeOfOperation.value=0
   toField.value=lcValue
   document.LX.LXActual.value=0
   document.LX.submit()
}

function OverallFilterSelectMonth(toOverallFilter,toField)
{
   TakeFromOriginal()
   lnItem=toOverallFilter.selectedIndex
   lcValue=toOverallFilter.options[lnItem].value
   document.LX.LXTypeOfOperation.value=0
   toField.value=lcValue
   document.LX.LXActual.value=0
   document.LX.submit()
}

function GoLogical(tcField,toForm)
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=0
   document.LX.LXFieldWhere.value=tcField
   document.LX.LXFieldValue.value=toForm.Search.value
   document.LX.LXActual.value=0
   document.LX.submit()
}

function GoPivot(tcField,toForm)
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=0
   document.LX.LXFieldWhere.value=tcField
   document.LX.LXFieldValue.value=toForm.Search.value
   document.LX.LXFieldOperator.value="="
   document.LX.LXActual.value=0
   document.LX.submit()
}

function MessageMark(toForm,toFormOriginal)
{
   lcItem=document.LX.LXPrimaryKeyAll.value
   lcMessageMark=""
   while (lcItem.length>0)
   {
      lnPosition=lcItem.indexOf(",")
      if (lnPosition==-1)
      {
         lnPosition=lcItem.length
      }
      lcItemId=lcItem.substr(0,lnPosition)
      lcItem=lcItem.substr(lnPosition+1)
      if (eval("toForm.Message"+lcItemId+".checked==true"))
      {
         if (lcMessageMark.length>0)
         {
            lcMessageMark=lcMessageMark+","
         }
         lcMessageMark=lcMessageMark+lcItemId
      }
   }

   if (lcMessageMark.length==0)
   {
      alert(LXYouNeedToCheckOneItem)
      return false
   }

   toFormOriginal.LXMessageMark.value=lcMessageMark
   return true
}

function GotoPage(toForm)
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=0
   lnItem=toForm.selectedIndex
   lcValue=toForm.options[lnItem].value
   document.LX.LXActual.value=lcValue
   document.LX.submit()
}

function ResetForm2(tnItem)
{
   TakeFromOriginal()
   if (confirm(LXDeleteConfirmOne))
   {
      document.LX.LXMessageMark.value=tnItem
      document.LX.LXTypeOfOperation.value=4
      document.LX.submit()
   }
}

function ExtraOption(tnOption,tlConfirmation,tcConfirmation)
{
   if (!MessageMark(document.LX,document.LX))
   {
      return
   }
   TakeFromOriginal()

   // If we want a confirmation message
   if (tlConfirmation)
   {
      if (confirm(tcConfirmation))
      {
         document.LX.LXTypeOfOperation.value=5
         document.LX.LXExtraOption.value=tnOption
         document.LX.submit()
      }
   }
   else
   {
      document.LX.LXTypeOfOperation.value=5
      document.LX.LXExtraOption.value=tnOption
      document.LX.submit()
   }

}

function ExtraOptionAllRecord(tnOption)
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=8
   document.LX.LXExtraOption.value=tnOption
   document.LX.submit()
}

function ExtraOptionRecord(tnOption,tcNumero,tcConfirmationMessage)
{

   if (tcConfirmationMessage.length==0)
   {
      TakeFromOriginal()
      document.LX.LXMessageMark.value=tcNumero
      document.LX.LXTypeOfOperation.value=9
      document.LX.LXExtraOption.value=tnOption
      document.LX.submit()
   }
   else

   // If we have a confirmation message
   {
      if (confirm(tcConfirmationMessage))
      {
         TakeFromOriginal()
         document.LX.LXMessageMark.value=tcNumero
         document.LX.LXTypeOfOperation.value=9
         document.LX.LXExtraOption.value=tnOption
         document.LX.submit()
      }
   }

}

function Selection(tnOption,tnPrimaryKey,tcUrl)
{
   window.open(tcUrl, "", "width=1,height=1,top=2000,resizable=no,toolbar=no,menubar=no,status=no,location=no,scrollbars=no")
   document.LX.LXMessageMark.value=tnPrimaryKey
   document.LX.LXExtraOption.value=tnOption
}

function SelectionDone(tnPrimaryKey)
{
   window.opener.document.LX.LXTypeOfOperation.value=9
   window.opener.document.LX.LXPrimaryKeySelection.value=tnPrimaryKey
   window.opener.document.LX.submit()
   self.close()
}

function SelectionMultiple()
{
   lcMessageMark=MessageMark(document.LevelExtreme)
   if (lcMessageMark.length==0)
   {
      self.close()
      return
   }
   window.opener.document.LX.LXMessageMark.value=lcMessageMark
   window.opener.document.LX.LXTypeOfOperation.value=5
   window.opener.document.LX.LXExtraOptionMethod.value=lcMethod
   window.opener.document.LX.submit()
   self.close()
}

function SelectionOne()
{
   lcMessageMark=MessageMarkOne(document.LevelExtreme)
   if (lcMessageMark.length==0)
   {
      self.close()
      return
   }
   window.opener.loField.value=lcMessageMark
   self.close()
}

function MessageMarkOne(theForm)
{
   lcField=""
   lcValue=""
   for (i = 0; i < theForm.length; i++)
   {
      lcField=theForm.elements[i].name
      lcValue=lcField.substring(7,13)
      floatValue=parseFloat(lcValue)
      if (!isNaN(floatValue))
      {
         if (theForm.elements[i].checked==true)
         {
            return lcValue
         }
      }
   }
   return ''
}

function SelectThisUser(tnPrimaryKey,tcValue)
{
   window.opener.loFieldPrimaryKey.value=tnPrimaryKey
   window.opener.loFieldValue.value=tcValue
   self.close()
}

function ExtraOptionFilter(tnOption)
{
   TakeFromOriginal()
   document.LX.LXExtraOptionFilter.value=tnOption
   document.LX.submit()
}

function AddCustom(tcNumero,tcUrl)
{
   document.LX.action=tcUrl
   document.LX.LXPrimaryKey.value=tcNumero
   document.LX.submit()
}

function ExportToExcel()
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=10
   document.LX.submit()
}

function ExportToExcelRawFormat()
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=11
   document.LX.submit()
}

function ShowCalendar(toField)
{
   loField = toField
   window.open("LXDatePicker.aspx","","width=1,height=1,top=1,resizable=no,toolbar=no,menubar=no,status=no,location=no,scrollbars=no")
}

function OverallFilterFromTo(tcValue,tcValue2,toField,toField2)
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=0
   toField.value=tcValue
   toField2.value=tcValue2
   document.LX.LXActual.value=0
   document.LX.submit()
}

function AddAddButton(tcUrl)
{
   window.open("List.aspx?Session="+tcUrl,"","width=1,height=1,top=1,resizable=no,toolbar=no,menubar=no,status=no,location=no,scrollbars=yes")
}

function AddButtonSelectThisUser(tnPrimaryKey)
{
   document.LX.LXTypeOfOperation.value=12
   document.LX.LXPrimaryKey.value=tnPrimaryKey
   document.LX.submit()
}

function ExtraOptionTakeAllRecord(tnOption)
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=5
   document.LX.LXExtraOption.value=tnOption
   document.LX.submit()
}

function SelectThisUserAndRefreshPage(tnPrimaryKey)
{
   document.LX.LXTypeOfOperation.value=13
   document.LX.LXPrimaryKey.value=tnPrimaryKey
   document.LX.submit()
}

function SQLScriptForRecordInsertion()
{

   if (!MessageMark(document.LX,document.LX))
   {
      return
   }

   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=14
   document.LX.submit()
}

function SQLScriptForTableInsertion(tnPrimaryKey)
{
   TakeFromOriginal()
   document.LX.LXPrimaryKey.value=tnPrimaryKey
   document.LX.LXTypeOfOperation.value=15
   document.LX.submit()
}

function SQLScriptForRecordIndexing(tnPrimaryKey)
{
   TakeFromOriginal()
   document.LX.LXPrimaryKey.value=tnPrimaryKey
   document.LX.LXTypeOfOperation.value=16
   document.LX.submit()
}

function SQLScriptForFullTextIndexing(tnPrimaryKey)
{
   TakeFromOriginal()
   document.LX.LXPrimaryKey.value=tnPrimaryKey
   document.LX.LXTypeOfOperation.value=17
   document.LX.submit()
}

function SQLScriptForFullRecordIndexing()
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=18
   document.LX.submit()
}

function SQLScriptForTableInsertionWithNoRecord(tnPrimaryKey)
{
   TakeFromOriginal()
   document.LX.LXPrimaryKey.value=tnPrimaryKey
   document.LX.LXTypeOfOperation.value=19
   document.LX.submit()
}

function SQLScriptForRecordIndexingOnTheSelectedRecord()
{

   if (!MessageMark(document.LX,document.LX))
   {
      return
   }

   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=20
   document.LX.submit()
}

function ExtraOptionAllRecordNewWindow(tcUrl,tnWidth,tnHeight)
{
   xMax=screen.width
   yMax=self.screen.availHeight

   xOffset=(xMax-tnWidth)/2
   yOffset=(yMax-tnHeight)/2

   window.open(tcUrl, "", "width="+tnWidth+",height="+tnHeight+",top="+yOffset+",left="+xOffset+",resizable=no,toolbar=no,menubar=no,status=no,location=no,scrollbars=yes")
}

function OverallFilterSelectYear(toOverallFilter,toField)
{
   TakeFromOriginal()
   lnItem=toOverallFilter.selectedIndex
   lcValue=toOverallFilter.options[lnItem].value
   document.LX.LXTypeOfOperation.value=0
   toField.value=lcValue
   document.LX.LXActual.value=0
   document.LX.submit()
}

function CreateDataDictionary(tnPrimaryKey)
{
   TakeFromOriginal()
   document.LX.LXPrimaryKey.value=tnPrimaryKey
   document.LX.LXTypeOfOperation.value=22
   document.LX.submit()
}

function CreateTable(tnPrimaryKey)
{
   TakeFromOriginal()
   document.LX.LXPrimaryKey.value=tnPrimaryKey
   document.LX.LXTypeOfOperation.value=23
   document.LX.submit()
}

function CreateList(tnPrimaryKey)
{
   TakeFromOriginal()
   document.LX.LXPrimaryKey.value=tnPrimaryKey
   document.LX.LXTypeOfOperation.value=24
   document.LX.submit()
}

function OverallFilterSelectDay(toOverallFilter,toField)
{
   TakeFromOriginal()
   lnItem=toOverallFilter.selectedIndex
   lcValue=toOverallFilter.options[lnItem].value
   document.LX.LXTypeOfOperation.value=0
   toField.value=lcValue
   document.LX.LXActual.value=0
   document.LX.submit()
}

function OverallFilterSelectHour(toOverallFilter,toField)
{
   TakeFromOriginal()
   lnItem=toOverallFilter.selectedIndex
   lcValue=toOverallFilter.options[lnItem].value
   document.LX.LXTypeOfOperation.value=0
   toField.value=lcValue
   document.LX.LXActual.value=0
   document.LX.submit()
}

function SQLScriptForRecordSelection()
{

   if (!MessageMark(document.LX,document.LX))
   {
      return
   }

   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=21
   document.LX.submit()
}

function SynchronizeWithSQLServer()
{

   if (!MessageMark(document.LX,document.LX))
   {
      return
   }

   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=25
   document.LX.submit()
}

function IndexOnSQLServer(tnPrimaryKey)
{
   TakeFromOriginal()
   document.LX.LXPrimaryKey.value=tnPrimaryKey
   document.LX.LXTypeOfOperation.value=26
   document.LX.submit()
}
