// get element by ID [extented]
function ExGetElementByID (id) {
   return document.getElementById ? document.getElementById(id) : document.all[id];
}

// add to favorite
function AddFavorite(linkObj,addUrl,addTitle)
{
  if (document.all && !window.opera)
  {
    window.external.AddFavorite(addUrl,addTitle);
    return false;
  }
  else if (window.opera && window.print)
  {
    linkObj.title = addTitle;
    return true;
  }
  window.alert('Po potvrdení bude stránka pridaná k Vašim obľúbeným odkazom.');
  return false;
}

//----------------------------------------------------------------------------------------------------------------------

// required items on form
function setData(vAction,vItem)
{
   var bError   = false;

   //alert(ExGetElementByID('jxlogin').innerHTML);
   var sLogin = ExGetElementByID('jxlogin').innerHTML;
   if(sLogin.indexOf('INVALID') != -1) {
      bError = true;
      alert('Login je už použitý, prosím skúste iný!');
   }

   // input type
   var arrInputs = document.getElementsByTagName('input');

   for (var i=0; i<arrInputs.length; i++)
   {
      var oItem      = arrInputs[i];
      var sItemID    = arrInputs[i].id;
      var sItemValue = arrInputs[i].value;
      var sItemCheck = arrInputs[i].checked;

      // text
      if((sItemID.indexOf('_') != -1) && (!bError))
      {
         if(oItem.getAttribute('type') == 'text') {
            if(sItemValue == '')
            {
               alert('Nevyplnili ste hodnotu pre povinnú položku!');
               bError = true;
               oItem.style.backgroundColor='#ffff66';
               oItem.focus();
            }
            else
            {  oItem.style.backgroundColor='#ffffff';  }
         }

         if(oItem.getAttribute('type') == 'checkbox') {
            if(!sItemCheck)
            {
               alert('Neodškrtli ste povinnú položku!');
               bError = true;
               oItem.style.backgroundColor='#ffff66';
               oItem.focus();
            }
            else
            {  oItem.style.backgroundColor='#ffffff';  }
         }
      }

      // patterns
      //if(sItemID == '_sDatum'         && !bError) { bError = !isDate(oItem);     }
      //if(sItemID == '_sTelefon'         && !bError) { bError = !isPhone(oItem);    }
      //if(sItemID == '_sMobil'           && !bError) { bError = !isCellular(oItem); }
      //if(sItemID == 'sFax'              && !bError) { bError = !isPhone(oItem);    }
      //if(sItemID == 'sKontaktTelefon' && !bError) { bError = !isPhone(oItem);    }
      //if(sItemID == 'sRezervTelefon'  && !bError) { bError = !isPhone(oItem);    }
      if(sItemID == 'sUrl'              && !bError) { bError = !isUrl(oItem);      }
      if(sItemID == '_sEmail'           && !bError) { bError = !isEmail(oItem);    }
   }

   // select
   var arrSelects = document.getElementsByTagName('select');

   for (var j=0; j<arrSelects.length; j++)
   {
      var oItem      = arrSelects[j];
      var sItemID    = arrSelects[j].id;
      var sItemValue = arrSelects[j].value;

      if((sItemID.indexOf('_n') != -1) && (!bError))
      {
         if(sItemValue == -1)
         {
            alert('Nevybrali ste hodnotu pre povinnú položku!');
            bError = true;
            oItem.style.backgroundColor='#ffff66';
            oItem.focus();
         }
         else
         {  oItem.style.backgroundColor='#ffffff';  }
      }
      else
      {  oItem.style.backgroundColor='#ffffff';  }
   }

   if(!bError)
   {
      goItem(vAction,'',vItem,0,'');
   }
}

