// Отмечает дни недели в соответствии с выбранным параметром
function selectDays(param){
switch (param){
	case "weekday":
		resetDays(1,7);
		numDays(1,5);
		break;
	case "weekend":
		resetDays(1,7);
		numDays(6,7);
		break;
	case "daily":
		resetDays(1,7);
		numDays(1,7);
		break;
	case "reset":
		resetDays(1,7);
		break;
};
	// Внутренняя функция отмечает дни
	function numDays(down,up){
		for(i=down;i<=up;i++){
			document.getElementById("days"+i).checked = true;
		};
	};
	// Внутренняя функция сбрасывает дни
	function resetDays(down,up){
		for(i=down;i<=up;i++){
			document.getElementById("days"+i).checked = false;
		};
	};
}

/* Отправка соответствующего AJAX-запроса на сервер при выборе значения
   Входные параметры:
	val - объект типа select, в котором изменено значение выбора
*/
function value_onchange(val){
	// $request - переменная, по которой определяем, обращаться нам к серверу (для загрузки данных),или нет
	$request = true;
	// Скрыть подформу для водителей, если выбран попутчик (i_find="d")
	if (val.id == "i_find") {
		if (val.value == "d") {
			//document.getElementById("driver_sub_form").innerHTML = "";
			document.getElementById("driver_sub_form").className = "subform_hidden";
			$request = false;
		} else if (val.value == "p") {
			if (document.getElementById("driver_sub_form").innerHTML !== "") {
				$request = false;
			};
			document.getElementById("driver_sub_form").className = "subform_show";
		};
	};
	// После выбора области скрыть поля выбора районов и улиц Екатеринбурга
	if (val.id == "from_global_region"){
		document.getElementById("from_region_html").innerHTML = "";
		document.getElementById("from_street_html").innerHTML = "";
	};
	if (val.id == "to_global_region"){
		document.getElementById("to_region_html").innerHTML = "";
		document.getElementById("to_street_html").innerHTML = "";
	};
	// После выбора города скрыть поля выбора районов и улиц Екатеринбурга
	if ((val.id == "from_city") && (val.value !== "1")){
		document.getElementById("from_region_html").innerHTML = "";
		document.getElementById("from_street_html").innerHTML = "";
		$request = false;
	};
	if ((val.id == "to_city") && (val.value !== "1")){
		document.getElementById("to_region_html").innerHTML = "";
		document.getElementById("to_street_html").innerHTML = "";
		$request = false;
	};
	// После выбора района Екатеринбурга скрыть поля выбора улиц этого города
	if ((val.id == "from_region") && (val.value == "0")){
		document.getElementById("from_street_html").innerHTML = "";
		$request = false;
	};
	if ((val.id == "to_region") && (val.value == "0")){
		document.getElementById("to_street_html").innerHTML = "";
		$request = false;
	};
	// если выбрали неактивную в данный момент закладку, то меняем стили отображения их
	if ((val.id == "period_trip" || val.id == "one_trip" || val.id == "period_trip_find" || val.id == "one_trip_find") && (val.className == "bookmark_close")){
		val.className = "bookmark_open";
		if (val.id == "period_trip" || val.id == "period_trip_find"){
			// Если подформа для типа поездок уже загружена, то запретить обращение к серверу
			if (document.getElementById("id_period_trip_type")){
				$request = false;
			};
			if (val.id == "period_trip"){
				document.getElementById("one_trip").className = "bookmark_close";
			} else if (val.id == "period_trip_find"){
				document.getElementById("one_trip_find").className = "bookmark_close";
			};
			document.getElementById("one_trip_type").className = "subform_hidden";
			document.getElementById("period_trip_type").className = "subform_show";
			document.getElementById("trip_type").value = "per";
			// скрыть календарь (т.к., возможно, он открыт)
			hideCalendar();
		} else if (val.id == "one_trip" || val.id == "one_trip_find"){
			// Если подформа для типа поездок уже загружена, то запретить обращение к серверу
			if (document.getElementById("id_one_trip_type")){
				$request = false;
			};
			if (val.id == "one_trip"){
				document.getElementById("period_trip").className = "bookmark_close";
        		} else if (val.id == "one_trip_find"){
				document.getElementById("period_trip_find").className = "bookmark_close";
			};
			document.getElementById("period_trip_type").className = "subform_hidden";
			document.getElementById("one_trip_type").className = "subform_show";
			document.getElementById("trip_type").value = "one";
		};
	};

	// Отправляем AJAX-запрос серверу (только если это действительно нужно)
	if ($request){
		var answer = send_ajax_post('a='+val.id+'&v='+val.value);
		if (answer.length == 2){
			document.getElementById(answer[0]).innerHTML = answer[1];
		};
	};
}

