function resize_columns(){
	var h1 = document.getElementById('main_left_in').offsetHeight;
	document.getElementById('main_left').style.backgroundPosition = '0px ' + h1 + 'px';

	var h2 = document.getElementById('main_right_in').offsetHeight;
	document.getElementById('main_right').style.backgroundPosition = '0px ' + h2 + 'px';
}






// доделываем функцию escape
// Инициализируем таблицу перевода
var trans = [];
for (var i = 0x410; i <= 0x44F; i++)
trans[i] = i - 0x350; // А-Яа-я
trans[0x401] = 0xA8;    // Ё
trans[0x451] = 0xB8;    // ё

// Сохраняем стандартную функцию escape()
var escapeOrig = window.escape;

// Переопределяем функцию escape()
window.escape = function(str){
	var ret = [];
	// Составляем массив кодов символов, попутно переводим кириллицу
	for(var i = 0; i < str.length; i++){
		var n = str.charCodeAt(i);
		if(typeof trans[n] != 'undefined')
			n = trans[n];
		if (n <= 0xFF)
			ret.push(n);
	}
	return escapeOrig(String.fromCharCode.apply(null, ret));
}


//------------------------------------------------------------------------------
// 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;
}

var _IS_AJAX_WORKS = ajax_test();

//end ajax
//------------------------------------------------------------------------------




// аналог in_array() из PHP
function in_array(needle, haystack){
	var res = false;
	var nn;
	for(nn in haystack) if(haystack[nn] == 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(){
	document.getElementById('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){
	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 = document.getElementById(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(!obj) return;
	if(!selected) var selected = false;
	var sel_val = false;

	// очистка списка
	while(obj.options.length) obj.options[0] = null;

	var lines = str.split('//');
	for(var i = 0, l = lines.length; i < l; i++){
		var p = lines[i].split('::');
		if(p.length == 2){
			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 set_square_units(){
	if(!document.getElementById('global_square')) return;
	var set = document.getElementById('global_square').value;
	ajax_lookup('/LIBRARY/realty/ajax/set_square_units.php?units=' + set, false);

	var list = document.body.getElementsByTagName('SPAN');
	for(var i = 0, l = list.length; i < l; i++)
		if(list[i].className == 'square_land'){
			var subs = list[i].getElementsByTagName('SPAN');
			for(var i2 = 0, l2 = subs.length; i2< l2; i2++){
				if(subs[i2].className == 'real_val')
					var real_var = Math.abs(subs[i2].innerHTML);
				else if(subs[i2].className == 'display_val')
					var res_obj = subs[i2];
			}

			if(real_var && res_obj){
				if(set == 'm2')
					res_obj.innerHTML = real_var + ' м&sup2;';
				else if(set == '100')
					res_obj.innerHTML = Math.abs(real_var / 100) + ' соток';
				else if(set == 'ray'){
					var _t = Math.abs(real_var / 1600);
					_t = Math.round(_t * 1000) / 1000;
					res_obj.innerHTML = _t + ' рай';
				}
			}
		}
}


function set_display_cur(){
	if(!document.getElementById('global_cur')) return;
	var set = document.getElementById('global_cur').value;
	ajax_lookup('/LIBRARY/realty/ajax/set_cur.php?cur=' + set, false);

	var list = document.body.getElementsByTagName('SPAN');
	for(var i = 0, l = list.length; i < l; i++)
		if(list[i].className == 'cost_block'){
			var subs = list[i].getElementsByTagName('SPAN');
			for(var i2 = 0, l2 = subs.length; i2< l2; i2++){
				if(subs[i2].className == 'real_val')
					var real_var = Math.abs(subs[i2].innerHTML);
				else if(subs[i2].className == 'display_val')
					var res_obj = subs[i2];
			}

			if(real_var && res_obj){
				if(set == 'thb')
					res_obj.innerHTML = cost_format(real_var) + ' THB';
				else if(set == 'usd')
					res_obj.innerHTML = cost_format(Math.round(real_var / cur_USD_course)) + ' USD';
				else if(set == 'eur')
					res_obj.innerHTML = cost_format(Math.round(real_var / cur_EUR_course)) + ' EUR';
				else if(set == 'rur')
					res_obj.innerHTML = cost_format(Math.round(real_var / cur_RUR_course)) + ' RUR';
			}
		}
}


function cost_format(sum){
	return number_format(sum, 0, ',', '.');
}


function number_format(number, decimals, dec_point, thousands_sep){
	var i, j, kw, kd, km;

	if(isNaN(decimals = Math.abs(decimals))) decimals = 2;
	if(dec_point == undefined) dec_point = '.';
	if(thousands_sep == undefined) thousands_sep = '';

	i = parseInt(number = (+number || 0).toFixed(decimals)) + '';

    j = ((j = i.length) > 3) ? (j % 3) : 0;

	km = j ? i.substr(0, j) + thousands_sep : '';
	kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep);
	kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : "");

	return km + kw + kd;
}







function gismeteo_load(){
	if(!document.getElementById('informer1')) return;
	document.getElementById('informer1').innerHTML = '<center><img src="/img/loading.gif" width="48" height="48" alt="Загрузка..." class="loading"><center>';
	var c_id = document.getElementById('gismeteo_city').value;
	LoadScript('http://informer.gismeteo.ru/html/getinformer_new.php?tnumber=1&city0=' + c_id + '&codepg=windows-1251&par=4&inflang=rus&domain=ru&vieinf=1&p=1&w=1&tblstl=gmtbl&tdttlstl=gmtdttl&tdtext=gmtdtext&new_scheme=1', "1");
}




add_handler(window, 'load', function(){
	set_types_list('buy', document.getElementById('quick_search_types'));
	search_quick_from_builders();
	set_square_units();
	set_display_cur();
});