function AdvancedSearchProcess()
{
  ElementGet('frm').submit();
}

function AdvertiserCheckboxRefresh(APKV)
{
  var LPKV_Input = document.getElementById(APKV);
  var LImg = document.getElementById('img_' + APKV);

  if (LImg.src.indexOf('disabled.gif') >= 0)
  {
    LPKV_Input.value = '#' + APKV;
    return;
  }
  
  if (LImg.src.indexOf('unchecked.gif') >= 0)
  {
    LPKV_Input.value = '';
    return;
  }

  if (LImg.src.indexOf('checked.gif') >= 0)
  {
    LPKV_Input.value = APKV;
    return;
  }
}

function AdvertiserCheckboxImageClick(APKV, AIsStaff, AImgSRC)
{
  var LPKV_Input = document.getElementById(APKV);
  var LImg = document.getElementById('img_' + APKV);
  
  if (LImg.src.indexOf('unchecked.gif') >= 0)
  {
    LImg.src = AImgSRC + 'checked.gif';
    LPKV_Input.value = APKV;
    return;
  }

  if (
    ((LImg.src.indexOf('disabled.gif') >= 0) && (AIsStaff))
    ||
    (LImg.src.indexOf('checked.gif') >= 0)
  )
  {
    LImg.src = AImgSRC + 'unchecked.gif';
    LPKV_Input.value = '';
  }
}

function AdvertiserDetails(APKV)
{
  Popup(WSA_URLGet(SRB_Advertiser, '', ['PKV', APKV]), 800, 500, true, true);
}

function AdvertiserOfferProducts(APKV)
{
  Popup(WSA_URLGet(SRB_AdvertiserOfferProducts, '', ['PKV', APKV]), 500, 500, true, true);
}

function AdvertisersFilterFormReset()
{
  frmFilter.Name.value = '';
  if (frmFilter.NetworkID)
    frmFilter.NetworkID.value = 0;
  frmFilter.CategoryID.value = 0;
}

function CategoryProcess(ARootPath)
{
  document.location = WSA_URLGet(SRB_Category, 'F', ['RootPath', ARootPath, 'C_', '0'], false, false);
}

function ChartReportRefresh()
{
  document.forms.frmChartReport.submit();
}

function CommissionDateRangePeriodChange()
{
  var LCommissionDateFrom;
  LCommissionDateFrom = new Date();
  switch (ElementGet('Period').value)
  {
  case '0':
    LCommissionDateFrom = new Date(LCommissionDateFrom.getFullYear(), LCommissionDateFrom.getMonth(), 1);
    dpCommissionDateFrom.dateSet(LCommissionDateFrom);
    LCommissionDateFrom.setMonth(LCommissionDateFrom.getMonth() + 1);
    dpCommissionDateTo.dateSet(LCommissionDateFrom - 1);
    break;
  case '1':
    LCommissionDateFrom = new Date(LCommissionDateFrom.getFullYear(), LCommissionDateFrom.getMonth() - 1, 1);
    dpCommissionDateFrom.dateSet(LCommissionDateFrom);
    LCommissionDateFrom.setMonth(LCommissionDateFrom.getMonth() + 1);
    dpCommissionDateTo.dateSet(LCommissionDateFrom - 1);
    break;
  case '2':
    LCommissionDateFrom = new Date(LCommissionDateFrom.getFullYear(), 0, 1);
    dpCommissionDateFrom.dateSet(LCommissionDateFrom);
    LCommissionDateFrom.setYear(LCommissionDateFrom.getFullYear() + 1);
    dpCommissionDateTo.dateSet(LCommissionDateFrom - 1);
    break;
  case '3':
    LCommissionDateFrom = new Date(LCommissionDateFrom.getFullYear() - 1, 0, 1);
    dpCommissionDateFrom.dateSet(LCommissionDateFrom);
    LCommissionDateFrom.setYear(LCommissionDateFrom.getFullYear() + 1);
    dpCommissionDateTo.dateSet(LCommissionDateFrom - 1);
    break;
  }
}