// required items on form
function setDataEx(vAction,vItem)
{
   var bError   = false;

   // input type
   var arrInputs = document.getElementsByTagName('input');

   for (var i=0; i<arrInputs.length; i++)
   {
      var oItem      = arrInputs[i];
      var sItemID    = arrInputs[i].id;
      var sItemValue = arrInputs[i].value;
      var sItemCheck = arrInputs[i].checked;

      // text
      if((sItemID.indexOf('_') != -1) && (!bError))
      {
         if(oItem.getAttribute('type') == 'text') {
            if(sItemValue == '')
            {
               alert('Nevyplnili ste hodnotu pre povinnú položku!');
               bError = true;
               oItem.style.backgroundColor='#ffff66';
               oItem.focus();
            }
            else
            {  oItem.style.backgroundColor='#ffffff';  }
         }

         if(oItem.getAttribute('type') == 'checkbox') {
            if(!sItemCheck)
            {
               alert('Neodškrtli ste povinnú položku!');
               bError = true;
               oItem.style.backgroundColor='#ffff66';
               oItem.focus();
            }
            else
            {  oItem.style.backgroundColor='#ffffff';  }
         }
      }

      // patterns
      //if(sItemID == '_sDatum'         && !bError) { bError = !isDate(oItem);     }
      //if(sItemID == '_sTelefon'       && !bError) { bError = !isPhone(oItem);    }
      //if(sItemID == '_sMobil'         && !bError) { bError = !isCellular(oItem); }
      //if(sItemID == 'sFax'            && !bError) { bError = !isPhone(oItem);    }
      //if(sItemID == 'sKontaktTelefon' && !bError) { bError = !isPhone(oItem);    }
      //if(sItemID == 'sRezervTelefon'  && !bError) { bError = !isPhone(oItem);    }
      //if(sItemID == '_sPowerKW'         && !bError) { bError = !isPower(oItem);    }
      //if(sItemID == '_sPowerPS'         && !bError) { bError = !isPower(oItem);    }
      if(sItemID == 'sUrl'              && !bError) { bError = !isUrl(oItem);      }
      //if(sItemID == '_sEmail'           && !bError) { bError = !isEmail(oItem);    }
   }

   // select
   var arrSelects = document.getElementsByTagName('select');

   for (var j=0; j<arrSelects.length; j++)
   {
      var oItem      = arrSelects[j];
      var sItemID    = arrSelects[j].id;
      var sItemValue = arrSelects[j].value;

      if((sItemID.indexOf('_') != -1) && (!bError))
      {
         if(sItemValue == -1)
         {
            alert('Nevybrali ste hodnotu pre povinnú položku!');
            bError = true;
            oItem.style.backgroundColor='#ffff66';
            oItem.focus();
         }
         else
         {  oItem.style.backgroundColor='#ffffff';  }
      }
      else
      {  oItem.style.backgroundColor='#ffffff';  }
   }

   if(!bError)
   {
      goItem(vAction,'',vItem,0,'');
   }
}

// return power in PS
function setPowerToPS()
{
   var vPowerPS = Math.round(ExGetElementByID('_PowerKW').value * 1.36);
   if(isNaN(vPowerPS)) {
      alert('Nesprávny formát výkonu. Zadajte prosím číselnú hodnotu v tvare od 1 po 999');
      ExGetElementByID('_PowerKW').style.backgroundColor='#ffff66';
      ExGetElementByID('_PowerKW').focus();
   } else {
      ExGetElementByID('_PowerKW').style.backgroundColor='#ffffff';
      ExGetElementByID('_PowerPS').value = vPowerPS;
   }
}

// required items on form
function setPassword(vAction,vItem)
{
   var bError   = false;

   //alert(ExGetElementByID('jxlogin').innerHTML);
   var sLogin = ExGetElementByID('jxpassword').innerHTML;
   if(sLogin.indexOf('INVALID') != -1) {
      bError = true;
      alert('Pôvodné heslo nie je správne!');
   }

   // input type
   var arrInputs = document.getElementsByTagName('input');

   for (var i=0; i<arrInputs.length; i++)
   {
      var oItem      = arrInputs[i];
      var sItemID    = arrInputs[i].id;
      var sItemValue = arrInputs[i].value;
      var sItemCheck = arrInputs[i].checked;

      // text
      if((sItemID.indexOf('_') != -1) && (!bError))
      {
         if(oItem.getAttribute('type') == 'password') {
            if(sItemValue == '')
            {
               alert('Nevyplnili ste hodnotu pre povinnú položku!');
               bError = true;
               oItem.style.backgroundColor='#ffff66';
               oItem.focus();
            }
            else
            {  oItem.style.backgroundColor='#ffffff';  }
         }

         sPasswordNew1 = ExGetElementByID('_sPasswordNew1');
         sPasswordNew2 = ExGetElementByID('_sPasswordNew2');
         if(sPasswordNew1.value != sPasswordNew2.value) {
            bError = true;
            alert('Prosím zadajte opakovane nové heslo!');
            sPasswordNew2.focus();
         }
      }
   }

   if(!bError)
   {
      goItem(vAction,'',vItem,0,'');
   }
}

