// ----------------------------------------------------
// Ставим значение по умолчанию для <input>
function setDefaultValue4Input(obj_id, option_value) {
	jQuery("input#" + obj_id).val(option_value);
	return;
}

// ----------------------------------------------------
// Ставим значение по умолчанию для <input type="radio|checkbox">
function setDefaultValue4Radio(obj_name, value) {
	objs = document.getElementsByName(obj_name);
	var cnt = objs.length;
	for ( var x = 0; x < cnt; x++) {
		if (objs[x].value == value)
			objs[x].checked = true;
	}
}

// --------------------------------------------
// Ставим значение по умолчанию для <select>
function setDefaultValue4Select(obj_id, option_value) {
	if (typeof (option_value) == "string") {
		option_value = [ option_value ];
	}
	for (i = 0; i < option_value.length; i++) {
		jQuery("select#" + obj_id + " option").each(function(e) {
			if (jQuery(this).attr("value") == option_value[i]) {
				jQuery(this).attr("selected", true);
			}
		});
	}
	return;
}

// ----------------------------------
// Функция получает извещение об изменении выбора в объекте obj_name.
// В ответ необходимо перезагрузить данные в прочие зависимые html-объекты
function ivn_data_changed(obj_list, obj_name, def_val) {
	var x, find, val, remove_only;

	find = false;
	remove_only = false;
	for (x = 0; x < obj_list.length; x++) {
		if (find) {
			if (!ivn_reset_val_object(obj_list[x], obj_list[x - 1], def_val,
					remove_only))
				remove_only = true;
		}
		if (obj_list[x] == obj_name) {
			val = ivn_get_val_object(obj_name);
			find = true;
		}
	}

	return;
}
function ivn_get_val_object(obj_name) {
	var val, obj;

	obj = document.getElementsByName(obj_name)[0];
	switch (obj.type) {
	case "radio":
		val = $("input:radio[name=" + obj_name + "]:checked").val();
		break;
	case "select-one":
		val = $("#" + obj_name).val();
		break;
	}

	return val;
}
function ivn_reset_val_object(obj_name, parent_obj_name, def_val, remove_only) {
	var ret = true, obj, parent_obj, parent_obj_val, eval_txt, x, y, val_arr, find_str, arr_name, val;

	obj = document.getElementsByName(obj_name)[0];
	parent_obj = document.getElementsByName(parent_obj_name)[0];
	parent_obj_val = ivn_get_val_object(parent_obj_name);
	for (x = 0; x < obj.options.length;) {
		if (obj.options[x].value != def_val) {
			obj.remove(x);

		} else
			x++;
	}
	if (remove_only)
		return false;

	val_arr = new Array();
	find_str = "";
	eval_txt = "";
	arr_name = parent_obj_name + "_arr";
	if (parent_obj_val == def_val) {
		eval_txt = "for (x = 0, z = 0; x < parent_obj.options.length; x++) { val = parent_obj.options[x].value; if (val != def_val && typeof ("
				+ arr_name
				+ "[val]) != \"undefined\") { for ( var y = 0; y < "
				+ arr_name
				+ "[val].length; y++) { if (find_str.search(\"--#--\" + "
				+ arr_name
				+ "[val][y] + \"--#--\") == -1) { find_str += \"--#--\" + "
				+ arr_name
				+ "[val][y] + \"--#--\"; val_arr[z] = "
				+ arr_name
				+ "[val][y]; z++; } } } }";
	} else {
		eval_txt = "if ( typeof(" + arr_name
				+ "[parent_obj_val]) != \"undefined\" ) { for (x = 0; x < "
				+ arr_name + "[parent_obj_val].length; x++) { val_arr[x] = "
				+ arr_name + "[parent_obj_val][x]; } }";
	}
	eval(eval_txt);
	if (val_arr.length == 0) {
		ret = false;
	} else {
		val_arr.sort();
		for (x = 0; x < val_arr.length; x++) {
			obj.options[obj.options.length] = new Option(val_arr[x],
					val_arr[x], false, false);
		}
	}

	return ret;
}

// --------------------------------------------------------------
// Запуск слайд-шоу
function ivn_RunSlideShow() {
	var press;

	press = document.getElementById("ivnSlideShowPress");
	if (ivn_slide_stop) {
		ivn_slide_stop = false;
		press.innerText = ivn_stop_txt;

		ivn_SlideStep();
	} else {
		ivn_slide_stop = true;
		press.innerText = ivn_start_txt;

		clearInterval(ivn_slide_interval);
	}
}
function ivn_SlideStep() {
	if (ivn_slide_stop)
		return;

	var image = document.getElementById("ivnImgSlideShow");

	ivn_slide_ind++;
	if (ivn_slide_ind >= ivn_slide_src.length)
		ivn_slide_ind = 0;

	if (navigator.userAgent.indexOf("MSIE") > -1) {
		image.style.filter = "blendTrans(duration=0.5)";
		image.filters.blendTrans.apply();
		image.src = ivn_slide_src[ivn_slide_ind];
		image.alt = ivn_slide_alt[ivn_slide_ind];
	}
	image.src = ivn_slide_src[ivn_slide_ind];
	image.alt = ivn_slide_alt[ivn_slide_ind];
}
function ivn_SlideLoad() {
	if (ivn_slide_stop)
		return;

	var image = document.getElementById("ivnImgSlideShow");

	if (navigator.userAgent.indexOf("MSIE") > -1
			&& image.filters.blendTrans != null)
		image.filters.blendTrans.play();

	clearInterval(ivn_slide_interval);
	ivn_slide_interval = window.setInterval("ivn_SlideStep()", 1500);
}

// --------------------------------------------------------------
// Отправка данных формы form_id по адресу url, а возврат разместить в output_id
function ivn_send_formdata(form_id, url, action_id, output_id) {
	if (form_id == "")
		alert("Пустое ID формы недопустимо.");
	else if (url == undefined || url == "")
		alert("Пустой URL для отправки данных недопустим.");
	else if (action_id == undefined || url == "")
		alert("Пустой action_id для отправки данных недопустим.");
	else {
		if (output_id != undefined && output_id != "") {
			jQuery("#" + output_id).empty();
		}
		var a = jQuery("form#" + form_id);
		if (a != null && a.length == 1) {
			var result = new Array();
			// добавляем имя действия
			var t = new Array();
			t['action'] = action_id;
			result.push(t);
			r2 = "";
			// собираем значения из полей ввода
			a.find(":input").each(function() {
				var id = jQuery(this).attr("id");
				var val = jQuery(this).val();
				if (id != "" && val != "") {
					var t = new Array();
					t[id] = val;
					result.push(t);
					if (r2.length > 0)
						r2 += ",";
					r2 += id + ":'" + val + "'";
				}
			});
			// отправляем данные
			if (output_id == undefined || output_id == "") {
				jQuery.load(url, result);
			} else {
				// jQuery("#" + output_id).post(url, result, function(data)
				// {alert(data);});
				jQuery.post(url, eval("({" + r2 + ",action:'" + action_id
						+ "'})"), function(data) {
					jQuery("#" + output_id).append(data);
				});
			}
		} else {
			alert("извините, не могу найти форму " + a
					+ ". Обратитесь, пожалуйста, к разработчикам");
		}
	}
	return;
}