function CommissionReportView(AForm)
{
  var MerchantID = MerchantIDGet(AForm);
  if (MerchantID != '')
    Popup(WSA_URLGet(SRB_Commissions, '', 
    [
      'MerchantID', MerchantID, 
      'CommissionDateFrom', AForm.CommissionDateFrom.value,
      'CommissionDateTo', AForm.CommissionDateTo.value,
      'SMID', 'Commissions'
    ]), 800, 400, true, true
    );
}

function CommissionsDatePickerSave()
{
  ElementGet('CommissionDateFrom').value = dpCommissionDateFrom.strDateGet();
  if (ElementGet('IsPartner').value == "0")
    ElementGet('CommissionDateTo').value = dpCommissionDateTo.strDateGet();
}

function CommissionsDatePickersInit()
{
  dpCommissionDateFrom = DatePickerCreate(ElementGet('dvCommissionDateFrom'), ElementGet('CommissionDateFrom').value,  dpoMonth|dpoYear); 
  if (ElementGet('IsPartner').value == "0")
    dpCommissionDateTo = DatePickerCreate(ElementGet('dvCommissionDateTo'), ElementGet('CommissionDateTo').value,  dpoMonth|dpoYear); 
}

function CommissionsFilterFormReset()
{
  with(ElementGet('frmFilter'))
  {
    Period.value = 2;
    CommissionsPeriodChange();
    if (ElementGet('PartnerID'))
      PartnerID.value = 99;
  }
}

function CommissionsFilterSubmit()
{
  if (
    (ElementGet('IsPartner').value == "0")
    &&
    !DateRange_FieldValidate(dpCommissionDateFrom, dpCommissionDateTo, 'Date From', 'Date To')
  )  
    return false;
  CommissionsDatePickerSave();
  return true;
}

function CommissionsPeriodChange()
{
  var LCommissionDateFrom;
  
  if (ElementGet('IsPartner').value == "0")
  {
    LCommissionDateFrom = new Date();
    switch (ElementGet('Period').value)
    {
    case '0':
      LCommissionDateFrom = new Date(LCommissionDateFrom.getFullYear(), LCommissionDateFrom.getMonth(), 1);
      dpCommissionDateFrom.dateSet(LCommissionDateFrom);
      LCommissionDateFrom.setMonth(LCommissionDateFrom.getMonth() + 1);
      dpCommissionDateTo.dateSet(LCommissionDateFrom - 1);
      break;
    case '1':
      LCommissionDateFrom = new Date(LCommissionDateFrom.getFullYear(), LCommissionDateFrom.getMonth() - 1, 1);
      dpCommissionDateFrom.dateSet(LCommissionDateFrom);
      LCommissionDateFrom.setMonth(LCommissionDateFrom.getMonth() + 1);
      dpCommissionDateTo.dateSet(LCommissionDateFrom - 1);
      break;
    case '2':
      LCommissionDateFrom = new Date(LCommissionDateFrom.getFullYear(), 0, 1);
      dpCommissionDateFrom.dateSet(LCommissionDateFrom);
      LCommissionDateFrom.setYear(LCommissionDateFrom.getFullYear() + 1);
      dpCommissionDateTo.dateSet(LCommissionDateFrom - 1);
      break;
    case '3':
      LCommissionDateFrom = new Date(LCommissionDateFrom.getFullYear() - 1, 0, 1);
      dpCommissionDateFrom.dateSet(LCommissionDateFrom);
      LCommissionDateFrom.setYear(LCommissionDateFrom.getFullYear() + 1);
      dpCommissionDateTo.dateSet(LCommissionDateFrom - 1);
      break;
      }
  }
  else
  {
    LCommissionDateFrom = new Date();
    switch (ElementGet('Period').value)
    {
    case '2':
      LCommissionDateFrom = new Date(LCommissionDateFrom.getFullYear(), 0, 1);
      dpCommissionDateFrom.dateSet(LCommissionDateFrom);
      LCommissionDateFrom.setYear(LCommissionDateFrom.getFullYear() + 1);
      break;
    case '3':
      LCommissionDateFrom = new Date(LCommissionDateFrom.getFullYear() - 1, 0, 1);
      dpCommissionDateFrom.dateSet(LCommissionDateFrom);
      LCommissionDateFrom.setYear(LCommissionDateFrom.getFullYear() + 1);
      break;
    }
  }
}

