         function CreatePage(Name, Title, Description, REval) {
             _REval = REval;
             xCMSWeb.Content.set_defaultSucceededCallback(OnUpdateContentComplete);
             xCMSWeb.Content.set_defaultFailedCallback(OnError);
             xCMSWeb.Content.CreatePage(Name, Title, Description);
         }

         function EditPage(ID, Name, Title, Description, REval) {
             _REval = REval;
             xCMSWeb.Content.set_defaultSucceededCallback(OnUpdateContentComplete);
             xCMSWeb.Content.set_defaultFailedCallback(OnError);
             if (ID != "") xCMSWeb.Content.EditPage(ID,Name, Title, Description);
         }

         function DeletePage(ID, REval) {
             if (ID == "") return false;
             if (ID > 0) {
                 if (confirm("Obrisati stranu?")) {
                     _REval = REval;
                     xCMSWeb.Content.set_defaultSucceededCallback(OnUpdateContentComplete);
                     xCMSWeb.Content.set_defaultFailedCallback(OnError);
                     xCMSWeb.Content.DeletePage(ID);
                 }
             }
         }

         function LoadPages(ListID, PositionAt) {
             if (_REval != '') {
                 setTimeout("LoadPages('" + ListID + "'," + PositionAt + ")", 1000);
             }
             else {
                 if (PositionAt == "") PositionAt = 0;
                 if (PositionAt == "undefined") PositionAt = 0;

                 _REval = "FillGridTable('" + ListID + "',result.replace(/!~!/gi,'>').replace(/!-!/gi,'<')," + PositionAt + ");";
                 xCMSWeb.Content.set_defaultSucceededCallback(OnReadContentCompleted);
                 xCMSWeb.Content.set_defaultFailedCallback(OnError);


                 xCMSWeb.Content.ListPages(SelectedGridRowID(ListID));
             }
         }


         function CreateItem(DESCRIPTOR,Parms, REval) {
             _REval = REval;
             xCMSWeb.Content.set_defaultSucceededCallback(OnUpdateContentComplete);
             xCMSWeb.Content.set_defaultFailedCallback(OnError);
             xCMSWeb.Content.AddItem(DESCRIPTOR, Parms);
         }

         function EditItem(DESCRIPTOR,ID, Parms, REval) {
             _REval = REval;
             xCMSWeb.Content.set_defaultSucceededCallback(OnUpdateContentComplete);
             xCMSWeb.Content.set_defaultFailedCallback(OnError);
             if (ID != "") xCMSWeb.Content.EditItem(DESCRIPTOR, ID, Parms);
         }

         function DeleteItem(DESCRIPTOR, ID, REval) {
             if ((ID == "")||(ID == -1)) return false;
                 if (confirm("Obrisati podatak?")) {
                     _REval = REval;
                     xCMSWeb.Content.set_defaultSucceededCallback(OnUpdateContentComplete);
                     xCMSWeb.Content.set_defaultFailedCallback(OnError);
                     xCMSWeb.Content.DeleteItem(DESCRIPTOR,ID);
                 }
         }

         function LoadItems(DESCRIPTOR, ListID, BoundItems, PositionAt, Filters) {
             
             if (_REval != '') {
                 setTimeout("LoadItems('" + DESCRIPTOR + "','" + ListID + "','" + BoundItems + "'," + PositionAt + ",'" + Filters  + "')", 1000);    
             }
             else {
                 if (PositionAt == "") PositionAt = 0;
                 if (PositionAt == "undefined") PositionAt = 0;

                 _REval = "FillGridTable('" + ListID + "',result.replace(/!~!/gi,'>').replace(/!-!/gi,'<')," + PositionAt + ");";
                 xCMSWeb.Content.set_defaultSucceededCallback(OnReadContentCompleted);
                 xCMSWeb.Content.set_defaultFailedCallback(OnError);
                 xCMSWeb.Content.LoadItems(DESCRIPTOR, SelectedGridRowID(ListID), BoundItems,Filters );
             } 
         }
         
         function FillGridTable(TableID, SFill,SelectedRowID) {
             var Table = document.getElementById(TableID);
             var sRows = SFill.split("</_grid_row>");
             var i = 0;
             var j = 0;
             var Selected = 0;
             while (Table.rows.length > 0) {
                 Table.deleteRow(0);
             }
             
             var CVInput = document.getElementById(TableID + "_COL_VISIBILITY");
             var CVisibility;
             if ((CVInput == null)||(CVInput == ''))
             {
                 CVisibility = "0111111111111111111111111111111111111"; 
             }
             else
             {
                 CVisibility = CVInput.value;
             }

              for (i = 0; i < sRows.length; i++) {
                  var Row = Table.insertRow(-1);
                  var sCells = sRows[i].replace("<_grid_row>", "").split("</_grid_cell>");
                  Selected = 0;
                  for (j = 0; j < sCells.length; j++) {
                      var Cell = Row.insertCell(-1);
                      var Val = sCells[j].replace("<_grid_cell>", "");
                      Cell.innerHTML = Val;
                      if (j == 0) {
                          Row.onclick = function(evt) { SelectGridRow(TableID, this); }
                          if(((SelectedRowID == 0)&&(i==0))||(Val == SelectedRowID)) Selected = 1;
                      }
                      if (CVisibility.substring(j,j+1) == "0") {
                          Cell.className = "Hidden";
                       } 

                   }
                 if (Selected == 1) Row.className = "GridSelectedRow";else
                 Row.className = "GridNormalRow";
                 }

              
           }

          function SelectedGridRowID(TableID) {
               var Table = document.getElementById(TableID);
               var i = 0;
               for (i = 0; i < Table.rows.length; i++) {
                   var row = Table.rows[i];
                   if (row.className == "GridSelectedRow") {
                       var ret = row.firstChild.innerHTML;
                       if (ret == "") return 0;
                       return ret;
                    }  
                }
                return -1;
            }

            function SelectedGridRowValue(TableID, Index) {
                try {
                    var Table = document.getElementById(TableID);
                    var i = 0;
                    for (i = 0; i < Table.rows.length; i++) {
                        var row = Table.rows[i];
                        if (row.className == "GridSelectedRow") {
                            return row.cells.item(Index).innerHTML;
                        }
                    }
                    return "";
                } catch (ex) { } 
          }
            
         function SelectedGridRowIndex(TableID) {
               var Table = document.getElementById(TableID);
               var i = 0;
               for (i = 0; i < Table.rows.length; i++) {
                   var row = Table.rows[i];
                   if (row.className == "GridSelectedRow") {
                       return i;
                    }  
                }
                return -1;
            }

           function GridRowIndexByID(TableID,ID) {
                var Table = document.getElementById(TableID);
                var i = 0;
                for (i = 0; i < Table.rows.length; i++) {
                    var row = Table.rows[i];
                    if (row.firstChild.innerHTML == ID) {
                        return i;
                    }
                }
                return -1;
            }


         function SelectGridRow(TableID, row) {
                    var Table = document.getElementById(TableID);
                    try {
                        Table.rows[SelectedGridRowIndex(TableID)].className = "GridNormalRow";
                    } catch (ex) { }
                    row.className = "GridSelectedRow";
                    return false; 
                
         }

         function CheckMultiSelect(ValueID, sInputItems,ClearAll) {
             var valObj  = document.getElementById(ValueID);
             var sInputs = sInputItems.split(",");
             var sVals = valObj.value;
             var InputItem;
             var j;
             var i;
             for (j = 0; j < sInputs.length; j++) {
                 if (sInputs[j] != '') {
                     InputItem = document.getElementById(sInputs[j]);
                     if (ClearAll) { InputItem.checked = false; }
                     else
                     {
                         if (sVals.indexOf(InputItem.value + "-") > -1) {
                             InputItem.checked = true;
                         }
                         else {
                             InputItem.checked = false;
                         } 
                     }
                  }  
              }
              
          }  
