function fnShowProps(obj, objName){
    var result = "";
    for (var i in obj) // обращение к свойствам объекта по индексу
        result += objName + "." + i + " = " + obj[i] + "\n";
    alert(result);
}

var resizing = 0;
var sdx = 0;
var al = true;
var flag = (document.all) ? 0 : 1;
function reMoveBorders() {
	var coor = $('cnt_outer').getCoordinates();
	$('leftBorder').setStyles({
		height: String(coor.height) + 'px',
		left: String(coor.left - 6) + 'px',
		top: String(coor.top) + 'px'
	});
	$('rightBorder').setStyles({
		height: String(coor.height) + 'px',
		left: String(coor.right + 3) + 'px',
		top: String(coor.top) + 'px' 
	});
}
function setNewSize() {
	var crl = $('leftBorder').getCoordinates();
	var crr = $('rightBorder').getCoordinates();
	var coor = $('cnt_outer').getCoordinates();
	var nval = crr.left - crl.left - crl.width - Number($('cnt_outer').getStyle('paddingLeft').substr(0,$('cnt_outer').getStyle('paddingLeft').length-2)) - Number($('cnt_outer').getStyle('paddingRight').substr(0,$('cnt_outer').getStyle('paddingRight').length-2)) - 6;
	$('cnt_outer').setStyle('width', String(nval) + 'px');
	reMoveBorders();
	$('cnt_outer').blur();
}
window.addEvents({
	load: function(){
		var el = $('cnt_outer');
		var bl = new Element('div', {id: 'leftBorder'}).inject(el).setStyles({
			width: '3px',
			position: 'absolute',
			opacity: 0,
			background: '#7d1c1b',
			cursor: 'w-resize'
		}).addEvents({
			mousedown: function(e) {
				resizing = 1;
				sdx = e.layerX || e.offsetX;
				return false;
			},
			mouseup: function() {
				resizing = 0;
				setNewSize();
			}
		});
		var br = new Element('div', {id: 'rightBorder'}).inject(el).setStyles({
			width: '3px',
			position: 'absolute',
			opacity: 0,
			background: '#7d1c1b',
			cursor: 'w-resize'
		}).addEvents({
			mousedown: function(e) {
				resizing = 2;
				$$('body').setStyle('-moz-user-select', 'none');
				sdx = e.layerX || e.offsetX;
				return false;
			},
			mouseup: function() {
				resizing = 0;
				$$('body').setStyle('-moz-user-select', '');
				setNewSize();
			}
		});
		reMoveBorders();
		$$('body')[0].addEvents({
			mousedown: function() {
				if(resizing > 0) {
					return false;
				}
			},
			mouseup: function() {
				if(resizing > 0) {
					resizing = 0;
					setNewSize();
				}
			},
			mousemove: function(e) {
				var scrolltop = self.pageYOffset || (document.documentElement && document.documentElement.scrollTop) || (document.body && document.body.scrollTop);
				var scrollleft = self.pageXOffset || (document.documentElement && document.documentElement.scrollLeft) || (document.body && document.body.scrollLeft);
				var pageCursorX = e.pageX || (e.clientX + scrollleft);// + document.body.getScroll().x;
				var pageCursorY = e.pageY || (e.clientY + scrolltop);// + document.body.getScroll().y;
				var elem = $('cnt_outer');
				var coor = elem.getCoordinates();
				//alert(pageCursorY);
				//fnShowProps(e, 'e');
				// может уже идет перетаскивание??
				if(resizing == 1) { // левая
					var ndx = $('leftBorder').getCoordinates().left - (pageCursorX - sdx);
					$('leftBorder').setStyle('left', String(pageCursorX - sdx) + 'px');
					$('rightBorder').setStyle('left', String($('rightBorder').getCoordinates().left + ndx) + 'px');
					return false;
				} else
				if(resizing == 2) { // правая
					var ndx = $('rightBorder').getCoordinates().left - (pageCursorX - sdx);
					$('rightBorder').setStyle('left', String(pageCursorX - sdx) + 'px');
					$('leftBorder').setStyle('left', String($('leftBorder').getCoordinates().left + ndx) + 'px');
					return false;
				} else {
					// определяем близость границы
					if((coor.top <= pageCursorY && coor.bottom >= pageCursorY) && (((coor.left - 20) <= pageCursorX && (coor.left + 20) >= pageCursorX) || ((coor.right - 20) <= pageCursorX && (coor.right + 20) >= pageCursorX))) {
						if((coor.left - 20) <= pageCursorX && (coor.left + 20) >= pageCursorX) {
							var dx = coor.left - pageCursorX;
							if(dx < 0) dx = -dx;
							
						} else {
							var dx = coor.right - pageCursorX;
							if(dx < 0) dx = -dx;
						}
						$('leftBorder').setStyle('opacity', (1 - dx/20));
						$('rightBorder').setStyle('opacity', (1 - dx/20));
					} else {
						$('leftBorder').setStyle('opacity', 0);
						$('rightBorder').setStyle('opacity', 0);
					}
				}				
			}
		});
	},
	resize: function() {
		reMoveBorders();
	}
});
