var max_width = 1100;
var min_width = 1014;

function resize(){
	var w = window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth);
	if(w > max_width) return max_width + 'px';
	return 'auto';
}

var index_page = false;
function resize_index(){	if(!index_page) return;

	var rent_b = $('new_objects_rent_block');
	var sale_b = $('new_objects_sale_block');

	var rw = rent_b.offsetWidth;
	var sw = sale_b.offsetWidth;
	if(rw == sw) return;

	rent_b.style.width = ((rw + sw - 24) / 2) + 'px';
}

var msg_frame_loaded = false;
function risize_msg_frame(){
	fr = $('msg_frame');
	var h = fr.contentDocument ? fr.contentDocument : fr.contentWindow.document;
	h = h.body.offsetHeight ? h.body.offsetHeight : (h.innerHeight ? h.innerHeight : h.clientHeight);
	fr.style.height = (h + 20) + 'px';

	if(!msg_frame_loaded){		msg_frame_loaded = true;
		$('msg_block').style.display = 'none';
	}
}





// encodeURIComponent();
//------------------------------------------------------------------------------
// ajax
function get_http(){
	var xmlhttp;
	/*@cc_on
	@if (@_jscript_version >= 5) try{
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	}catch (e){
		try {
			xmlhttp = new
			ActiveXObject("Microsoft.XMLHTTP");
		}catch (E){
			xmlhttp = false;
		}
	}@else
		xmlhttp = false;
	@end @*/
	if(!xmlhttp && typeof XMLHttpRequest != 'undefined'){
		try{
			xmlhttp = new XMLHttpRequest();
		}catch (e){
			xmlhttp = false;
		}
	}
	return xmlhttp;
}


var http_num = 0;
this.http = new Array();

function ajax_lookup(url, result_function){
	// Получаем объект XMLHTTPRequest
	http_num++;
	if(!this.http[http_num]) this.http[http_num] = get_http();

	// Запрос
	if (this.http[http_num]){
		var http = this.http[http_num];
		url = url + '&hash=' + Math.random();

		this.http[http_num].open("GET", url, true);
		if(typeof(result_function) == 'function'){
			this.http[http_num].onreadystatechange = function(){
				if(http.readyState == 4){
					result_function(http.responseText);
				}
			}
		}
		this.http[http_num].send(null);
	}
	if(!this.http[http_num]) alert('Error creating XMLHTTP object!');
}

function ajax_test(){
	var t = get_http();
	return t ? true : false;
}

function frames_test(){
	return $('fr_on').value == 1 ? true : false;
}

var _IS_AJAX_WORKS = ajax_test();

//end ajax
//------------------------------------------------------------------------------

function $(id){
	return document.getElementById(id) ? document.getElementById(id) : false;
}



function i_am_online(){	setTimeout(function(){ajax_lookup('/PROG/i_am_online.php', i_am_online);}, 60000);
}



// ГОЛОСОВАНИЕ
function golos(q){
	var a = getRadioGroupValue($('voting').getElementsByTagName('INPUT'));
	if(a === false) return;
    ajax_lookup('/PROG/golos.php?q=' + q + '&a=' + a, process_golos);
}

function process_golos(res){$('voting').innerHTML = res;}
// ГОЛОСОВАНИЕ - END











// аналог in_array() из PHP
function in_array(needle, arr){
	var res = false;
	for(var i in arr) if(arr[i] == needle) res = true;
	return res;
}

// добавляет обработчик события для объекта
function add_handler(object, event, handler, useCapture){
	if (object.addEventListener)
		object.addEventListener(event, handler, useCapture ? useCapture : false);
	else if (object.attachEvent)
		object.attachEvent('on' + event, handler);
	else object['on' + event] = handler;
}

// обновляется капча на странице с формой
function recapcha(){
	$('capcha_pic').src = '/capcha.htm?' + Math.random();
}








function remove_node(node){
	return node.parentNode.removeChild(node);
}



// Определение абсолютных координат объекта
function getAbsolutePos(el){
	var r = {x: el.offsetLeft, y: el.offsetTop};
	if(el.offsetParent){
		var tmp = getAbsolutePos(el.offsetParent);
		r.x += tmp.x;
		r.y += tmp.y;
	}
	return r;
}


// укорачивает длинную строку, добавляет ... в конец
function short_str(str, max_len){  //alert(str.length);
	if(str.length > max_len){
		str = str.substr(0, max_len);
		str += '...';
	}
	return str;
}



// запрос на подтверждение удаления чего-либо
function delete_q(url){
	if (window.confirm('Вы подтверждаете удаление?')) document.location = url;
}


// отсчитывает макс. кол-во символов в элементе формы
function chars_counter(el, res_id, max_len){
	var counter = $(res_id);
	if(el.value.length > max_len)
		el.value = el.value.substring(0, max_len);
	else
		counter.innerHTML = max_len - el.value.length;
}



// очищает элемент SELECT и заполняет его новыми пунктами из полученной строки
// формат строки: 'value1::label1//value2::label2//value3::label3...'
function set_select_options(obj, str, selected){
	if(!selected) selected = false;
	var sel_val = false;

	// очистка списка
	while (obj.options.length) obj.options[0] = null;

	var lines = str.split('//');
	for(var i in lines){
		var p = lines[i].split('::');
		var newOpt = new Option(p[1], p[0]);
		obj.options.add(newOpt);

		if(selected && p[0] == selected) sel_val = true;
	}

	if(sel_val) obj.value = selected;
}





// определяет, какой из группы радио-элементов выбран
function getRadioGroupValue(radioGroupObj){
	for (var i = 0; i < radioGroupObj.length; i++) if (radioGroupObj[i].type == 'radio' && radioGroupObj[i].checked) return radioGroupObj[i].value;
	return false;
}





// добавление текущей страницы в избранное
function getBrowserInfo() {
	var t, v = undefined;
	if(window.opera) t = 'Opera';
	else if(document.all){
		t = 'IE';
		var nv = navigator.appVersion;
		var s = nv.indexOf('MSIE') + 5;
		v = nv.substring(s, s + 1);
	}else if(navigator.appName) t = 'Netscape';
	return {type: t, version: v};
}

function bookmark(a){
	var url = window.document.location;
	var title = window.document.title;
	var b = getBrowserInfo();
	//alert(b.type + '-' + b.version); return false;
	if(b.type == 'IE' && b.version >= 4 && window.external) window.external.addFavorite(url, title);
	else if(b.type == 'Opera'){
		a.href = url;
		a.rel = 'sidebar';
		a.title = title;
		return true;
	}else if(b.type == 'Netscape' && window.sidebar) window.sidebar.addPanel(title, url, '');
	else alert('Нажмите CTRL-D, чтобы добавить страницу в закладки.');
	return false;
}



add_handler(window, 'load', function(){
	if(index_page) resize_index();
});
add_handler(window, 'resize', function(){
	if(index_page) resize_index();
});
