function clsToolbar(FormMName,FormSName){
  this.FormMName = FormMName;
  this.FormSName = FormSName;
  this.init = init;
  this.click = click;
  this.FormSSet = FormSSet;
  this.FormMSet = FormMSet;
  this.HideElementsWhenEdit = HideElementsWhenEdit;
  var mobjFormM,mobjFormS,mobjMEs,mobjSEs
  
}
function init(){
  mobjFormM = OBJ(this.FormMName);
  mobjFormS = OBJ(this.FormSName);
  mobjMEs = mobjFormM.elements;
  mobjSEs = mobjFormS.elements;
  //alert(mobjSEs.namedItem("PKName").value);
  if(mobjSEs.namedItem(mobjSEs.namedItem("PKName").value).value == -2147221504){
    FormSSet(false);
    mobjSEs.namedItem("Action").value = "new";
    
    if(OBJ("idConNews")){OBJ("idConNews").value = 1}
    if(OBJ("idHdkNote")){OBJ("idHdkNote").readOnly = false;OBJ("idHdkNote").style.color = "black";}
    if(OBJ("idNewXCouId")){OBJ("idNewXCouId").value = ""}
    if(OBJ("idNewComId")){OBJ("idNewComId").value = ""}
    //if(OBJ("idHdkNoteExt")){OBJ("idHdkNoteExt").readOnly = false;OBJ("idHdkNoteExt").style.color = "black";}
    SetRedirect();
  } else {
    FormSSet(true);
  }
  //vyjimky
  if(this.FormSName=="formHelpDesk"){
    if (OBJ("goToHdk")){
      OBJ("goToHdk").removeAttribute('disabled');
      OBJ("goToHdk").style.color = "black";
    }
    //document.title = 'HelpDesk - ' + OBJ("idHdkSubjectForTitle").value;
  }
}
function HideElementsWhenEdit(blnEdit){
  var strElList = mobjSEs.namedItem("HideElementsWhenEdit").value;
  var strVisibility = (blnEdit ? "hidden" : "visible")
  if(strElList != ""){
    var aElList = strElList.split(",");
    for(var i=0; i<aElList.length; i++){
      if(OBJ(aElList[i])){
        OBJ(aElList[i]).style.visibility = strVisibility;
      }
    }
  }
}
function SetDefaultValuesForNewWith(){
  if(mobjSEs.namedItem("DefaultValuesForNewWith").value != ""){
    var varArrM = mobjSEs.namedItem("DefaultValuesForNewWith").value.split("&");
    for(var i=0; i<varArrM.length; i++){
      varArrS = varArrM[i].split("=");
      //alert(mobjSEs.namedItem(varArrS[0]).name+' : '+mobjSEs.namedItem(varArrS[0]).type);
      if(mobjSEs.namedItem(varArrS[0])){
        if(mobjSEs.namedItem(varArrS[0]).type=="select-one"){
          for(var j=0;j<mobjSEs.namedItem(varArrS[0]).length;j++){
            if(mobjSEs.namedItem(varArrS[0])[j].value==varArrS[1]){mobjSEs.namedItem(varArrS[0])[j].setAttribute('selected','selected')}
          }
        } else {
          mobjSEs.namedItem(varArrS[0]).value = varArrS[1];
        }
      }
    }
  }
}
function FormMSet(strList, blnDisab){
  var strDisabledButtons = mobjSEs.namedItem("DisabledButtons").value;
  //alert(mobjFormM.id);
  for(var i=0;i<mobjMEs.length;i++){
    blnDisabledItem = (strList.indexOf(mobjMEs[i].name) > -1 ? blnDisab : !blnDisab);
    //alert('['+strDisabledButtons+'] * '+mobjMEs[i].type+' * ['+mobjMEs[i].name+'] = ' + blnDisabledItem);    
    if(!blnDisabledItem){blnDisabledItem = (strDisabledButtons.indexOf(mobjMEs[i].name) > -1 ? true : false)}
    if(blnDisabledItem){
      mobjMEs[i].className = "CBtnToolbar CBt_" + mobjMEs[i].name + " CBt_disabled";
    } else {
      mobjMEs[i].className = "CBtnToolbar CBt_" + mobjMEs[i].name;
    }
    mobjMEs[i].disabled = blnDisabledItem;
  }
  if(OBJ("idcmdNew")){
    OBJ("idcmdNew").className = "CBtnToolbar CBt_cmdNew";
    OBJ("idcmdNew").disabled = false;
  }
}
function SetRedirect(){
  mobjSEs.namedItem("Redirect").value = "default.asp?cls=" + mobjSEs.namedItem("Cls").value + "&" + mobjSEs.namedItem("PKName").value + "=PRIMARY_KEY";
}
//Nastavi obrazovku, policka a tlacitka k editaci
function FormSSet(blnDisabled){
  var strDisabledFields = "," + mobjSEs.namedItem("DisabledFields").value + ",";
  var strUrl = document.location.search.toLowerCase();

  if(blnDisabled){
    switch(UrlItemGet(strUrl, "Cls")){
      case "contact":
        mobjFormS.parentNode.className = "CNormalBil";
        break;
      case "helpdesk":
        mobjFormS.parentNode.className = "CNormalHdk";
        break;
      default:
        mobjFormS.parentNode.className = "CNormal";
     }     
  } else {
    switch(UrlItemGet(strUrl, "Cls")){
      case "contact":
        mobjFormS.parentNode.className = "CEditBil";
        break;
      case "helpdesk":
        mobjFormS.parentNode.className = "CEditHdk";
        break;
      default:
        mobjFormS.parentNode.className = "CEdit";
    }         
  }
  //Zpristupneni/zakazani tlacitek v toolbaru
  FormMSet("cmdSubmit, cmdReset", blnDisabled);
  //Zpristupneni policek pro editaci
  
  for(var i=0;i<mobjSEs.length;i++){
    blnDisabledItem = blnDisabled;
    if(!blnDisabledItem){blnDisabledItem = (strDisabledFields.indexOf(mobjSEs[i].name) > -1 ? true : false)}
    switch(mobjSEs[i].type){
      case "text":
        if(blnDisabledItem){
          mobjSEs[i].setAttribute('disabled','true');
          mobjSEs[i].style.color = "black";
        } else {
          mobjSEs[i].removeAttribute('disabled');
          mobjSEs[i].style.color = "black";        
        }
      break;
      case "textarea":
        if(blnDisabledItem){
          mobjSEs[i].setAttribute('readOnly','true');
          mobjSEs[i].style.color = "gray";
          mobjSEs[i].scrollTop = mobjSEs[i].scrollHeight;
        } else {
          mobjSEs[i].removeAttribute('readOnly');
          mobjSEs[i].style.color = "black";        
        }
      break;
      case "XXXselect-one":
        if(blnDisabledItem){
          mobjSEs[i].setAttribute('disabled','true');
          mobjSEs[i].style.color = "black";
        } else {
          mobjSEs[i].removeAttribute('disabled');
          mobjSEs[i].style.color = "black";        
        }      
      case "button":
        mobjSEs[i].removeAttribute('disabled');
      break;
      case "hidden":
        mobjSEs[i].removeAttribute('disabled');
      break;
      default:
        if(blnDisabledItem){
          mobjSEs[i].setAttribute('disabled','true');
          mobjSEs[i].style.color = "black";
        } else {
          mobjSEs[i].removeAttribute('disabled');
          mobjSEs[i].style.color = "black";        
        }
    }
    //alert(mobjSEs[i].type+' : '+mobjSEs[i].name);
  }
  if(mobjSEs.namedItem("HdkId")){ 
    if((mobjFormM.id == "formTBHelpDesk")&&(OBJ("idHdkNote"))&&(mobjSEs.namedItem("HdkId").value == "-2147221504")){OBJ("idHdkNote").disabled = false}
  }
  
}
function click(Button){
  //alert(Button);
 
  switch(Button.toLowerCase()){
    case "cmdnew":
      document.location.href = "default.asp?cls=" + mobjSEs.namedItem("Cls").value + "&" + mobjSEs.namedItem("PKName").value + "=-2147221504"
      break;
    case "cmdnewwith":
      FormSSet(false);
      SetDefaultValuesForNewWith();
      HideElementsWhenEdit(true);
      mobjSEs.namedItem("Action").value = "new";
      if(OBJ("idHdkNote")){OBJ("idHdkNote").readOnly = false;OBJ("idHdkNote").style.color = "black";}
      //if(OBJ("idHdkNoteExt")){OBJ("idHdkNoteExt").readOnly = false;OBJ("idHdkNoteExt").style.color = "black";}      
      SetRedirect();      
      break;
    case "cmdchange":
      FormSSet(false);
      HideElementsWhenEdit(true);
      mobjSEs.namedItem("Action").value = "change";
      SetRedirect();   
      if(OBJ("idHdkState2")){OBJ("idHdkState2").disabled = false}  
      if(OBJ("idHdkState7")){OBJ("idHdkState7").disabled = false}        
      break; 
    case "cmdsubmit":
      //mobjSEs.namedItem("Action").value = "";
      if(OBJ("idHdkNoteExt")){OBJ("idHdkNoteExt").disabled = true;}
      mobjFormS.submit();      
      break;
    case "cmdreset":
/*
      mobjFormS.reset()
      FormSSet(true);
      HideElementsWhenEdit(false);  
*/
      mobjFormS.reset();
      document.location.reload();
      break;
    case "cmddelete":
      if(confirm("Opravdu smazat záznam?")){
        mobjSEs.namedItem("Action").value = "delete";
        SetRedirect();
        mobjFormS.submit();
      }
      break;         
    case "cmdrefresh":
      document.location.reload()
      break;         
    case "cmdback":
      window.history.go(-1)
      break;         
    default:
  }

}