// valid power
function isPower(vItem)
{
   // 001-999
   var re = /[0-9][0-9][1-9]/;

   if(vItem.value != '')
   {
      if (!vItem.value.match(re))
      {
         alert('Nesprávny formát výkonu!\nProsím zadajte výkon v tvare od 1 po 999');
         vItem.style.backgroundColor='#ffff66';
         vItem.focus();
         return false;
      }
      else
      {
         vItem.style.backgroundColor='#ffffff';
         return true;
      }
   }
   else
   {
      vItem.style.backgroundColor='#ffffff';
      return true;
   }
}

// valid date
function isDate(vItem)
{
   // 2007.12.05-2008.12.04
   var re = /[0-3][0-9].[0-1][0-9].[1-2][0-9][0-9][0-9]-[0-3][0-9].[0-1][0-9].[1-2][0-9][0-9][0-9]/;

   if(vItem.value != '')
   {
      if (!vItem.value.match(re))
      {
         alert('Nesprávny formát dátumu!\nProsím zadajte dátum v tvare DD.MM.RRRR-DD.MM.RRRR');
         vItem.style.backgroundColor='#ffff66';
         vItem.focus();
         return false;
      }
      else
      {
         vItem.style.backgroundColor='#ffffff';
         return true;
      }
   }
   else
   {
      vItem.style.backgroundColor='#ffffff';
      return true;
   }
}

// valid url address
function isUrl(vItem) {
   var re = /^(http\:\/\/)/;

   if(vItem.value != '')
   {
      if (!vItem.value.match(re))
      {
         alert('Nesprávny formát www adresy!\nZadávajte www v tvare http://www.xxxxx.yy');
         vItem.value = vItem.value.replace(/^\w/g,'http://\w');
         vItem.style.backgroundColor='#ffff66';
         vItem.focus();
         return false;
      }
      else
      {
         vItem.style.backgroundColor='#ffffff';
         return true;
      }
   }
   else
   {
      vItem.style.backgroundColor='#ffffff';
      return true;
   }
}

// valid e-mail address
function isEmail(vItem) {
   var re = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

   if(vItem.value != '')
   {
      if (!vItem.value.match(re))
      {
         alert('Nesprávny formát e-mailovej adresy!');
         vItem.style.backgroundColor='#ffff66';
         vItem.focus();
         return false;
      }
      else
      {
         vItem.style.backgroundColor='#ffffff';
         return true;
      }
   }
   else
   {
      vItem.style.backgroundColor='#ffffff';
      return true;
   }
}

// valid phone number
function isPhone(vItem)
{
   if(vItem.value != '')
   {
      vItem.value = vItem.value.replace(/\s/g,'');
      // +421(0)212345678, 00421212344567, +421(0)212345678 kl.11, 00421(0)212345678 kl.11
      var re = /^((\+|00)\d{1,3}(\(0\))?\d{1,3})(\d{6,8})(( kl\.| ext\.)\d{1,3}){0,1}/;
      if (!vItem.value.match(re))
      {
         alert('Nesprávny formát telefónneho čísla!\nProsím zadajte číslo v tvare +421(0)XX12345678 alebo pole nevyplňujte.');
         vItem.style.backgroundColor='#ffff66';
         vItem.focus();
         return false;
      }
      else
      {
         vItem.style.backgroundColor='#ffffff';
         return true;
      }
   }
   else
   {
      vItem.style.backgroundColor='#ffffff';
      return true;
   }
}

// valid cellular
function isCellular(vItem)
{
   if(vItem.value != '')
   {
      vItem.value = vItem.value.replace(/\s/g,'');
      // +421(0)777123567, 00421(0)777123567
      var re = /^((\+|00)\d{1,3}(\(0\))?\d{3})(\d{6})/;
      if (!vItem.value.match(re))
      {
         alert('Nesprávny formát mobilného čísla!\nProsím zadajte číslo v tvare +421(0)XXX123456 alebo pole nevyplňujte.');
         vItem.style.backgroundColor='#ffff66';
         vItem.focus();
         return false;
      }
      else
      {
         vItem.style.backgroundColor='#ffffff';
         return true;
      }
   }
   else
   {
      vItem.style.backgroundColor='#ffffff';
      return true;
   }
}

