loParent=window.opener

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 there is no item marked
   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 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=""

   // For as long as we have mark items
   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 there is no marked item
   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 we have a confirmation
   if (confirm(LXDeleteConfirmOne))
   {
      document.LX.LXMessageMark.value=tnItem
      document.LX.LXTypeOfOperation.value=4
      document.LX.submit()
   }

}

function ExtraOption(tnOption,tlConfirmation,tcConfirmation)
{

   // If no message has been marked
   if (!MessageMark(document.LX,document.LX))
   {
      return
   }

   TakeFromOriginal()

   // If we want a confirmation message
   if (tlConfirmation)
   {

      // If we have a confirmation
      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 there is no confirmation message
   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 SelectionDone(tnPrimaryKey)
{
   loParent.document.LX.LXTypeOfOperation.value=9
   loParent.document.LX.LXPrimaryKeySelection.value=tnPrimaryKey
   loParent.document.LX.submit()
   CloseWindow()
}

function SelectionMultiple()
{
   lcMessageMark=MessageMark(document.LevelExtreme)
 
   // If we have some marked items
   if (lcMessageMark.length==0)
   {
      CloseWindow()
      return
   }
   loParent.document.LX.LXMessageMark.value=lcMessageMark
   loParent.document.LX.LXTypeOfOperation.value=5
   loParent.document.LX.LXExtraOptionMethod.value=lcMethod
   loParent.document.LX.submit()
   CloseWindow()
}

function SelectThisUser(tnPrimaryKey,tcValue,tnAdditionalKey)
{
   loParent.loFieldPrimaryKey.value=tnPrimaryKey
   loParent.loFieldValue.value=tcValue

   // If we pass an additional key
   if (tnAdditionalKey!=null)
   {
      loParent.loFieldAdditionalKey.value=tnAdditionalKey
   }
   
   CloseWindow()
}

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 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 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 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.LXOverallFilterSelectHourValue.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 Save()
{
   TakeFromOriginal()
   document.LX.LXTypeOfOperation.value=27
   document.LX.submit()
}

function CloseWindow()
{
   self.close()

   // If we have an IFrame window
   if (window.parent.document.getElementById("DivOverlay"))
   {
      loDiv=window.parent.document.getElementById("DivOverlay")
      loDiv.style.visibility="hidden"
   }
   else
   {
      if (window.parent.document.getElementById("IFrameSelection"))
      {
         loIFrame=window.parent.document.getElementById("IFrameSelection")
         loIFrame.style.visibility="hidden"
      }
   }

}