// AJAX-функция посылает запрос на сервер
function send_ajax_post(post_str){
	var response;
	var ajax = new Ajax_my();
	if (ajax.isValid){
	  response = ajax.post('rpc.php', post_str);
	};
	var resp = ajax.response();
	if(resp.status == '200'){
		if(resp.text.indexOf('|' != -1)){
			var my_array = new Array();
			my_array = resp.text.split('|');
			return my_array;
		};
	};
}

// Отправляет данные на сервер методом AJAX и получает ответ с сервера
function UpdateDB(frm, cid, submitName){
	document.getElementById("submit").value = "Идет отправка данных";
	var parr = new Array();
	for (i=0; i<document.getElementById("my_form").length; i++){
		if (document.my_form.elements[i].type == 'select-one'){
			parr[i] = document.my_form.elements[i].name+'='+document.my_form.elements[i].value;
		};
		if (document.my_form.elements[i].type == 'radio'){
			if (document.my_form.elements[i].checked){
				parr[i] = document.my_form.elements[i].name+'='+document.my_form.elements[i].value;
			};
		};
		if (document.my_form.elements[i].type == 'text'){
			parr[i] = document.my_form.elements[i].name+'='+document.my_form.elements[i].value;
		};
		if (document.my_form.elements[i].type == 'textarea'){
			parr[i] = document.my_form.elements[i].name+'='+document.my_form.elements[i].value;
		};
		if (document.my_form.elements[i].type == 'checkbox'){
			if (document.my_form.elements[i].checked){
				parr[i] = document.my_form.elements[i].name+'='+document.my_form.elements[i].value;
			} else {
				parr[i] = document.my_form.elements[i].name+'=off';
			};
		};
	};
	var pstr = parr.join('&');
	var answer = send_ajax_post ('a=update&o='+cid+'&'+pstr);	
	//alert(answer[0]+" | "+answer[1]+" | "+answer[2]);
	if ((answer[0] == '0') && (answer.length=='3')){
		document.getElementById("err_text").innerHTML = '';
		// Создаем переменную new_obj_id и присваиваем ей ID поданного объявления(answer[1])
		var new_obj_id = answer[1];
		var count_activ_o = answer[2];
		alert ("Данные сохранены");
		// Перенаправление на страницу my.php с отображением всех объявлений текущего пльзователя
		window.location="my.php?o="+new_obj_id+"&c="+count_activ_o;
	}	else {
	  document.getElementById("submit").value = submitName;
		if (answer.length=='2'){
			alert ("Обнаружены ошибки");
			var tmp = answer[1].split(';');
			ftmp = "<ul><li>"+tmp[0];
			for (i=1; i<=tmp.length-2; i++){
				ftmp += "</li><li>" + tmp[i];
			};
			ftmp += "</li></ul>";
			document.getElementById("err_text").innerHTML = '<h4><span class="marker">Обнаружены следующие ошибки:</span></h4>' + ftmp;
		} else {
			//alert ('Ошибка подключения к базе данных');
		};
	};
	return false;
}

