function round(rnum, rlength) {
	if (typeof(rlength) == 'undefined') { var rlength = 0; }
	var newnumber = Math.round(rnum * Math.pow(10, rlength)) / Math.pow(10, rlength);
	return newnumber;
}

function num_format(rnum, rlength) {
	var newnumber = round(rnum, rlength);
	return newnumber.toFixed(rlength);
}

function refresh() {
	window.location = location.href;
}

function delete_record(url) {
	if (confirm('Trinti įrašą?')) { ajax(url, '', 1, refresh); }
}

function activate_record(url) {
	if (confirm('Aktyvuoti įrašą?')) { ajax(url, '', 1, refresh); }
}

function deactivate_record(url) {
	if (confirm('Deaktyvuoti įrašą?')) { ajax(url, '', 1, refresh); }
}

function extend_record(url) {
	if (confirm('Pratęsti galiojimą?')) { ajax(url, '', 1, refresh); }
}

function toggle_search(type) {
	e = document.getElementById('search_detail');
	if (e.style.display == 'block') {
		e.style.display = 'none';
		e.innerHTML = '';
	} else {
		ajax(url_replace_param('properties_filter_type', type), '', 1, display_search);
	}
}

function display_search(str) {
	e = document.getElementById('search_detail');
	e.innerHTML = str;
	e.style.display = 'block';
}

function toggle_comments(url) {
	e = document.getElementById('comments_edit');
	if (e.style.display == 'block') {
		e.style.display = 'none';
	} else {
		ajax(url, '', 1, display_comments);
	}
}

function display_comments(str) {
	e = document.getElementById('comments_edit');
	e.innerHTML = str;
	e.style.display = 'block';
}

function new_comment(str) {
	if (typeof(str) != 'undefined' && str != null && str != '') {
		e = document.getElementById('comments_edit');
		e.innerHTML = str;
		e.style.display = 'block';		
	} else {
		window.location = location.href;
	}
}

function get_properties(category_id) {
	if (typeof(category_id) != 'undefined' && category_id != null && category_id != '') {
		ajax('adverts_edit?properties_category_id='+category_id, '', 1, display_properties);
	}
}

function display_properties(str) {
	e = document.getElementById('advert_properties');
	if (typeof(str) != 'undefined' && str != null && str != '') {
		e.innerHTML = str;
		e.style.display = 'block';
	} else {
		e.style.display = 'none';
		e.innerHTML = '';
	}
}

function full_menu() {
	ajax('get_all_categories', '', 1, display_full_menu);
}

function display_full_menu(str) {
	document.getElementById('menu_side').style.display = 'none';
	e = document.getElementById('menu_full');
	e.innerHTML = str;
	e.style.display = 'block';
}

function side_menu() {
	document.getElementById('menu_side').style.display = 'block';
	document.getElementById('menu_full').style.display = 'none';
}

function get_subcategories(category_id, level) {
	ajax('get_subcategories?id='+category_id+'&level='+level, '', 1, display_subcategories, level);
}

function display_subcategories(str, level) {
	if (typeof(str) != 'undefined' && str != null && str != '') {
		var element = document.getElementById('level'+level);
		if (!element) {
			element = document.createElement('span');
			element.setAttribute('id', 'level'+level);
			var parent_element = document.getElementById('category_id');
			if (parent_element) { parent_element.appendChild(element); }
		}
		element.innerHTML = str;
		for (i = level+1; i <= 2; i++) {
			var element = document.getElementById('level'+i);
			if (element) { element.parentNode.removeChild(element);	}
		}
	} else {
		for (i = level; i <= 2; i++) {
			var element = document.getElementById('level'+i);
			if (element) { element.parentNode.removeChild(element);	}
		}
	}
}

function get_auto_models(auto_make_id) {
	ajax('get_auto_models?id='+auto_make_id, '', 1, display_auto_models);
}

function display_auto_models(str) {
	var element = document.getElementById('auto_model_id');
	element.innerHTML = str;
}

function build_query(form_name, element_name) {
	var str = '';
	obj = document.forms[form_name];
	for (i = 0; i < obj.elements.length; i++) {
		if (typeof(element_name) != 'undefined' && element_name != null && element_name != '') {
			var array_name = obj.elements[i].name.split('[', 1);
			if (element_name != array_name) { continue; }
		}
		if (obj.elements[i].tagName.toLowerCase() == 'input' && obj.elements[i].type.toLowerCase() == 'checkbox') {
			str +=  "&" + obj.elements[i].name + "=" + (obj.elements[i].checked ? 1 : 0);
		} else {
			str +=  "&" + obj.elements[i].name + "=" + encodeURIComponent(obj.elements[i].value);
		}
	}
	return str;
}

function validate_credits_add(str) {
	if (typeof(str) != 'undefined' && str != null && str != '') {
		var response = eval('(' + str + ')');
		if (typeof(response.error) != 'undefined' && response.error != null && response.error != '') {
			e = document.getElementById('validate');
			e.innerHTML = response.html;
		} else {
			e = document.getElementById('validate');
			e.innerHTML = response.html;
			document.forms['credits_add'].submit();
		}
	}
}

function url_replace_param(name, value, url) {
	if (typeof(url) == 'undefined' || url == null || url == '') {
		url = location.href;
	}
	var regexp = new RegExp('[\\?&]' + name + '=([^&#]*)', 'i');
	var pos = url.search(regexp);
	if (pos == -1) {
		url = url + (url.indexOf('?') == -1 ? '?' : '&' ) + name + '=' + value;
	} else {
		url = url.replace(regexp, url.substr(pos, 1) + name + '=' + value);
	}
	return url;
}

function popup(url) {
	var width = 500;
	var height = 400;
	var popup_window = window.open(url, 'gerasturgus_popup', 'left='+(screen.width/2 - width/2)+', top='+(screen.height/2 - height/2)+', width='+width+', height='+height+', menubar=no, toolbar=no, location=no, resizable=yes, scrollbars=yes, status=yes');
	popup_window.focus();
}

function tt_show(id, e) {
	var obj = document.getElementById(id);
	tt_position(obj, e);
	obj.style.display = "block";
}

function tt_hide(id) {
	document.getElementById(id).style.display = "none";
}

function tt_position(obj, e) {
	var cX = 0; var cY = 0; var rX = 0; var rY = 0;
	if (document.all) {
		cX = event.clientX;
		cY = event.clientY;
	} else {
		cX = e.pageX;
		cY = e.pageY;
	}	
	if (self.pageYOffset) {
		rX = self.pageXOffset;
		rY = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop) {
		rX = document.documentElement.scrollLeft;
		rY = document.documentElement.scrollTop;
	} else if (document.body) {
		rX = document.body.scrollLeft;
		rY = document.body.scrollTop;
	}
	if (document.all) {
		cX += rX; 
		cY += rY;
	}
	obj.style.left = (cX+10) + "px";
	obj.style.top = (cY+10) + "px";
}