function DateRangeInMonthInit()
{
  dpCommissionDateFrom = DatePickerCreate(ElementGet('dvCommissionDateFrom'), ElementGet('CommissionDateFrom').value,  dpoMonth|dpoYear); 
  dpCommissionDateTo   = DatePickerCreate(ElementGet('dvCommissionDateTo'),   ElementGet('CommissionDateTo').value,    dpoMonth|dpoYear);
}

function DateRangeInMonthSave()
{
  dpCommissionDateFrom.enabledSet(true);
  dpCommissionDateTo.enabledSet(true);
  ElementGet('CommissionDateFrom').value = dpCommissionDateFrom.strDateGet();
  ElementGet('CommissionDateTo').value   = dpCommissionDateTo.strDateGet();
}

function DateRangeValidate()
{
  with (document.all)
  if (Date.parse(CommissionDateFrom.value) > Date.parse(CommissionDateTo.value))
  {
    alert('Date To should not be less than Date From');
    return false;
  }
  return true;
}

function EBaySettingsValidate()
{
  return (
    FieldValidate(ElementGet('ItemCount'), fvtInt, 'Item Count', '', true)
    &&
    FieldValidateEx(ElementGet('ItemCount'), ((ElementGet('ItemCount').value > 0) && (ElementGet('ItemCount').value <= 200)), 'Item Count should be more than 0 and less or equal 200.')
    &&
    FieldValidate(ElementGet('EBayMinPrice'), fvtCurrency, 'Min Price', '', false)
    &&
    FieldValidate(ElementGet('EBayMaxPrice'), fvtCurrency, 'Max Price', '', false)
    &&
    frmCanSubmit(EBaySettings, this)
  )
}

function frmDateRangeSubmit()
{
  with (frmDateRange)
  {
    DateRangeInMonthSave();
    if (DateRangeValidate())
      submit();
  }
}

function frmEBaySettingsSubmit()
{
  if (EBaySettingsValidate())
  {
    ElementGet('EBaySettings').elements['IsGoogle'].value = '0';
    ElementGet('EBaySettings').elements['IsEBay'].value = '1';
    ElementGet('EBaySettings').submit();
  }
}

function frmGoogleAccountSettingsSubmit()
{
  if (GoogleAccountSettingsValidate())
  {
    ElementGet('GoogleAccountSettings').elements['IsGoogle'].value = '1';
    ElementGet('GoogleAccountSettings').elements['IsEBay'].value = '0';
    ElementGet('GoogleAccountSettings').submit();
  }
}

function frmLayoutSettingsSubmit()
{
  ElementGet('frm').elements['IsGoogle'].value = '0';
  ElementGet('frm').elements['IsEBay'].value = '0';
  ElementGet('frm').submit();
}

function GoogleAccountSettingsValidate()
{
  return (
    FieldValidate(ElementGet('UserName'), fvtEMail, 'Email address', '', true)
    &&
    FieldValidate(ElementGet('Password'), fvtPassword, 'Password', '', true)
    &&
    frmCanSubmit(GoogleAccountSettings, this)
  )
}

function HelpRequestProcess()
{
  if (
    FieldValidate(ElementGet('FFullName'), fvtName, 'Full Name', '', false)
    &&
    FieldValidate(ElementGet('FEMail'), fvtEMail, 'Email', '', true)
    &&
    HelpSubjectValidate()
  )
    ElementGet('frm').submit();
}

function HelpSubjectValidate()
{
  var LResult = !(ElementGet('FSubject').selectedIndex == 0);
  if (!LResult)
   alert('Please select Subject');
  return(LResult);
}

function ImageReload(AImg, ASRC)
{
  var LSRC = ASRC.trim();
  if (LSRC.search('http:') != 0)
    return;
  if (AImg.src != LSRC)
    AImg.src = (LSRC)
}

function iMallMerchantsDatePickersInit()
{
  dpDateCreatedFrom = DatePickerCreate(ElementGet('dvDateCreatedFrom'), ElementGet('DateCreatedFrom').value,  dpoMonth|dpoYear); 
  dpDateCreatedTo = DatePickerCreate(ElementGet('dvDateCreatedTo'), ElementGet('DateCreatedTo').value,  dpoMonth|dpoYear); 
}