// sort on
function setSort(sRef, sOrder) {
   re = /(sort)+(\=)+([a-z_])+$/;
   if(!sRef.match(re)) {
      sRef = sRef + '&sort=' + sOrder;
   } else {
      sRef = sRef.replace(re, 'sort=' + sOrder);
   }
   location.href = sRef;
}

//----------------------------------------------------------------------------------------------------------------------

// check all items
function checkAll(type) {
   var i;
   var checkID = 'check_';
   var checkedItem;
   for(i = 1; i <= getAllRows() ; i++) {
      checkedItem = ExGetElementByID (checkID + i)
      if (checkedItem == null)
         break;
      else {
         switch (type) {
            case 1:
               checkedItem.checked = true;
               break;
            case 0:
               checkedItem.checked = false;
               break
         }
      }
   }
}

// check one item
function checkChosenOne(nID) {
   ExGetElementByID ('check_' + nID).checked = true;
}

// count of checked items
function getCheckedRows() {
   var i;
   var result = 0
   var checkID = 'check_';
   for(i = 1; i <= getAllRows() ; i++) {
      checkedItem = ExGetElementByID (checkID + i)
      if (checkedItem == null)
         break;
      else {
         if (checkedItem.checked) result++;
      }
   }
   return result;
}

// count of all items
function getAllRows() {
   var nCount = ExGetElementByID ('nAllRows');
   if (nCount != null)
      return nCount.value;
   else
      return 0;
}

// serialize checked items
function getSerializeItems() {
   var i;
   var result  = '';
   var checkID = 'check_';
   for(i = 1; i <= getAllRows() ; i++) {
      checkedItem = ExGetElementByID (checkID + i);
      if (checkedItem == null)
         break;
      else {
         if (checkedItem.checked) {
            if(result == '')
               result = checkedItem.value;
            else
               result = result + ',' + checkedItem.value;
         }
      }
   }
   return result;
}

// serialize amounts of checked items
function getSerializeAmounts() {
   var i;
   var result   = '';
   var checkID  = 'check_';
   var amountID = 'amount_';
   for(i = 1; i <= getAllRows() ; i++) {
      checkedItem = ExGetElementByID (checkID + i);
      amountItem  = ExGetElementByID (amountID + i);
      if (checkedItem == null)
         break;
      else {
         if (checkedItem.checked) {
            if(result == '')
               result = amountItem.value;
            else
               result = result + ',' + amountItem.value;
         }
      }
   }
   return result;
}

