function getElement(id)
{
	var itm = null;
	if (document.getElementById) {
		itm = document.getElementById(id);
	} else if (document.all) {
		itm = document.all[id];
	} else if (document.layers) {
		itm = document.layers[id];
	}
	return itm;
}

// Показывает елемент управления (id = 'element') при выборе checkbox-a
function showControl(check, element) {
	var ret_value = false;
    if (check.checked == true) {
		getElement(element).style.display='block';
        ret_value = true;
	} else {
		getElement(element).style.display='none';
        ret_value = false;
	}
    return ret_value;
}


//открывает новое Popup окно, заданной ширины и высоты
function openPopupWin(sURL, width, height)
{
	var sURL, sDesrc, width, height;
	var sParams = new Array(7);

	// загружаемый URL в новом окне
	//sURL = "http://www.sauna/images/users/"+id+".jpg";

	// настройки открываемого окна браузера
	sParams[0] = width; // ширина окна в пикселях
	sParams[1] = height; // высота окна в пикселях 
    // "no" - скрыть элемент, "yes" - показать
	sParams[2] = "no"; // наличие статус строки
	sParams[3] = "no"; // наличие кнопок (toolbar)
	sParams[4] = "no"; // наличие меню
	sParams[5] = "yes"; // наличие скроллингов
    sParams[6] = "yes"; // resizable
	sDesrc = "width=" + sParams[0] + ", height=" + sParams[1] +
		", status=" + sParams[2] + ", toolbar=" + sParams[3] +
		", menubar=" + sParams[4] + ", scrollbars=" + sParams[5]+ ", resizable=" + sParams[6];
	window.open(sURL, sParams[0], sDesrc);
}


function disableIt(obj) {
	obj.disabled = !(obj.disabled);
	var z = (obj.disabled) ? 'disabled' : 'enabled';
	//alert(obj.type + ' now ' + z);
}

function countNodes(e) {
	var c=0;
	
	for(var i=0; i < e.childNodes.length; i++) {
		if (e.childNodes[i].className=="fileField")c++;
	}
	return c;
}

/*********************************************************************************************************************/

function dropFile(btn) {  
  if (document.getElementById) {
  	while (btn.tagName != 'TR') btn = btn.parentNode;
    
    
    var SelMetro =  document.getElementsByName("metro[]");
    
    if (countNodes(btn.parentNode)==2) {
    	var selsity=document.getElementById('rselect0');
    		selsity.disabled=false;
	}
    
    if (countNodes(btn.parentNode)==1) {
    		return;
	}
    btn.parentNode.removeChild(btn);
  }
}


function addFile(btn)
{
  if(document.getElementById)
  {
    while (btn.tagName != 'TR') btn = btn.parentNode;
        
    var copyRow = btn.parentNode.rows[btn.parentNode.rows.length - 2];
    //проверям количество добавляемых станций метро лимит 5
    if (countNodes(btn.parentNode) >= 5) return;
       
    var newTr = copyRow.parentNode.insertBefore(copyRow.cloneNode(true), copyRow.nextSibling);
    thisChilds = newTr.getElementsByTagName('td');
    
    // массив селектов метро
    var arrSelMetro =  document.getElementsByName("metro[]");
       
    var delItem = arrSelMetro[arrSelMetro.length - 2].selectedIndex;
    arrSelMetro[arrSelMetro.length-1].options[delItem + 1].selected = true;
    
    var selsity = document.getElementById('rselect0');

    if (countNodes(btn.parentNode)>1 || selsity.disabled) {
    	var	sity_hidden=document.getElementById('sity_hidden');
    	sity_hidden.value=selsity.options[selsity.selectedIndex].value;
  		selsity.disabled=true;
    }
  }
}

/*********************************************************************************************************************/

//Поиск элемента t в неупорядоченном массиве v

function linsear(v,t)
{
	var k=-1
	for (var i=0; i <= v.length-1; i++) {
		var el = v[i];
		if (el.value == t) {
            k = el.value;
        	break;
        	return k;
		}
	}
	return k;
}


function getMetro(element1, element2)
{
    var reg_id = getElement('rselect'+element1).value;
	showElement('rdiv'+element2, false);
	showElement('addMetroBtn', true);

	// если не выбрано все регионы то выходим
	if (reg_id == 0) {
		showElement('addMetroBtn', false);
		return;
	}

	var select = getElement('rselect'+element2);
	showElement('rdiv'+element2, true);
	select.disabled=true;
	select.options.length = 0;
	select.options[0] = new Option('Загрузка данных...', '-1', false, false);

	var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				if(req.responseJS.regions || req.responseJS.data_sended == 'Y') {
					var select = getElement('rselect'+element2);
					select.disabled=false;
					select.options.length = 0;
					
                    select.options[0] = new Option('Не выбрано', '0', false, false);
                    
					
					var arr = req.responseJS.regions;
					//alert(arr[1][0]);
					for (var i in arr) {// alert(reg_id);
                            select.options[select.options.length] = new Option(arr[i][1], arr[i][0], false, false);
					}
					//select.options[select.options.length - 1] = null;
				}
			}
		}
	}

	req.caching = true;
	req.open('POST', '/regions_js.html', true);
	req.send({ region_id: reg_id});
}