function iMallMerchantsDatePickerSave()
{
  ElementGet('DateCreatedFrom').value = dpDateCreatedFrom.strDateGet();
  ElementGet('DateCreatedTo').value = dpDateCreatedTo.strDateGet();
}

function iMallMerchantsFilterFormReset()
{
  with(ElementGet('frmFilter'))
  {
    if (ElementGet('PartnerID'))
      PartnerID.value = 99;
    Period.value = 2;
    MerchantName.value = '';
    MerchantEMail.value = '';
    iMallMerchantsPeriodChange();
  }
}

function iMallMerchantsFilterSubmit()
{
  if (!DateRange_FieldValidate(dpDateCreatedFrom, dpDateCreatedTo, 'Date From', 'Date To'))
    return false;
    
  iMallMerchantsDatePickerSave();
  return true;
}

function iMallMerchantsPeriodChange()
{
  var LDateCreatedFrom;
  
    with(ElementGet('frmFilter'))
    {
      LDateCreatedFrom = new Date();
      switch (Period.value)
      {
      case '0':
        LDateCreatedFrom = new Date(LDateCreatedFrom.getFullYear(), LDateCreatedFrom.getMonth(), 1);
        dpDateCreatedFrom.dateSet(LDateCreatedFrom);
        LDateCreatedFrom.setMonth(LDateCreatedFrom.getMonth() + 1);
        dpDateCreatedTo.dateSet(LDateCreatedFrom - 1);
        break;
      case '1':
        LDateCreatedFrom = new Date(LDateCreatedFrom.getFullYear(), LDateCreatedFrom.getMonth() - 1, 1);
        dpDateCreatedFrom.dateSet(LDateCreatedFrom);
        LDateCreatedFrom.setMonth(LDateCreatedFrom.getMonth() + 1);
        dpDateCreatedTo.dateSet(LDateCreatedFrom - 1);
        break;
      case '2':
        LDateCreatedFrom = new Date(LDateCreatedFrom.getFullYear(), 0, 1);
        dpDateCreatedFrom.dateSet(LDateCreatedFrom);
        LDateCreatedFrom.setYear(LDateCreatedFrom.getFullYear() + 1);
        dpDateCreatedTo.dateSet(LDateCreatedFrom - 1);
        break;
      case '3':
        LDateCreatedFrom = new Date(LDateCreatedFrom.getFullYear() - 1, 0, 1);
        dpDateCreatedFrom.dateSet(LDateCreatedFrom);
        LDateCreatedFrom.setYear(LDateCreatedFrom.getFullYear() + 1);
        dpDateCreatedTo.dateSet(LDateCreatedFrom - 1);
        break;
      }
    }   
}

function iMallMerchantsShow(ADateCreated)
{

  var LParams = ['S', SRB_iMallMerchants, 'DateCreatedFrom', ADateCreated, 'DateCreatedTo', ADateCreated];
  ComponentProcess(cAccountManager, 'ShowalliMallMerchants', ParamsToQueryString(LParams));
}

function LinkShareLogonSave()
{
  if (FieldValidate(ElementGet('LogonCode'), fvtNotEmpty, 'Logon Code', '', true))
  {
    ElementGet('A').value = 'S';
    ElementGet('frm').submit();
  }
}

function MerchantIDGet(AForm)
{
  var Result = '';
  var IDs = CB_CheckedValuesGet(AForm.PKV);
  switch (IDs.length)
  {
  case 0:
    alert('No Merchant(s) selected');
    break;
  case 1:
    Result = IDs[0];
    break;
  default:
    alert('Please, select only one Merchant');
  }
  return Result;
}

function OpenerComponentProcess(AComponentID, ASubMenuID)
{
  if (top.opener)
    top.opener.ComponentProcess(AComponentID, ASubMenuID); 
}

function PaymentAdd(AMerchantID)
{
  Redirect(WSA_URLGet(SRB_Payment, '', ['MerchantID', AMerchantID, 'PaymentInitialised', 'False'].refererParamsAdd(
  [
    'S', SRB_Payments,
    'MerchantID', AMerchantID
  ])), window); 
}