// forward (extended)
function goItem(nActionID, sRequestUrl, nItem, nSelID, sMessage, sType) {
/****************************************************************************************************************************
 nActionID :  [0] - [form] - revert changes and forward to sRequestUrl
              [1] - [form] - overview
              [2] - [form] - add new item
              [3] - [form] - edit chosen item
              [4] - [form] - detail of chosen item
             [10] - [DML]  - insert new item data
             [11] - [DML]  - update changed data
             [12] - [DML]  - insert new item data
             [13] - [DML]  - update changed data
             [14] - [form] - forward to search engine
             [15] - [form] - forward to change password
             [16] - [DML]  - update changed data
             [17] - [DML]  - insert new item data
             [18] - [DML]  - update changed data
             [20] - [DML]  - actualize
             [2000] - [DML]  - hide/show car
             [21] - [DML]  - delete car
             [200]- [DML]  - hide/show cars
             [210]- [DML]  - delete cars
             [22] - [DML]  - upload new photos
             [23] - [DML]  - send e-mail to friend
             [24] - [DML]  - insert new item data
             [25] - [DML]  - update changed data
             [26] - [DML]  - hide/show record
             [27] - [DML]  - delete record
             [28] - [DML]  - delete checked items
             [30] - [DML]  - save config
             [31] - [DML]  - insert new item data
             [32] - [DML]  - update changed data
             [33] - [DML]  - delete record
             [34] - [DML]  - hide/show checked records
             [35] - [DML]  - insert new item data
             [36] - [DML]  - update changed data
             [37] - [DML]  - hide/show chosen record
             [38] - [DML]  - delete chosen record
             [39] - [DML]  - delete checked records
             [40] - [DML]  - hide/show checked records
             [45] - [DML]  - insert new item data
             [46] - [DML]  - update changed data
             [47] - [DML]  - hide/show chosen record
             [48] - [DML]  - delete chosen record
             [49] - [DML]  - delete checked records
             [50] - [DML]  - hide/show checked records
             [51] - [DML]  - hide/show chosen record
             [52] - [DML]  - delete chosen record
             [53] - [DML]  - hide/show checked records
             [54] - [DML]  - delete checked records
             [61] - [DML]  - hide/show chosen record
             [62] - [DML]  - delete chosen record
             [63] - [DML]  - hide/show checked records
             [64] - [DML]  - delete checked records
             [101]- [DML]  - move record up
             [102]- [DML]  - move record down
             [103]- [DML]  - move record up
             [104]- [DML]  - move record down
*****************************************************************************************************************************/

   var nAction     = ExGetElementByID ('nAction');
   var form        = ExGetElementByID ('sForm');
   var sRef        = ExGetElementByID ('sRef');
   var nItemLink   = ExGetElementByID ('nItemLink');
   var nItemAmount = ExGetElementByID ('nItemAmount');
   var bContinue   = false;

   if(sRequestUrl != '') { sRef.value = sRequestUrl; }

   switch (nActionID) {

      case 0: // [form] - revert changes and forward to sRequestUrl
         bContinue = false;
         if (sMessage.length != 0) {
            if (confirm(sMessage)) {
               goItemEx(1,sRef.value);
            }
         }
         else {
            goItemEx(1,sRef.value);
         }
         break;


      case 1:  // [form] - overview
         bContinue = false;
         location.href = sRef.value;
         break;

      case 2:  // [form] - add new item
         bContinue = false;
         location.href = sRef.value;
         break;

      case 3:  // [form] - edit chosen item
         bContinue = false;
         location.href = sRef.value + '?id=' + nItem + '&action=edit';
         break;

      case 4:  // [form] - detail of chosen item
         bContinue = false;
         location.href = sRef.value + '?id=' + nItem + '&action=detail';
         break;

      case 5:  // [form] - edit chosen item
         bContinue = false;
         location.href = sRef.value + '?id=' + nItem + '&action=edit&type=' + sType;
         break;

      case 6:  // [form] - detail of chosen item
         bContinue = false;
         location.href = sRef.value + '?id=' + nItem + '&action=detail&type=' + sType;
         break;

/****************************************************************************************************************************/

      case 10: // [DML] - insert new item data
         //location.href = sRef.value;
         bContinue = true;
         break;

      case 11: // [DML] - update changed data
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 12: // [DML] - insert new item data
         location.href = sRef.value;
         bContinue = true;
         break;

      case 13: // [DML] - update changed data
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 14: // [form] - forward to search engine
         location.href = sRef.value;
         bContinue = true;
         break;

      case 15: // [form] - forward to change password
         location.href = sRef.value;
         bContinue = true;
         break;

      case 16: // [DML] - update changed data
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 17: // [DML] - insert new item data
         location.href = sRef.value;
         bContinue = true;
         break;

      case 18: // [DML] - update changed data
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 20: // [DML] - actualize
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 2000: // [DML] - hide/show car
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 21: // [DML] - delete car
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 200: // [DML] - hide/show checked items
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 210: // [DML] - delete checked items
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 22: // [DML] - update changed data
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 23: // [DML] - send e-mail to friend
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 24: // [DML] - insert new item data
         location.href = sRef.value;
         bContinue = true;
         break;

      case 25: // [DML] - update changed data
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 26: // [DML] - hide/show chosen item
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 27: // [DML] - delete chosen item
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 28: // [DML] - delete checked items
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 29: // [DML] - delete checked items
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 30: // [DML] - save config
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 31: // [DML] - insert new item data
         location.href = sRef.value;
         bContinue = true;
         break;

      case 32: // [DML] - update changed data
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 33: // [DML] - delete record
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 34: // [DML] - hide/show checked records
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 35: // [DML] - insert new item data
         location.href = sRef.value;
         bContinue = true;
         break;

      case 36: // [DML] - update changed data
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 37: // [DML] - hide/show chosen item
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            nItemAmount.value = sType;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 38: // [DML] - delete record
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            nItemAmount.value = sType;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 39: // [DML] - delete checked items
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 40: // [DML] - hide/show checked records
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 45: // [DML] - insert new item data
         location.href = sRef.value;
         bContinue = true;
         break;

      case 46: // [DML] - update changed data
         nItemLink.value = nItem;
         bContinue = true;
         break;

      case 47: // [DML] - hide/show chosen item
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            nItemAmount.value = sType;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 48: // [DML] - delete record
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            nItemAmount.value = sType;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 49: // [DML] - delete checked items
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 50: // [DML] - hide/show checked records
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 51: // [DML] - hide/show chosen item
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            nItemAmount.value = sType;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 52: // [DML] - delete record
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            nItemAmount.value = sType;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 53: // [DML] - hide/show checked records
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 54: // [DML] - delete checked items
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 61: // [DML] - hide/show chosen item
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            nItemAmount.value = sType;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 62: // [DML] - delete record
         if (confirm(sMessage)) {
            checkChosenOne(nSelID);
            nItemLink.value = nItem;
            nItemAmount.value = sType;
            bContinue = true;
         }
         else {
            bContinue = false;
         }
         break;

      case 63: // [DML] - hide/show checked records
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 64: // [DML] - delete checked items
         if (getCheckedRows() != 0) {
            bContinue = confirm(sMessage);
            // send values
            nItemLink.value = getSerializeItems();
         }
         else {
            alertNoItem();
         }
         break;

      case 101: // [DML] - move record up
         checkChosenOne(nSelID);
         nItemLink.value = nItem;
         nItemAmount.value = sType;
         bContinue = true;
         break;

      case 102: // [DML] - move record down
         checkChosenOne(nSelID);
         nItemLink.value = nItem;
         nItemAmount.value = sType;
         bContinue = true;
         break;

      case 103: // [DML] - move record up
         checkChosenOne(nSelID);
         nItemLink.value = nItem;
         nItemAmount.value = sType;
         bContinue = true;
         break;

      case 104: // [DML] - move record down
         checkChosenOne(nSelID);
         nItemLink.value = nItem;
         nItemAmount.value = sType;
         bContinue = true;
         break;

/****************************************************************************************************************************
 nActionID :  [0] - [form] - revert changes and forward to sRequestUrl
              [1] - [form] - overview
              [2] - [form] - add new item
              [3] - [form] - edit chosen item
              [4] - [form] - detail of chosen item
             [10] - [DML]  - insert new item data
             [11] - [DML]  - update changed data
             [12] - [DML]  - insert new item data
             [13] - [DML]  - update changed data
             [14] - [form] - forward to search engine
             [15] - [form] - forward to change password
             [16] - [DML]  - update changed data
             [17] - [DML]  - insert new item data
             [18] - [DML]  - update changed data
             [20] - [DML]  - hide/show car
             [21] - [DML]  - delete car
             [200]- [DML]  - hide/show cars
             [210]- [DML]  - delete cars
             [22] - [DML]  - upload new photos
             [23] - [DML]  - send e-mail to friend
             [24] - [DML]  - insert new item data
             [25] - [DML]  - update changed data
             [26] - [DML]  - hide/show record
             [27] - [DML]  - delete record
             [28] - [DML]  - delete checked items
             [30] - [DML]  - save config
             [31] - [DML]  - insert new item data
             [32] - [DML]  - update changed data
             [33] - [DML]  - delete record
             [34] - [DML]  - hide/show checked records
             [35] - [DML]  - insert new item data
             [36] - [DML]  - update changed data
             [37] - [DML]  - hide/show chosen record
             [38] - [DML]  - delete chosen record
             [39] - [DML]  - delete checked records
             [40] - [DML]  - hide/show checked records
             [45] - [DML]  - insert new item data
             [46] - [DML]  - update changed data
             [47] - [DML]  - hide/show chosen record
             [48] - [DML]  - delete chosen record
             [49] - [DML]  - delete checked records
             [50] - [DML]  - hide/show checked records
             [51] - [DML]  - hide/show chosen record
             [52] - [DML]  - delete chosen record
             [53] - [DML]  - hide/show checked records
             [54] - [DML]  - delete checked records
             [61] - [DML]  - hide/show chosen record
             [62] - [DML]  - delete chosen record
             [63] - [DML]  - hide/show checked records
             [64] - [DML]  - delete checked records
             [101]- [DML]  - move record up
             [102]- [DML]  - move record down
             [103]- [DML]  - move record up
             [104]- [DML]  - move record down
/****************************************************************************************************************************/

   }

   if (bContinue) {
      nAction.value = nActionID;
      form.submit();
   }
}