// Заполняет поля формы расширенного поиска / изменения объявления
function fillFields (form_name,id,i_find, from_global_region, from_city, from_region, from_street, 
to_global_region, to_city, to_region, to_street, trip_type, days1, days2, days3, days4, days5, days6, days7, 
from_date, to_date, from_hour, from_min, from_sec, from_int, to_hour, to_min, to_sec, to_int, 
car_id, free_site, comments, c_fio, c_phone, c_mail, show_email, c_icq){
	if (document.getElementById("id") && (id !== '0')){
		document.getElementById("id").value = id;
	};
	if (i_find == 'd'){
		document.getElementById(form_name).i_find[0].checked = true;
		document.getElementById(form_name).i_find[1].checked = false;
	};
	if (i_find == 'p'){
		document.getElementById(form_name).i_find[0].checked = false;
		document.getElementById(form_name).i_find[1].checked = true;
		// Показать подформу "Для водителей" и заполнить ее
		if (form_name == "my_form"){
			value_onchange(document.getElementById(form_name).i_find[1]);
		};
		if (document.getElementById("car_id") && (car_id !== "0")){
			document.getElementById("car_id").value = car_id;
		};
		if (document.getElementById("free_site") && (free_site !== "0")){
			document.getElementById("free_site").value = free_site;
		};
	};
	if (from_city !== '0'){
		document.getElementById("from_global_region").value = from_global_region;
		value_onchange(document.getElementById("from_global_region"));
		document.getElementById("from_city").value = from_city;
		value_onchange(document.getElementById("from_city"));
		if (from_region !== '0'){
			document.getElementById("from_region").value = from_region;
			value_onchange(document.getElementById("from_region"));
			if (from_street !== '0'){
				document.getElementById("from_street").value = from_street;
			};
		};
	} else {
		if (from_global_region !== "1"){
			document.getElementById("from_global_region").value = from_global_region;
			value_onchange(document.getElementById("from_global_region"));
		};
	};
	if (to_city !== '0'){
		document.getElementById("to_global_region").value = to_global_region;
		value_onchange(document.getElementById("to_global_region"));
		document.getElementById("to_city").value = to_city;
		value_onchange(document.getElementById("to_city"));
		if (to_region !== '0'){
			document.getElementById("to_region").value = to_region;
			value_onchange(document.getElementById("to_region"));
			if (to_street !== '0'){
				document.getElementById("to_street").value = to_street;
			};
		};
	} else {
		if (to_global_region !== "1"){
			document.getElementById("to_global_region").value = to_global_region;
			value_onchange(document.getElementById("to_global_region"));
		};
	};
	if (trip_type == "per"){
		// Принудительно делать активной вкладку "Периодичная поездка" не нужно, т.к. она открыта по умолчанию
		// заполнить поля вкладки "Периодичная поездка"
		if (days1 == "on"){
			document.getElementById("days1").checked = true;
		};
		if (days2 == "on"){
			document.getElementById("days2").checked = true;
		};
		if (days3 == "on"){
			document.getElementById("days3").checked = true;
		};
		if (days4 == "on"){
			document.getElementById("days4").checked = true;
		};
		if (days5 == "on"){
			document.getElementById("days5").checked = true;
		};
		if (days6 == "on"){
			document.getElementById("days6").checked = true;
		};
		if (days7 == "on"){
			document.getElementById("days7").checked = true;
		};
		if (from_sec == "01"){
			document.getElementById("period_from_hour").value = -1;
			document.getElementById("period_from_min").value = -1;
		} else {
			document.getElementById("period_from_hour").value = from_hour;
			document.getElementById("period_from_min").value = from_min;
		};
		if (document.getElementById("period_from_int") && from_int !== "0"){
			document.getElementById("period_from_int").value = from_int;
		};
		if (to_sec == "01"){
			document.getElementById("period_to_hour").value = -1;
			document.getElementById("period_to_min").value = -1;
		} else {
			document.getElementById("period_to_hour").value = to_hour;
			document.getElementById("period_to_min").value = to_min;
		};  
		if (document.getElementById("period_to_int") && from_int !== "0"){
			document.getElementById("period_to_int").value = to_int;
		};
	} else if (trip_type == "one"){
		// перейти на вкладку "Разовые поездки"
		if (document.getElementById("one_trip")){
			value_onchange(document.getElementById("one_trip"));
		} else if (document.getElementById("one_trip_find")){
			value_onchange(document.getElementById("one_trip_find"));
		};
		// заполнить поля вкладки "Разовые поездки"
		if (from_date !== "00.00.0000"){
			document.getElementById("from_date").value = from_date;
		};
		if (to_date !== "00.00.0000"){
			document.getElementById("to_date").value = to_date;
		};
		if (from_sec == "01"){
			document.getElementById("one_from_hour").value = -1;
			document.getElementById("one_from_min").value = -1;
		} else {
			document.getElementById("one_from_hour").value = from_hour;
			document.getElementById("one_from_min").value = from_min;
		};
		if (document.getElementById("one_from_int") && from_int !== "0"){
			document.getElementById("one_from_int").value = from_int;
		};
		if (to_sec == "01"){
			document.getElementById("one_to_hour").value = -1;
			document.getElementById("one_to_min").value = -1;
		} else {
			document.getElementById("one_to_hour").value = to_hour;
			document.getElementById("one_to_min").value = to_min;
		};  
		if (document.getElementById("one_to_int") && from_int !== "0"){
			document.getElementById("one_to_int").value = to_int;
		};
	};
/*
	if (document.getElementById("comments") && (comments !== "")){
		document.getElementById("comments").value = comments;
	};
*/
	if (document.getElementById("c_fio") && (c_fio !== "")){
		document.getElementById("c_fio").value = c_fio;
	};
	if (document.getElementById("c_phone") && (c_phone !== "")){
		document.getElementById("c_phone").value = c_phone;
	};
	if (document.getElementById("c_mail") && (c_mail !== "")){
		document.getElementById("c_mail").value = c_mail;
	};
	if (document.getElementById("show_email") && (show_email !== "")){
		document.getElementById("show_email").value = show_email;
	};
	if (document.getElementById("c_icq") && (c_icq !== "")){
		document.getElementById("c_icq").value = c_icq;
	};
	if (trip_type == "per"){
		if (document.getElementById("activity")){
			document.getElementById("activity").value = "4";
		};
	};
	if (document.getElementById("submit") && (document.getElementById("submit").value == "Опубликовать объявление")){
	document.getElementById("submit").value = "Изменить и опубликовать объявление";    
	};
}

