/**
 * send ajax query and update some div block
 *
 * @param str url
 * @param str pars
 * @param str placeHolder
 */
function vUpdateContent(url,pars,placeHolder) {
  var browser = navigator.appName;
  if (browser == "Microsoft Internet Explorer" ) {
  	var oAjax = new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onCreate:function() {
          var oDiv = $(placeHolder);
          oDiv.update(sAjaxBusyIcon);
        },
        onLoaded: function() {
          var oDiv = $(placeHolder);
          oDiv.update(sAjaxBusyIcon);
        },
        onComplete: function(response) {
          var sResult = $(placeHolder);
          sResult.update(response.responseText);

        }
      });
  } else {
  	var oAjax = new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onLoading: function() {
          var oDiv = $(placeHolder);
          oDiv.update(sAjaxBusyIcon);
        },
        onComplete: function(response) {
          var sResult = $(placeHolder);
          sResult.update(response.responseText);
        }
      });
  }
}

/**
 * send ajax query and update div blocks, if type = reset: clear form
 *
 * @param str url
 * @param str pars
 * @param str type
 */
function vUpdateAllContent(url,pars, type) {
  var browser = navigator.appName;
  if (browser == "Microsoft Internet Explorer" ) {
  	var oAjax = new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onCreate:function() {
          $(KIND_BLOK_ID).update(sAjaxBusyIcon);
          $(DOING_BLOCK_ID).update(sAjaxBusyIcon);
          $(SUBKIND_BLOCK_ID).update(sAjaxBusyIcon);
          $(PROPERTIES_BLOCK_ID).update(sAjaxBusyIcon);
        },
        onLoaded: function() {
          $(KIND_BLOK_ID).update(sAjaxBusyIcon);
          $(DOING_BLOCK_ID).update(sAjaxBusyIcon);
          $(SUBKIND_BLOCK_ID).update(sAjaxBusyIcon);
          $(PROPERTIES_BLOCK_ID).update(sAjaxBusyIcon);
        },
        onComplete: function(response) {
          var oJson = response.responseText.evalJSON();
          if (oJson) {
            $(KIND_BLOK_ID).update(oJson.kind_block);
            $(DOING_BLOCK_ID).update(oJson.doings_block);
            $(SUBKIND_BLOCK_ID).update(oJson.subkind_block);
            $(PROPERTIES_BLOCK_ID).update(oJson.checkboxlist);
          }
          CheckSubKind(SUBKIND_BLOCK_ID);
          CheckProperties(PROPERTIES_BLOCK_ID);
          if (type != '' && type == 'reset') {
            clearAnchor(KIND_ANCHOR);
            clearAnchor(DOING_ANCHOR);
            Form.Element.focus('resetbutton');
          }
        }
      });
  } else {
  	var oAjax = new Ajax.Request(url, {
        method: 'get',
        parameters: pars,
        onLoading: function() {
          $(KIND_BLOK_ID).update(sAjaxBusyIcon);
          $(DOING_BLOCK_ID).update(sAjaxBusyIcon);
          $(SUBKIND_BLOCK_ID).update(sAjaxBusyIcon);
          $(PROPERTIES_BLOCK_ID).update(sAjaxBusyIcon);
        },
        onComplete: function(response) {
          var oJson = response.responseText.evalJSON();
          if (oJson) {
            $(KIND_BLOK_ID).update(oJson.kind_block);
            $(DOING_BLOCK_ID).update(oJson.doings_block);
            $(SUBKIND_BLOCK_ID).update(oJson.subkind_block);
            $(PROPERTIES_BLOCK_ID).update(oJson.checkboxlist);
          }
          CheckSubKind(SUBKIND_BLOCK_ID);
          CheckProperties(PROPERTIES_BLOCK_ID);
          if (type != '' && type == 'reset') {
            clearAnchor(KIND_ANCHOR);
            clearAnchor(DOING_ANCHOR);
            Form.Element.focus('resetbutton');
          }
        }
      });
  }
}

/**
 * this function was create just for better understanding logic in onchange event in select boxes
 *
 * @param str sSite
 * @param str sUrlParams
 * @param str sDivBlockId
 */
function vUpdateDoing(sSite, sUrlParams, sDivBlockId) {
  vUpdateContent(sSite,sUrlParams,sDivBlockId);
}

/**
 * this function was create just for better understanding logic in onchange event in select boxes
 *
 * @param str sSite
 * @param str sUrlParams
 * @param str sDivBlockId
 */
function vUpdateProperties(sSite, sUrlParams, sDivBlockId) {
  vUpdateContent(sSite,sUrlParams,sDivBlockId);
}