/****************************************************************************************************************************/

// no data found
function alertNoItem() {
   alert("Nie sú vybrané žiadne položky");
}

// alert and forward
function goAlert(nActionID, sRequestUrl, nSelID, sMessage) {
   goItem(nActionID, sRequestUrl, 0, nSelID, sMessage, '');
}

// forward
function goItemEx(nActionID,sRequestUrl) {
   goItem(nActionID, sRequestUrl, 0, 0, '', '');
}

/****************************************************************************************************************************/

// keypress enter
function submitEnter(element,e,sRef) {
   var keycode;
   if (window.event) keycode = window.event.keyCode;
   else if (e) keycode = e.which;
   else return true;

   if (keycode == 13) {
      // if press enter set up filter
      applyFilter(ID('search').value,sRef);
      return false;
   } else
      return true;
}

// filter on
function applyFilter(sRef, sSearch, sOrder) {
   //var re = /(sOrder)\=(\w+)/;
   //sRef = sRef.replace(re,'order=' + sOrder);
   location.href = sRef + '?search=' + sSearch + '&order=' + sOrder;
}

// filter on
function applyFilter2(sRef, sBrandID, sModelID, sOrder) {
   //var re = /(sOrder)\=(\w+)/;
   //sRef = sRef.replace(re,'order=' + sOrder);
   location.href = sRef + '?brandID=' + sBrandID + '&modelID=' + sModelID + '&order=' + sOrder;
}