/*
  Если в качестве переменной index передано значение "1", то
сбрасываются минуты и интервал при сбрасывании часа и минуты устанавливаются в "00" при выборе часа
  Если в качестве переменной index передано значение "0", то
при выборе минут, они сбрасываются, если не выбран час
  Если в качестве переменной index передано значение "2", то
при выборе интервала (+/-), он сбрасывается, если не выбран час (почти также, как и при параметре "1", 
только устанавливаемое значение интервала другое: в минутах - "00", а здесь, в интервалах, - "15")
*/   
function reset_value(obj,index){
if (index == 1){
	if (obj.id == "period_from_hour"){
		resetObj = document.getElementById("period_from_min");
		if (document.getElementById("period_from_int")){
			resetObj2 = document.getElementById("period_from_int");
		} else {
			resetObj2 = null;
		};
	};
	if (obj.id == "period_to_hour"){
		resetObj = document.getElementById("period_to_min");
		if (document.getElementById("period_to_int")){
			resetObj2 = document.getElementById("period_to_int");
		} else {
			resetObj2 = null;
		};
	};
	if (obj.id == "one_from_hour"){
		resetObj = document.getElementById("one_from_min");
		if (document.getElementById("one_from_int")){
			resetObj2 = document.getElementById("one_from_int");
		} else {
			resetObj2 = null;
		};
	};
	if (obj.id == "one_to_hour"){
		resetObj = document.getElementById("one_to_min");
		if (document.getElementById("one_to_int")){
			resetObj2 = document.getElementById("one_to_int");
		} else {
			resetObj2 = null;
		};
	};
	if (obj.value == "-1"){
		resetObj.value = "-1";
		if (resetObj2){
			resetObj2.value = "-1";
		};
	} else {
		if (resetObj.value == "-1"){
			resetObj.value = "00";
		};
	};
};
if (index == 0){
	if (obj.id == "period_from_min"){
		resetObj = document.getElementById("period_from_hour");
	};
	if (obj.id == "period_to_min"){
		resetObj = document.getElementById("period_to_hour");
	};
	if (obj.id == "one_from_min"){
		resetObj = document.getElementById("one_from_hour");
	};
	if (obj.id == "one_to_min"){
		resetObj = document.getElementById("one_to_hour");
	};
	if (resetObj.value == "-1"){
		obj.value = "-1";
	} else {
		if (obj.value == "-1"){
			obj.value = "00";
		};
	};
};
if (index == 2){
	if (obj.id == "period_from_int"){
		resetObj = document.getElementById("period_from_hour");
	};
	if (obj.id == "period_to_int"){
		resetObj = document.getElementById("period_to_hour");
	};
	if (obj.id == "one_from_int"){
		resetObj = document.getElementById("one_from_hour");
	};
	if (obj.id == "one_to_int"){
		resetObj = document.getElementById("one_to_hour");
	};
	if (resetObj.value == "-1"){
		obj.value = "-1";
	};
};
}