function PaymentDetail(APKV, APopUp)
{
  ElementGet('PKV').value = APKV;
  ElementGet('RB_PopUp').value = APopUp;
  ElementGet('frmPayments').submit();
}

function PaymentNewAmountGet()
{
  var LAmount = 0;
  for(var i = 0; i < Amounts.length; i=i+2)
  {
    if (Date.parse(Amounts[i]) <= Date.parse(dpDateTo.strDateGet()))
    {
      LAmount = LAmount + Amounts[i+1];
    }
    else
    {
      break;
    }
  }
  return (Math.round(LAmount * 100) / 100);
}

function PaymentNewCancel()
{
  var LHistory = window.history.length;
  if (navigator.userAgent.indexOf('MSIE') == -1)
    LHistory = LHistory - 1;
  if (LHistory == 1)
  {
    window.close();
  }
  else
  {
    window.history.go(-1);
  }
}

function PaymentNewDatePickersInit(AForm)
{
  with (AForm)
  {
    dpDateFrom = DatePickerCreate(ElementGet('dvDateFrom'), ElementGet('DateFrom').value, dpoMonth|dpoYear);
    dpDateFrom.enabledSet(false);
    if (Date.parse(PaymentNewMaxDate.value) < Date.parse(PaymentNewMinDate.value))
    {
      ElementGet('DateTo').value = ElementGet('DateFrom').value;
      dpDateTo = DatePickerCreate(ElementGet('dvDateTo'), ElementGet('DateTo').value, dpoMonth|dpoYear);
      dpDateTo.enabledSet(false);
    }
    else
    {
      dpDateTo = DatePickerCreate(ElementGet('dvDateTo'), ElementGet('DateTo').value, dpoMonth|dpoYear, 'PaymentNewDateToChanged', PaymentNewMinDate.value, PaymentNewMaxDate.value);
    }
  }
}

function PaymentNewDatePickersSave(AForm)
{
  with (AForm)
  {
    dpDateFrom.enabledSet(true);
    all.DateFrom.value = dpDateFrom.strDateGet();
    all.DateTo.value = dpDateTo.strDateGet();
  }
}

function PaymentNewDateToChanged()
{
  frmPayment.Amount.value = PaymentNewAmountGet();
}

function PaymentNewSave(AForm)
{
  with (AForm)
  {

    if (Date.parse(PaymentNewMaxDate.value) < Date.parse(PaymentNewMinDate.value))
    {
      alert('It is impossible to save new payment.');
      return;
    }

    var LAmount = PaymentNewAmountGet();
    if (
      FieldValidate(Amount, fvtCurrency, 'Amount', '', true)
      &&
      FieldValidateEx(Amount, Amount.value > 0, 'It is impossible to save new payment with 0 amount value.')
      &&
      FieldValidateEx(Amount, Amount.value == LAmount, Amount.value  + ' is not a valid Amount; value should be ' + LAmount)
      &&
      FieldValidate(HolderName, fvtNameFull, 'Holder Name', '', true)
      &&
      FieldValidate(Address1, fvtAddress, 'Address1', '', true)
      &&
      FieldValidate(Address1, fvtAddress, 'Address1', '', false)
      &&
      FieldValidate(City, fvtCity, 'City', '', true)
      &&
      FieldValidate(ZIP, fvtZIP, 'ZIP', '', true)
    )
    {
      var LCurrent = Amount.value * 1;
      var LMin = MinAmount.value * 1;
      if ((LCurrent < LMin) && 
        (!confirm('The Payment Amount is less then MinAmount value ' + LMin + '. Do You want to continue?'))
      )
        return;

      PaymentNewDatePickersSave(AForm);      
      submit();
    }
  }
}

function PaymentsAdd(AForm)
{
  var MerchantID = MerchantIDGet(AForm);
  if (MerchantID != '')
    Popup(WSA_URLGet(SRB_Payment, 'N', ['MerchantID', MerchantID, 'PaymentInitialised', 'False']), 800, 400, true, true);
}