// filter off
function clearFilter(sRef, sOrder) {
   //var re = /(sOrder)\=(\w+)/;
   //sRef = sRef.replace(re,'order=' + sOrder);
   location.href = sRef + '?order=' + sOrder;
}

// import a new prices
function doImport(sMessage) {
   var pokracuj = false;
       pokracuj = confirm(sMessage);
   if (pokracuj) { location.href = 'import.php'; }
}

// edit group template
function GTemplate(nID,sMessage) {
   var pokracuj = false;
       pokracuj = confirm(sMessage);
   if (pokracuj) { location.href = './editor/articles/htmlg/?Toolbar=Custom&id='+nID; }
}

// edit product template
function PTemplate(nID,sMessage) {
   var pokracuj = false;
       pokracuj = confirm(sMessage);
   if (pokracuj) { location.href = './editor/articles/htmlp/?Toolbar=Custom&id='+nID; }
}

// return only numbers
function onlyNumber(nSelID,vField) {
   if (isNaN(vField) || (vField>255) || (vField<0)) {
      alert('Nezadali ste číslo v rozmedzí 0-255');
      ExGetElementByID ('amount_' + nSelID).value = 0;
   }
   else {
      checkChosenOne(nSelID);
   }
}

function changeImg(sNewFileName, nID, sTyp) {
   if(sNewFileName != -1) {
      ExGetElementByID ('image').src     = '../thumbs.php?im=' + sNewFileName + '&typ=' + sTyp + '&id=' + nID;
      ExGetElementByID ('image').alt     = 'ilustračný obrázok - ' + sNewFileName;
      ExGetElementByID ('image').title   = 'ilustračný obrázok - ' + sNewFileName;
      ExGetElementByID ('image').OnClick = '';
   }
   else {
      ExGetElementByID ('image').src     = '../img/none2.jpg';
      ExGetElementByID ('image').alt     = 'zariadenie nemá nastavený hlavný obrázok';
      ExGetElementByID ('image').title   = 'zariadenie nemá nastavený hlavný obrázok';
      ExGetElementByID ('image').OnClick = '';
   }
}

function nullSelect(combobox) {
   // ak je prazdne pole comboboxu tak zvolime default value
   //if (ExGetElementByID (combobox).selectedIndex == 1) { ExGetElementByID (combobox).selectedIndex = 0; }
}

function changeUrl(sRef) {
   // presmerovanie stranky
   location.href = sRef;
}
