window.name = 'WIN_ALEX_MAIN';

var
	_Params = { };



function setParam(name, value) {
	if (value == null)
		value = '';
	_Params[name] = value;
}


function getParam(name) {
	return _Params[name];
}


function getObj(id, win) {
	if (win == null)
		win = window;
	if (win.document.getElementById)
		return win.document.getElementById(id);
	if (win.document.all)
		return win.document.all[id];
	return null;
}

function windowWidth(w) {
//-------===========---

	if (w == null)
		w = window;
		
	if (w.innerWidth) // all except Explorer
		return w.innerWidth;
	else if (w.document.documentElement && w.document.documentElement.clientWidth) // Explorer 6 Strict Mode
		return w.document.documentElement.clientWidth;
	else if (w.document.body) // other Explorers
		return w.document.body.clientWidth;

	return null;
}


function windowHeight(w) {
//-------============---

	if (w == null)
		w = window;
		
	if (w.innerHeight) // all except Explorer
		return w.innerHeight;
	else if (w.document.documentElement && w.document.documentElement.clientHeight) // Explorer 6 Strict Mode
		return w.document.documentElement.clientHeight;
	else if (w.document.body) // other Explorers
		return w.document.body.clientHeight;

	return null;
}



function resized(onload) {
	var
		div_ITEMSOUTER,
		w,
		h;
	if (onload == null) {	// onresize handler : time filtering to escape MS-Explorer-like event streams
		if (resized.timer != null)
			clearTimeout(resized.timer);
		resized.timer = setTimeout('resized(\'ONLOAD\')', resized.TIMEOUT);
	}
	else {	// onload & delayed onresize handler
		w=700;//w = document.forms[0].elements.CLIENT_DISPLAY_WIDTH.value;
		h=100;//h = document.forms[0].elements.CLIENT_DISPLAY_HEIGHT.value;
		if (windowWidth() == w && windowHeight() ==  h) {
			div_ITEMSOUTER = getObj('ITEMSOUTER');
			div_ITEMSOUTER.style.height = Math.max(0, getObj('MAIN').offsetHeight -
				(getObj('message').offsetHeight + getObj('PHOTO').offsetHeight + getObj('MENU2').offsetHeight + getObj('MENU3').offsetHeight)) + 'px';
			div_ITEMSOUTER.style.display = 'block';
		}
		else {
			//document.forms[0].elements.CLIENT_DISPLAY_WIDTH.value = windowWidth();
			//document.forms[0].elements.CLIENT_DISPLAY_HEIGHT.value = windowHeight();
			//cmd('D', getParam('ENTITY'));
		}
	}
}

resized.TIMEOUT = 333;	// ms delay between resize and geometry update.
resized.timer = null;

var
	_Message = {
		outerWidth: 200,
		msTempo: 30,
		pxMove: 4
	 };



function createMessage(id, outerWidth) {
//-------=============----------------

	/*
		Initialize the object needed to manage the text's motion.
		id is the DOM id of the moveable element.
	*/

	_Message.moveable = getObj(id);
	_Message.innerWidth = _Message.moveable.offsetWidth;
	if (outerWidth != null)
		_Message.outerWidth = outerWidth;
	_Message.left = Math.floor(_Message.outerWidth / 2);
	_Message.moveable.style.left = Math.floor(_Message.left) + "px";
	parent.MESSAGE_WINDOW = window;
}


function startMessage() {
//-------============--

	if (_Message.moveable == null)
		return;
		
	if (_Message.timer == null) {
		_Message.moveable.style.visibility = "visible";
		_Message.timer = setInterval("moveMessage()", _Message.msTempo);
	}
}


function stopMessage() {
//-------===========-----

	if (_Message.moveable == null)
		return;
		
	if (_Message.timer != null) {
		clearInterval(_Message.timer);
		_Message.timer = null;
	}
}


function mouvement() {
//-------===================----

	if (_Message.timer != null)
		stopMessage();
	else
		startMessage();
}


function moveMessage(pos) {
//-------===========-----

	if (_Message.moveable == null)
		return;
		
	if (pos != null)
		_Message.left = pos;
	else
		if (_Message.left + _Message.moveable.offsetWidth > 0)	
			_Message.left -= _Message.pxMove;
		else
			_Message.left = _Message.outerWidth;
		
	_Message.moveable.style.left = Math.floor(_Message.left) + 'px';
}


function messageInfo() {
//-------===========--

	var
		status = null;
		
	if (_Message.moveable != null)
		status = {
			STATUS: (_Message.timer == null ? "STOPPED" : "RUNNING"),
			POSITION: _Message.left
		};

	return status;
}

