﻿var frame = document.getElementById('framecontentLeft');
var framewidth,frameendwidth,framecount;
var frameminwidth,framenormwidth,framemaxwidth;
var frameIE = (navigator.appName.indexOf('Microsoft') != -1);
var frameIEVer = frameIE? parseFloat(navigator.appVersion.substring(navigator.appVersion.indexOf('MSIE') + 5, navigator.appVersion.indexOf('MSIE') + 8)) : 0;
var framelefttop = document.getElementById('left-top');
var frameleftheading = document.getElementById('left-heading');
var framelefttree = document.getElementById('left-tree');
var frameleftbottom = document.getElementById('left-bottom');

function frameIEtruebody(){
	return (document.compatMode && document.compatMode != 'BackCompat')? document.documentElement : document.body;
}

function framemovemax(){
	frame.onmousemove = null;
	framemove(framemaxwidth);
}

function framemovenorm(){
	frame.onmousemove = null;
	framemove(framenormwidth);
}

function framemovenorma(){
	frame.onmouseover = null;
	frame.onmouseout = null;
	frameIE? framemove(framenormwidth + 6 * screen.logicalYDPI / 72) : framemove(framenormwidth + 6 * 96 / 72);
}

function framemovemin(){
	frame.onmousemove = framemovenorm;
	frame.onmouseout = framemovemin;
	framemove(frameminwidth);
}

function framemove(width){
	frameendwidth = width;
	framecount = 0;
	move();
}

function move(){
	framecount++;
	delta = (frameendwidth - framewidth) / 8;
	if (framecount > 1){
		framewidth = parseInt(framewidth + delta);
		if (framewidth >= framenormwidth){
			frame.style.marginLeft = '0px';
			frame.style.width = framewidth + 'px';
		}
		else{
			frame.style.marginLeft = framewidth - framenormwidth + 'px';
			frame.style.width = framenormwidth + 'px';
		}
		framelefttree.style.top = frameIE? framelefttop.clientHeight - parseInt(parseInt(framelefttree.style.margin) * screen.logicalYDPI / 72) + 'px' : framelefttop.clientHeight - parseInt(parseInt(framelefttree.style.margin) * 96 / 72) + 'px';
		framelefttree.style.width = frameleftheading.clientWidth - 5 + 'px';
		framelefttree.style.height = frameIE? frameIEtruebody().clientHeight - frameleftbottom.clientHeight - framelefttop.clientHeight - parseInt(parseInt(framelefttree.style.margin) * screen.logicalYDPI / 72) + 1 + 'px' : window.innerHeight - frameleftbottom.clientHeight - framelefttop.clientHeight - parseInt(parseInt(framelefttree.style.margin) * 96 / 72) + 1 + 'px';
		leftTreeCorrect();
	}
	if (Math.abs(delta) > 0.1){
		setTimeout('move()',20);
	}
}

function leftTreeCorrect(){
	if ((frameIEVer > 0) && (frameIEVer < 8)){
		framelefttree.style.width = parseInt(framelefttree.style.width) - 1 + 'px';
		lefttreeheight = lefttreeheight - 1;
	}
	if (browserDetect.browser == 'Chrome'){
		framelefttree.style.width = parseInt(framelefttree.style.width) + 1 + 'px';
		lefttreeheight = lefttreeheight + 2;
	}
	if (browserDetect.browser == 'Opera'){
		framelefttree.style.width = parseInt(framelefttree.style.width) - 1 + 'px';
		lefttreeheight = lefttreeheight - 1;
	}
}

function frameinit(){
	frameminwidth = screen.logicalXDPY? parseInt(6 * 2 * screen.logicalXDPI / 72) : parseInt(6 * 2 * 96 / 72); // 12pt
	framenormwidth = frameIE? parseInt(frameIEtruebody().clientWidth * 13 / 100) + 1 : parseInt(window.innerWidth * 13 / 100) - 2; // 13%
	framemaxwidth = frameIE? parseInt(frameIEtruebody().clientWidth * 33 / 100) : parseInt(window.innerWidth * 33 / 100) - 2; // 33%
	framewidth = framenormwidth;
	frame.style.width = framewidth + 'px';
	framelefttree.style.top = frameIE? framelefttop.clientHeight - parseInt(parseInt(framelefttree.style.margin) * screen.logicalYDPI / 72) + 'px' : framelefttop.clientHeight - parseInt(parseInt(framelefttree.style.margin) * 96 / 72) + 'px';
	framelefttree.style.width = frameleftheading.clientWidth - 5 + 'px';
	lefttreeheight = frameIE? frameIEtruebody().clientHeight - frameleftbottom.clientHeight - framelefttop.clientHeight - parseInt(parseInt(framelefttree.style.margin) * screen.logicalYDPI / 72) + 1 : window.innerHeight - frameleftbottom.clientHeight - framelefttop.clientHeight - parseInt(parseInt(framelefttree.style.margin) * 96 / 72) + 1;
	leftTreeCorrect();
	if (lefttreeheight > 0) {
		framelefttree.style.height = lefttreeheight + 'px';
		framelefttree.style.visibility = 'visible';
	}
	if (document.location.pathname == '' | document.location.pathname == '/'){
		tree.selectPath('http://www.pantonov.com/index.php')
	}
	else{
		tree.selectPath('http://www.pantonov.com' + document.location.pathname);
	}
	if (selectedNodeId != '' && (selectedNodeId.indexOf('-1') == -1)){
		var selectedNode = document.getElementById(selectedNodeId);
		framelefttree.scrollTop = selectedNode.offsetTop - parseInt(framelefttree.style.height) / 2 + selectedNode.offsetHeight / 2;
		framelefttree.scrollLeft = selectedNode.offsetLeft - parseInt(framelefttree.style.width) / 2;
	}
}

frameinit();
document.body.onresize = frameinit;