function show_phone(id, phone, name_site)
{
	var div_phone = getElement('div_phone_'+id);
    div_phone.innerHTML="";
    div_phone.innerHTML="<strong>Телефон:</strong> "+phone+" <span style=\"color:red;\">(При звонке обязательно упомяните, что Вы с сайта "+name_site+")</br>";
                    
    var req = new JsHttpRequest();
	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if (req.responseJS) {
				if(req.responseJS.data_sended == 'Y') {
					return true;
				} else {
					return false;
				}
			}
		}
	}

	req.caching = true;
	req.open('GET', '/counter_phone_js.html', true);
	req.send({ id: id});
}


function addComment(form)
{
	
	var req = new JsHttpRequest();

	req.onreadystatechange = function() {
		if (req.readyState == 4) {
			if(req.responseJS.data_sended == 'Y') {
				
				document.getElementById('user').value = '';
				document.getElementById('email').value = '';
				document.getElementById('text').value = '';
				
				alert('Ваш комментарий будет добавлен после проверки модератором!');
				
			} else {
				alert('Заполните обязательные поля (*)!');
				
				document.getElementById('user').value = req.responseJS.post_back.user;
				document.getElementById('email').value = req.responseJS.post_back.email;
				document.getElementById('text').value = req.responseJS.post_back.email;
			}
			//document.getElementById(id).innerHTML = req.responseText;
		}
	}

	var st={};

	//разбираем поля формы и получаем данные
	for (j = 0; j < window.document.forms[form].elements.length; j++) {
		formObj = window.document.forms[form].elements[j];

		if ((formObj.type == "checkbox" || formObj.type == "radio") &&  formObj.checked == true ) {
			st[formObj.name]=formObj.value;
		}

		if (formObj.type != "checkbox" && formObj.type != "radio") {
			st[formObj.name]=formObj.value;
		}
	}
	
	//req.caching = true;
	req.open('POST', 'comments_js.html', true);
	req.send(st);
}


function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function badPhone(id) {
	
	var req = new JsHttpRequest();
	var st={};
	
	var problem = 0;
	
	req.open('GET', 'badphone.html', true);
	st['problem'] = getCheckedValue(document.forms['bad_form'].elements['bp']);
	st['id'] = id;
	req.send(st);
	document.getElementById('bad_phone_form').innerHTML = 'Спасибо!';	
	setTimeout("document.getElementById('bad_phone').style.display = 'none'",1000);
}
function showForSity(id) {
	
	var curA   = getElement('a'+id);
	var curDiv = getElement(id);
	if (curDiv.style.display == 'none') {
		showElement(id, true);
		curA.innerHTML = 'Скрыть';
		curA.blur();
	} else {
		showElement(id, false);
		curA.innerHTML = 'Показать';
		curA.blur();
	}
	return true;
}

function showElement(id, show) 
{
	var itm = getElement(id);
    
    if (itm!=null) {
	if (itm.style) {
		if (show) { 
			itm.style.display = ""; 
		} else {
			itm.style.display = "none"; 
		}
	} else {
		itm.visibility = "show"; 
	}
	}
	
}

/************************************* Работа с Cookies ******************************/

// Установка Cookies в браузере пользователя. Параметры name, value обязательные!
function setCookie(name, value, expires, path, domain, secure) {
      document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

// Получение Cookies из браузера пользователя
function getCookie(name) {
    var cookie = " " + document.cookie;
    var search = " " + name + "=";
    var setStr = null;
    var offset = 0;
    var end = 0;
    if (cookie.length > 0) {
        offset = cookie.indexOf(search);
        if (offset != -1) {
            offset += search.length;
            end = cookie.indexOf(";", offset)
            if (end == -1) {
                end = cookie.length;
            }
            setStr = unescape(cookie.substring(offset, end));
        }
    }
    return(setStr);
}

// Сравнение Cookies
function CompareCookies(val_1, val_2) {
    if (val_1 == val_2) {
        return true;
    } else {
        return false;
    }
}

function show_cities() {
	document.getElementById('cities').style.display='block';
	document.getElementById('t_city').style.color='#3D3D3D';
}

function anek(i) {
	var req = new JsHttpRequest();
	req.open('GET', 'anekdot.html', true);
	var st={};
	st['i'] = i;
	req.send(st);
	//alert(req.responseJS.anek);
	req.onreadystatechange = function() {
	if (req.readyState == 4) {
	if (req.responseJS.anek != null) {
		document.getElementById('anekdot').innerHTML = document.getElementById('anekdot').innerHTML + "<p>" + req.responseJS.anek + "</p> <center>***</center>";		
		document.getElementById('more_anek').innerHTML = "<a href=\"\/anekdot.html\" onclick=\"anek(" + (i+1) + "); return false;\">Еще...</a>"; }
	else 
		document.getElementById('more_anek').innerHTML = "";
	//document.getElementById('anekdot').innerHTML = req.responseJS.anek;
	}
}
}

function toggleDiv(id) {
	if (document.getElementById(id).style.display == 'block')
		document.getElementById(id).style.display = 'none'
	else
		document.getElementById(id).style.display = 'block';
}

function showDiv(id) {
		document.getElementById(id).style.display = 'block';
}
function closeDiv(id) {
		document.getElementById(id).style.display = 'none';
}