function showSenderForm(type, table, id, block) {
	var updateBlock = block + '_' + table + '-' + id;
	if ((ajax_getInnerHTML(updateBlock) == '') || (ajax_getValue('senderType') != type)) {
		var url = '/sender-' + type + '/show.ajax';
		var pars = 'table=' + table + '&id=' + id + '&blockName=' + block;
		ajax_update(url, pars, updateBlock);
		ajax_setValue('senderType', type);
	}
	else {
		ajax_setInnerHTML(updateBlock, '');
		ajax_setValue('senderType', '');
	}
}

function showSpecSenderForm(type, table, id, block, do_jump) {
	var updateBlock = block + '_' + table + '-' + id;
	if (ajax_hasClassName(updateBlock, '__LOADED__') && ajax_getValue('senderType') == type){
		if (do_jump){
			scrollJump(updateBlock);
			ajax_setStyleDisplay(updateBlock, 'block');
			ajax_addClassName(updateBlock, '__OPENED__');
		} else {
			if (ajax_hasClassName(updateBlock, '__OPENED__')){
				ajax_setStyleDisplay(updateBlock, 'none');
				ajax_removeClassName(updateBlock, '__OPENED__');
			} else {
				ajax_setStyleDisplay(updateBlock, 'block');
				ajax_addClassName(updateBlock, '__OPENED__');
			}
		}
	} else {
		ajax_request_optional({
			url : '/sender-' + type + '/show.ajax',
			param : 'table=' + table + '&id=' + id + '&blockName=' + block,
			block : updateBlock,
			onCompleteAdditional : function (){
				ajax_setValue('senderType', type);
				ajax_addClassName(updateBlock, '__LOADED__');
				ajax_addClassName(updateBlock, '__OPENED__');
				if (do_jump) scrollJump(updateBlock);
			}
		});
	}
}

function addSenderForm(type, table, id, block, form) {
	var updateBlock = block + '_' + table + '-' + id;
	var url = '/sender-' + type + '/add.ajax';
	var form_id = ajax_getIdOfObject(form);
	var form_object = document.getElementById(form_id);
	var pars = 'table=' + table + '&id=' + id + '&blockName=' + block + '&' + getParameters(form_object);
	ajax_update(url, pars, updateBlock);
}

function changeBookmark(search, idModule, url) {
	var updateBlock = 'bookmark';
	var url = url;
	var pars = 'idModule=' + idModule + '&search=' + search;
	ajax_update(url, pars, updateBlock);
}

function formAjaxRequest(action, form, block) {
	var pars = '';
	if (form) {
		var form_id = ajax_getIdOfObject(form);
		var form_object = document.getElementById(form_id);
		var pars = getParameters(form_object);
	}
	ajax_update(action, pars, block);
}

function scrollJump(blockName) {
	return ajax_scrollJump(blockName);
}

function addTenderOrder(idTender, form) {
	return ajax_update_add_tender(idTender, form);
}

function getBodyScrollTop() {
	return self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
}

function ShoppingCartOpened(){
	return (ajax_getStyleParam('popup', 'display') == 'block');
}

function popup_top() {
	ajax_setStyleTop('popup',getBodyScrollTop() + 30 + 'px');
}

function popup_show() {
	ajax_setStyleDisplay('popup','block');
}

function popup_close(block) {
	if (typeof block == 'undefined') block = 'popup';
	ajax_setStyleDisplay(block,'none');
}

function shopping_cart_action(id, type, tableName) {
	var url = '/getShoppingCart.ajax';
	var pars = 'id=' + id + '&type=' + type + '&' + 'tableName=' + tableName;
	if (ajax_getObject('q_' + id)) {
		pars = pars + '&quantity=' + ajax_getValue('q_' + id);
	}
	switch(type){
		case 'add':
			popup_top();
		break;
	}
	ajax_update_shopping_cart(url, pars, tableName, 'popup_content');
}

function children_categorys_toogle(id_category){
	return ajax_slide_toogle(id_category, 'children_categorys_');
}

function shopping_cart_show(tableName) {
	var url = '/getShoppingCart.ajax';
	var pars = 'type=showcart&showIfEmpty=1&tableName=' + tableName;
	popup_top();
	ajax_update_shopping_cart(url, pars, tableName, 'popup_content');
	return false;
}

function sc_quantity_change_form_show(id, tableName) {
	var url = '/changeQuantityShoppingCart.ajax';
	var pars = 'id=' + id + '&' + 'tableName=' + tableName;
	ajax_update_shopping_cart(url, pars, tableName, 'sc_quantity_change_' + id);
	ajax_setStyleDisplay('sc_quantity_change_' + id,'block');
}

function sc_quantity_close(id) {
	ajax_setStyleDisplay('sc_quantity_change_'+id,'none');
}

function create_order_show(id,listItems,tableName) {
	var url = '/CreateOrder.ajax';
	var pars = 'id=' + id + '&' + 'listItems=' + listItems + '&' + 'tableName=' + tableName;
	ajax_update(url,pars,'create_order_'+id);
	ajax_setStyleDisplay('create_order_'+id,'block');
}

function create_order_close(id) {
	ajax_setInnerHTML('create_order_'+id,'');
	ajax_setStyleDisplay('create_order_'+id,'none');
}

function create_order(id, form,listItems,tableName) { // form - ajax_object
	var form_id = ajax_getIdOfObject(form);
	var form_object = document.getElementById(form_id);
	var pars = 'id=' + id  + '&' + 'listItems=' + listItems  + '&' + 'tableName=' + tableName + '&' + getParameters(form_object);
	ajax_update('/CreateOrder.ajax', pars, 'create_order_'+id);
}

function submenu_click(this_object, id_parent_object, children_objects, target_block, url, params, other_options){
	if (!ajax_hasClassName(this_object, 'act')){
		ajax_removeClassName(ajax_getChildrenObjects(ajax_getObject(id_parent_object), children_objects), 'act');
		ajax_addClassName(this_object, 'act');
		ajax_update(url, params, target_block);
	}
	return false;
}

function change_show_type(this_obj, target, url){
	if (!ajax_hasClassName(this_obj, 'act')){
		var parent = ajax_getClosestParent(this_obj, 'div.group-view');
		ajax_removeClassName(ajax_getChildrenObjects(parent, 'a'), 'act');
		ajax_addClassName(this_obj, 'act');
		ajax_update(url, '', target);
	}
	return false;
}

function checkSearchString(idSearchInput){
	if (ajax_getObject(idSearchInput)){
		var strSearch = trim(ajax_getValue(idSearchInput));
		if (strSearch.length < 3){
			alert('Для поиска необходимо ввести минимум 3 символа');
			return false;
		} else {
			return true;
		}
	}
	return true;
}

function setCategoryButtonState(isActive) {
	document.getElementById('submitFindCategoryButton').type = isActive ? "submit" : "button";
}

function selectOtherChange(block, callback){
	if (ajax_getValue(block) == -1){
		ajax_setStyleDisplay(block+'_other_div', 'block');
	} else {
		ajax_setStyleDisplay(block+'_other_div', 'none');
	}
	if (typeof(callback) == 'function'){
		return callback();
	} else {
		return false;
	}
}

function toggleDisplay(id){
	if (ajax_getObject(id)){
		if (ajax_getStyleParam(id, 'display') == 'none'){
			ajax_setStyleDisplay(id, 'block');
		} else {
			ajax_setStyleDisplay(id, 'none');
		}
	}
}

