//
//	START OF RICH POPUP CODE
//	Written by Ore (ore@rol.ru)
//
// Main definations
// mro - My Rich Object
var mro = new Object();
mro.width = 350;
mro.height = 500;
mro.left = 10;
mro.top = 10;
mro.startdelay = 1;
mro.autopos = true;

//ver 1.0
mro.timeout = null;
mro.path = '/help/help.fexec?help_page=';

function MroStartRichPopup(num) {
	if(mro.obj = document.getElementById('MyRichPopup')) {
		if(mro.obj.style.visibility != 'visible') {
			MroInitDefinations(num);
			document.onmousemove = MroCaptureMousePosition;
			MroObjOpacity(0);
			mro.obj.style.zindex = 10;
			mro.obj.style.visibility = 'visible';
			MroDynamic(0,99,33,5);
		}
	}
}

function MroInitDefinations(num) {
	if(!mro.dataObj) {
		mro.dataObj = document.getElementById('helpObj')
		mro.dataObj.innerHTML = 'Loading...идет загрузка...';
		ajaxExecute(mro.path+num);
		WaitForHelpData();
	}
	MroDefinePosition();
	mro.obj.style.width = mro.width + 'px';
	//mro.obj.style.height = mro.height + 'px';
}

function WaitForHelpData() {
	var delay = 100;
	if(window.help_data && help_data) {
		//window.status = "done";
		mro.dataObj.innerHTML = help_data;
		ajaxCleanup();
		return;
	}
	else {
		//window.status = "waiting...";
		setTimeout(function() {
			WaitForHelpData();	
		},delay);
	}
}

function MroDefinePosition() {
	if(mro.autopos) {
		brW = window.innerWidth || document.body.clientWidth;
		brH = window.innerHeight || document.body.clientHeight;
		brscrH = document.body.scrollLeft;
		brscrV = document.body.scrollTop;
		if(brW) mro.obj.style.left = (brW - mro.width) / 2 + brscrH + 'px';
		if(brH) mro.obj.style.top = (brH - mro.height) / 2 + brscrV + 'px';
	}
	else {
		mro.obj.style.left = mro.left + 'px';
		mro.obj.style.top = mro.top + 'px';
	}
}

function MroMyRichPopupClose() {
	nowopacity = mro.obj.style.MozOpacity * 100;
	MroDynamic(nowopacity,0,-33,5);
	setTimeout("mro.obj.style.visibility = 'hidden'",99/33*5);
}

function MroObjOpacity(value) {
	mro.obj.style.filter = 'alpha(opacity='+value+')';
	mro.obj.style.MozOpacity = (value / 100);
}

function MroDynamic(minvalue,maxvalue,step,delay) {
	minvalue += step;
	MroObjOpacity(minvalue);
	if((maxvalue - minvalue)/step >= 1) {
		clearTimeout(mro.timeout);
		mro.timeout = setTimeout("MroDynamic("+minvalue+","+maxvalue+","+step+","+delay+")",delay);
	}
	else {
		clearTimeout(mro.timeout);
		MroObjOpacity(maxvalue);
	}
	return;
}

function MroMyRichTitleDown(event) {
	mro.startX = mro.obj.offsetLeft;
	mro.startY = mro.obj.offsetTop;
	mro.clickX = mro.mouseX;
	mro.clickY = mro.mouseY;
	if(document.all) {
		document.attachEvent('onmousemove', MroMyRichPopupMove);
		document.attachEvent('onmouseup', MroMyRichPopupUp);
		document.attachEvent('onselectstart', MroMyRichSelect);
		window.event.returnValue = false;
	}
	else {
		document.addEventListener('mousemove', MroMyRichPopupMove, true);
		document.addEventListener('mouseup', MroMyRichPopupUp, true);
		event.preventDefault();
	}
}

function MroMyRichPopupMove(event) {
	mro.obj.style.left = mro.startX + mro.mouseX - mro.clickX + 'px';
	mro.obj.style.top = mro.startY + mro.mouseY - mro.clickY + 'px';
	if(document.all) window.event.returnValue = false;
	else event.preventDefault();
}

function MroMyRichPopupUp() {
	if(document.all) {
		document.detachEvent('onmousemove', MroMyRichPopupMove);
		document.detachEvent('onmouseup', MroMyRichPopupUp);
		document.detachEvent('onselectstart', MroMyRichSelect);
	}
	else {
		document.removeEventListener('mousemove', MroMyRichPopupMove, true);
		document.removeEventListener('mouseup', MroMyRichPopupUp, true);
	}
}

function MroMyRichSelect() {
	return false;
}

function MroCaptureMousePosition(e) { 
	if(document.all) {
		mro.mouseX = window.event.x + document.body.scrollLeft;
		mro.mouseY = window.event.y + document.body.scrollTop;
		return true;
	}
	else {
		mro.mouseX = e.pageX;
		mro.mouseY = e.pageY;
		return true;
	}
	//MroStatus(mro.mouseX + ' | ' + mro.mouseY);
}

function MroStatus(arg) {
	window.status = arg;
}