function PaymentsDatePickersInit()
{
  dpDateCreatedFrom = DatePickerCreate(ElementGet('dvDateCreatedFrom'), ElementGet('DateCreatedFrom').value,  dpoMonth|dpoYear); 
  dpDateCreatedTo = DatePickerCreate(ElementGet('dvDateCreatedTo'), ElementGet('DateCreatedTo').value,  dpoMonth|dpoYear); 
}

function PaymentsDatePickersSave()
{
  ElementGet('DateCreatedFrom').value = dpDateCreatedFrom.strDateGet();
  ElementGet('DateCreatedTo').value = dpDateCreatedTo.strDateGet();
}

function PaymentsFilterFormReset()
{
  with (ElementGet('frmFilter'))
  {
    Period.value = 2;
    if (ElementGet('MerchantName')) 
      MerchantName.value = '';
    if (ElementGet('MerchantEMail')) 
      MerchantEMail.value = '';
    PaymentsPeriodChange();
    if (PartnerID)
      PartnerID.value = 99;
  }
}

function PaymentsFilterSubmit()
{
  PaymentsDatePickersSave();
  return true;
}

function PaymentsPeriodChange()
{
  var LDateCreatedFrom;
  
  LDateCreatedFrom = new Date();

  with(ElementGet('frmFilter'))
    switch (ElementGet('Period').value)
    {
      case '0':
        LDateCreatedFrom = new Date(LDateCreatedFrom.getFullYear(), LDateCreatedFrom.getMonth(), 1);
        dpDateCreatedFrom.dateSet(LDateCreatedFrom);
        LDateCreatedFrom.setMonth(LDateCreatedFrom.getMonth() + 1);
        dpDateCreatedTo.dateSet(LDateCreatedFrom - 1);
        break;
      case '1':
        LDateCreatedFrom = new Date(LDateCreatedFrom.getFullYear(), LDateCreatedFrom.getMonth() - 1, 1);
        dpDateCreatedFrom.dateSet(LDateCreatedFrom);
        LDateCreatedFrom.setMonth(LDateCreatedFrom.getMonth() + 1);
        dpDateCreatedTo.dateSet(LDateCreatedFrom - 1);
        break;
      case '2':
        LDateCreatedFrom = new Date(LDateCreatedFrom.getFullYear(), 0, 1);
        dpDateCreatedFrom.dateSet(LDateCreatedFrom);
        LDateCreatedFrom.setYear(LDateCreatedFrom.getFullYear() + 1);
        dpDateCreatedTo.dateSet(LDateCreatedFrom - 1);
        break;
      case '3':
        LDateCreatedFrom = new Date(LDateCreatedFrom.getFullYear() - 1, 0, 1);
        dpDateCreatedFrom.dateSet(LDateCreatedFrom);
        LDateCreatedFrom.setYear(LDateCreatedFrom.getFullYear() + 1);
        dpDateCreatedTo.dateSet(LDateCreatedFrom - 1);
        break;
   }
}

function PaymentsRefresh(AMerchantID)
{
  Redirect(WSA_URLGet(SRB_Payments, '', ['MerchantID', AMerchantID, 'SMID', 'Payments']));
}

function PaymentsView(AForm)
{
  var MerchantID = MerchantIDGet(AForm);
  if (MerchantID != '')
    Popup(WSA_URLGet(SRB_Payments, '', ['MerchantID', MerchantID, 'SMID', 'Payments']), 800, 400, true, true);
}

function PreferensesValidate(AAction)
{
  if (AAction == wbtnNext)
    return (
      FieldValidateEx(ElementGet('Description'), (22 <= (ElementGet('Description').value.length)&&(ElementGet('Description').value.length <= 200)) , '"' + ElementGet('Description').value + '" is not a valid Description; value should be 22-200 characters long.')
      &&
      FieldValidateEx(ElementGet('Keywords'), (10 <= (ElementGet('Keywords').value.length)&&(ElementGet('Keywords').value.length <= 1000)) , '"' + ElementGet('Keywords').value + '" are not valid Keywords; value should be 10-1000 characters long.')
      &&
      FieldValidateEx(ElementGet('GoogleSupport'), (!(ElementGet('GoogleSupport'))||(ElementGet('GoogleSupport').checked == false)||(ElementGet('GoogleAccountExist').value == 'true')), 'To enable Google Ads you must to have your own Google Account.')
    )
  else
    return 1;
}