// Вызов дополнительного окна с формой отправки письма
function show_email_page(id,module,mid){
	window.open('http://www.e1.ru/talk/email/index.php?id='+id+'&module='+module+'&mid='+mid, 'info', 'width=600,height=500,history=yes,resizable=yes,status=yes,scrollbars=yes,toolbar=yes,location=yes,menubar=yes');
}

// Переход на якорь
function jumping(a,obj){
	if (obj=="1"){
		id = "today";
	};
	if (obj=="2"){
		id = "yesterday";
	};
	if (obj=="3"){
		id = "three_days_ago";
	};
	if (obj=="4"){
		id = "one_week_ago";
	};
	if (obj=="5"){
		id = "two_weeks_ago";
	};
	if (document.getElementById(id)){
		location.href='#'+id;
	} else {
		location.href='index.php?a='+a+'&jump='+obj;
	};
}

// отправить объявление на модерирование при клике на ссылку "модерировать"
function alert_query_mod(id){
	str_query_mod = "Вы действительно хотите отправить на модерирование объявление ID="+id+" ?";
	if (confirm(str_query_mod)){
		var answer = send_ajax_post("a=mod&v="+id);
		if (answer.length == 2){
			if (answer[0]=="1"){
				var this_url = unescape(window.location.href);
				window.location.href = this_url;
				alert (answer[1]);
			};
			if (answer[0]=="0"){
				alert (answer[1]);
			};
		};
	};
}

// удалить объявление при клике на ссылку "удалить"
function alert_query_del(id){
	str_query_del = "Вы действительно хотите удалить объявление ID="+id+" ?";
	if (confirm(str_query_del)){
		var answer = send_ajax_post("a=del&v="+id);
		if (answer.length == 2){
			if (answer[0]=="1"){
				var this_url = unescape(window.location.href);
				window.location.href = this_url;
				alert (answer[1]);
			};
			if (answer[0]=="0"){
				alert (answer[1]);
			};
		};
	};
}

// Вызов дополнительного окна с формой отправки жалобы модератору
function show_mod_page(who,id){
	str_param="?who="+who+"&id="+id;
	window.open('report.php'+str_param, 'info', 'width=450,height=322,history=no,resizable=no,status=no,scrollbars=no,toolbar=no,location=no,menubar=no');
}

// Вызов дополнительного окна с "увеличенным" фото
function show_info_page(id, md5){
	window.open('http://www.e1.ru/auto/poputchik/personal_info.php?id='+id+'&md5='+md5, 'info', 'width=450,height=500,history=no,resizable=no,status=no,scrollbars=yes,toolbar=no,location=no,menubar=no');
}

// Отобразить модальное окно с информационным содержимым
function openInfoDialog(id,md5,w,h,fw,fh) {
	Dialog.info	(
				{url: "modal_foto.php?id="+id+"&md5="+md5+"&w="+w+"&h="+h, options: {method: 'get'}},
			        {windowParameters: {className: "alphacube", width:fw, height:fh}, showProgress: true}
			);
}

// Отобразить подробную информацию на карте
function more_info (id, pm_id) {
	document.getElementById("short_"+id).className = "subform_hidden";
	document.getElementById("full_"+id).className = "subform_show";
//	placemark_6068547356835175.update();
}

// Скрыть подробную информацию на карте
function move_info (id, pm_id) {
	document.getElementById("short_"+id).className = "subform_show";
	document.getElementById("full_"+id).className = "subform_hidden";
//	placemark_6068547356835175.update();
}