function RB_GuestbookProcess()
{
  if (
    FieldValidate(ElementGet('FFullName'), fvtName, 'Full Name', '', false)
    &&
    FieldValidate(ElementGet('FEMail'), fvtEMail, 'Email', '', false)
    &&
    FieldValidate(ElementGet('FPhone'), fvtPhone, 'Phone', '', false)
    &&
    FieldValidate(ElementGet('FComments'), fvtNotEmpty, 'Comments', '', true)
  )
    ElementGet('frm').submit();
}

function SearchProcess()
{
  return (FieldValidate(ElementGet('SearchString'), fvtNotEmpty, 'Search keyword', '', true));
}

function SubCategoryProcess(ARootPath)
{
  document.location = WSA_URLGet(SRB_SubCategory, 'F', ['RootPath', ARootPath, 'C_', '0'], false, false);
}

function tdover(AObject)
{
  if (!AObject.Selected)
  {
    AObject.OriginalbgColor = AObject.bgColor;
    AObject.bgColor = 'aliceblue';
  }
  var Lchange = change;
  if (!Lchange.length)
    Lchange = [Lchange];
  for (i = 0; i < Lchange.length; i++)
  {
    if (Lchange[i].contains(AObject))
    {
      Lchange[i].OriginalbgColor = Lchange[i].bgColor;
      Lchange[i].bgColor = "blue";
      break;
    }
  }
}

function tdout(AObject)
{
  if (!AObject.Selected)
    AObject.bgColor = AObject.OriginalbgColor; 

  var Lchange = change;
  if (!Lchange.length)
    Lchange = [Lchange];
  for (i = 0; i < Lchange.length; i++)
  {
    if (Lchange[i].contains(AObject))
    {
      Lchange[i].bgColor = Lchange[i].OriginalbgColor;
      break;
    }
  }
}

function TemplatesLoad()
{
  var LControls;
  LControls = ElementGet('TemplateID');
  
  if (!LControls.length)
    LControls = [LControls];
  var LCheckBox;
  for (i = 0; i < LControls.length; i++)
    if (LControls[i].checked)
    {
      LCheckBox = LControls[i];
      break;
    }
  if (!LCheckBox)
    return;
  var Lchange = change1;
  if (!Lchange.length)
    Lchange = [Lchange];
  for (i = 0; i < Lchange.length; i++)
    if (Lchange[i].contains(LCheckBox))
    {
      Lchange[i].Selected = true;
      Lchange[i].OriginalbgColor = Lchange[i].bgColor;
      Lchange[i].bgColor = 'aliceblue';
      break;
    }
}

function Template_Select(ATD)
{
  var LControls;
  LControls = ElementGet('TemplateID');
  
  if (!LControls.length)
    LControls = [LControls];
  var LCheckBox;
  for (i = 0; i < LControls.length; i++)
  {
    if (ATD.contains(LControls[i]))
    {
      LCheckBox = LControls[i];
      LControls[i].checked = true
    }
    else
      LControls[i].checked = false
  }

  var Lchange = change1;
  if (!Lchange.length)
    Lchange = [Lchange];
  for (i = 0; i < Lchange.length; i++)
  {
    if (Lchange[i].contains(LCheckBox))
    {
      Lchange[i].Selected = true;
      Lchange[i].bgColor = 'aliceblue';
    }
    else
    {
      Lchange[i].Selected = false;
      Lchange[i].bgColor = Lchange[i].OriginalbgColor;
    }
  }
}

function textCounter(AText, Anumleft, ASize, AValidate, event)
{
  var LSize = AText.value.length;
  Anumleft.value = (LSize <= ASize) ? ASize - LSize : 0;
  if ((AValidate) && (LSize >= ASize)) 
  {
    event.returnValue=false;
    if (
      (navigator.userAgent.indexOf('MSIE') < 0)
      &&
      (event.keyCode != 8)//backspace
      &&
      !((event.keyCode >= 33) && (event.keyCode <= 46))//navigation keys
    )
      event.preventDefault();
  }
}

