// ***************************************************************************
//                          boxMenu.js  -  description
//                             -------------------
//    begin                : Wed Jan 4 2006
//    copyright            : (C) 2006 by Andrei Gavrila
//    email                : andrei.gavrila@gmail.com
// ***************************************************************************
//
// ***************************************************************************
// *                                                                         *
// *   This program is free software; you can redistribute it and/or modify  *
// *   it under the terms of the GNU General Public License as published by  *
// *   the Free Software Foundation; either version 2 of the License, or     *
// *   (at your option) any later version.                                   *
// *                                                                         *
// ***************************************************************************

var boxMenuBgColor    = Array();
var boxMenuFgColor    = Array();

var boxMenuHBgColor   = Array();
var boxMenuHFgColor   = Array();

var boxMenuFontFamily = Array();
var boxMenuFontSize   = Array();
var boxMenuFontBold   = Array();
var boxMenuFontItalic = Array();

var boxMenuSpacing    = Array();
var boxMenuAlign      = Array();
var boxMenuWidth      = Array();

function boxMenu(x, y, w, h, bgColor, fgColor, hBgColor, hFgColor, fontFamily, fontSize, fontBold, fontItalic, spacing, align, width)
{
	boxMenuBgColor[wmWindowIndex]  = bgColor;
	boxMenuFgColor[wmWindowIndex]  = fgColor;
	boxMenuHBgColor[wmWindowIndex] = hBgColor;
	boxMenuHFgColor[wmWindowIndex] = hFgColor;

	boxMenuFontFamily[wmWindowIndex] = fontFamily;
	boxMenuFontSize[wmWindowIndex]   = fontSize;
	boxMenuFontBold[wmWindowIndex]   = fontBold;
	boxMenuFontItalic[wmWindowIndex] = fontItalic;

	boxMenuSpacing[wmWindowIndex] = spacing;
	boxMenuAlign[wmWindowIndex]   = align;
	boxMenuWidth[wmWindowIndex]   = width;

	var setup   = ' \
<div class="wmWindowSetupItem" id="boxMenu_' + wmWindowIndex + '_SetupBox_2"> \
<b>' + wmText(3400) + '</b> \
<br /> \
<br /> \
<b>' + wmText(3401) + '</b> <br /> \
#<input type="text" id="wmWindow_' + wmWindowIndex + '_Setup10" class="wmSetupInputColor" size="6" value="' + boxMenuBgColor[wmWindowIndex] + '" onChange="javascript: boxMenuSetupBgColor(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup10\', this, wmMessage(3400));" /> \
<a href="javascript: wmColorPicker(\'wmWindow_' + wmWindowIndex + '_Setup10\', mouse_x, mouse_y, \'boxMenuSetupBgColor(' + wmWindowIndex + ', src);\');"><img border="0" width="15" height="15" src="images/colorpicker.gif" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup10_0\', this, wmMessage(10000));" /></a> \
<br /> \
<b>' + wmText(3402) + '</b> <br /> \
#<input type="text" id="wmWindow_' + wmWindowIndex + '_Setup11" class="wmSetupInputColor" size="6" value="' + boxMenuFgColor[wmWindowIndex] + '" onChange="javascript: boxMenuSetupFgColor(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup11\', this, wmMessage(3401));" /> \
<a href="javascript: wmColorPicker(\'wmWindow_' + wmWindowIndex + '_Setup11\', mouse_x, mouse_y, \'boxMenuSetupFgColor(' + wmWindowIndex + ', src);\');"><img border="0" width="15" height="15" src="images/colorpicker.gif" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup11_0\', this, wmMessage(10000));" /></a> \
<br /> \
<b>' + wmText(3403) + '</b> <br /> \
#<input type="text" id="wmWindow_' + wmWindowIndex + '_Setup12" class="wmSetupInputColor" size="6" value="' + boxMenuHBgColor[wmWindowIndex] + '" onChange="javascript: boxMenuSetupHBgColor(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup12\', this, wmMessage(3402));" /> \
<a href="javascript: wmColorPicker(\'wmWindow_' + wmWindowIndex + '_Setup12\', mouse_x, mouse_y, \'boxMenuSetupHBgColor(' + wmWindowIndex + ', src);\');"><img border="0" width="15" height="15" src="images/colorpicker.gif" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup12_0\', this, wmMessage(10000));" /></a> \
<br /> \
<b>' + wmText(3404) + '</b> <br /> \
#<input type="text" id="wmWindow_' + wmWindowIndex + '_Setup13" class="wmSetupInputColor" size="6" value="' + boxMenuHFgColor[wmWindowIndex] + '" onChange="javascript: boxMenuSetupHFgColor(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup13\', this, wmMessage(3403));" /> \
<a href="javascript: wmColorPicker(\'wmWindow_' + wmWindowIndex + '_Setup13\', mouse_x, mouse_y, \'boxMenuSetupHFgColor(' + wmWindowIndex + ', src);\');"><img border="0" width="15" height="15" src="images/colorpicker.gif" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup13_0\', this, wmMessage(10000));" /></a> \
<br /> \
</div> \
<div class="wmWindowSetupItem" id="boxMenu_' + wmWindowIndex + '_SetupBox_3"> \
<b>' + wmText(3405) + '</b> \
<br /> \
<br /> \
<b>' + wmText(3406) + '</b> <br /> \
<input type="text" id="wmWindow_' + wmWindowIndex + '_Setup14" class="wmSetupInputFont" size="12" value="' + boxMenuFontFamily[wmWindowIndex] + '" onChange="javascript: boxMenuSetupFontFamily(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup14\', this, wmMessage(3404));" /> \
<br /> \
<b>' + wmText(3407) + '</b> <br /> \
<input type="text" id="wmWindow_' + wmWindowIndex + '_Setup15" class="wmSetupInputSize" size="2" value="' + boxMenuFontSize[wmWindowIndex] + '" onChange="javascript: boxMenuSetupFontSize(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup15\', this, wmMessage(3405));" /> ' + wmText(0) + ' \
<br /> \
<b>' + wmText(3408) + '</b> <br /> \
' + wmText(1) + ' <input type="checkbox" id="wmWindow_' + wmWindowIndex + '_Setup16" ' + (boxMenuFontBold[wmWindowIndex] == 1 ? 'checked' : '') + ' class="wmSetupInputCheckbox" onChange="javascript: boxMenuSetupFontBold(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup16\', this, wmMessage(3406));" /> \
<br /> \
' + wmText(2) + ' <input type="checkbox" id="wmWindow_' + wmWindowIndex + '_Setup17" ' + (boxMenuFontItalic[wmWindowIndex] == 1 ? 'checked' : '') + ' class="wmSetupInputCheckbox" onChange="javascript: boxMenuSetupFontItalic(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup17\', this, wmMessage(3407));" /> \
<br /> \
</div> \
<div class="wmWindowSetupItem" id="boxMenu_' + wmWindowIndex + '_SetupBox_4"> \
<b>' + wmText(3409) + '</b> \
<br /> \
<br /> \
<b>' + wmText(3410) + '</b> <br /> \
<input type="text" id="wmWindow_' + wmWindowIndex + '_Setup18" class="wmSetupInputWidth" size="2" value="' + boxMenuSpacing[wmWindowIndex] + '" onChange="javascript: boxMenuSetupSpacing(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup18\', this, wmMessage(3408));" /> ' + wmText(0) + ' \
<br /> \
<b>' + wmText(3411) + '</b> <br /> \
<select id="wmWindow_' + wmWindowIndex + '_Setup19" class="wmSetupSelect" onChange="javascript: boxMenuSetupAlign(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup19\', this, wmMessage(3409));" /> \
';

	if (boxMenuAlign[wmWindowIndex] == 'left')
		setup += '<option value="left" selected>' + wmText(3) + '</option>';
	else
		setup += '<option value="left">' + wmText(3) + '</option>';

	if (boxMenuAlign[wmWindowIndex] == 'center')
		setup += '<option value="center" selected>' + wmText(4) + '</option>';
	else
		setup += '<option value="center">' + wmText(4) + '</option>';

	if (boxMenuAlign[wmWindowIndex] == 'right')
		setup += '<option value="right" selected>' + wmText(5) + '</option>';
	else
		setup += '<option value="right">' + wmText(5) + '</option>';

	setup += ' \
</select> \
<br /> \
<b>' + wmText(3412) + '</b> <br /> \
<input type="text" id="wmWindow_' + wmWindowIndex + '_Setup20" class="wmSetupInputWidth" size="2" value="' + boxMenuWidth[wmWindowIndex] + '" onChange="javascript: boxMenuSetupWidth(' + wmWindowIndex + ', this.value);" onMouseMove = "javascript: wmToolTipQuick(\'wmWindow_' + wmWindowIndex + '_Setup20\', this, wmMessage(3410));" /> ' + wmText(0) + ' \
<br /> \
</div> \
';

	var content = '';

	var headers = Array();

	headers[0] = '';
	headers[1] = 'boxMenu_' + wmWindowIndex + '_SetupBox_2';
	headers[2] = 'boxMenu_' + wmWindowIndex + '_SetupBox_3';
	headers[3] = 'boxMenu_' + wmWindowIndex + '_SetupBox_4';

	wmWindow(x, y, w, h, 'menu', setup, content, headers);

	boxMenuGenerate(wmWindowIndex - 1);
}

function boxMenuGenerate(index)
{
	var content = '';

	for (i = 0; i < boxMenuItemsNumber; i++) {
		content += ' \
<div class="boxMenu_Menu" style="width: ' + boxMenuWidth[index] + 'px; margin: ' + boxMenuSpacing[index] + 'px; text-align: ' + boxMenuAlign[index] + '; font-family: ' + boxMenuFontFamily[index] + '; font-size: ' + boxMenuFontSize[index] + 'px;';

		if (boxMenuFontBold[index] == 1)
			content += ' font-weight: bold;';
		if (boxMenuFontItalic[index] == 1)
			content += ' font-style: italic;';

		content += ' \
 background-color: #' + boxMenuBgColor[index] + '; color: #' + boxMenuFgColor[index] + '" \
onMouseOver = "this.style.backgroundColor = \'#' + boxMenuHBgColor[index] + '\'; this.style.color = \'#' + boxMenuHFgColor[index] + '\';" \
onMouseOut  = "this.style.backgroundColor = \'#' + boxMenuBgColor[index] + '\'; this.style.color = \'#' + boxMenuFgColor[index] + '\';" \
> \
' + boxMenuItems[i] + ' \
</div> \
';
	}

	wmGetElementById('wmWindow_' + index + '_Content').innerHTML = content;
}

function boxMenuSetupBgColor(index, src)
{
	boxMenuBgColor[index] = src;

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSetupFgColor(index, src)
{
	boxMenuFgColor[index] = src;

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSetupHBgColor(index, src)
{
	boxMenuHBgColor[index] = src;

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSetupHFgColor(index, src)
{
	boxMenuHFgColor[index] = src;

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSetupFontFamily(index, src)
{
	boxMenuFontFamily[index] = src;

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSetupFontSize(index, src)
{
	boxMenuFontSize[index] = src;

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSetupFontBold(index, src)
{
	boxMenuFontBold[index] = (boxMenuFontBold[index] == 0 ? 1 : 0);

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSetupFontItalic(index, src)
{
	boxMenuFontItalic[index] = (boxMenuFontItalic[index] == 0 ? 1 : 0);

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSetupSpacing(index, src)
{
	boxMenuSpacing[index] = src;

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSetupAlign(index, src)
{
	boxMenuAlign[index] = src;

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSetupWidth(index, src)
{
	boxMenuWidth[index] = src;

	wmWindowSaved = false;

	boxMenuGenerate(index);
}

function boxMenuSave(index)
{
	var content = '';

	content += '<input type="hidden" name="box_' + index + '_bgColor"  value="' + escape(boxMenuBgColor[index])  + '" />\n';
	content += '<input type="hidden" name="box_' + index + '_fgColor"  value="' + escape(boxMenuFgColor[index])  + '" />\n';
	content += '<input type="hidden" name="box_' + index + '_hBgColor" value="' + escape(boxMenuHBgColor[index]) + '" />\n';
	content += '<input type="hidden" name="box_' + index + '_hFgColor" value="' + escape(boxMenuHFgColor[index]) + '" />\n';

	content += '<input type="hidden" name="box_' + index + '_fontFamily" value="' + escape(boxMenuFontFamily[index]) + '" />\n';
	content += '<input type="hidden" name="box_' + index + '_fontSize"   value="' + escape(boxMenuFontSize[index])   + '" />\n';
	content += '<input type="hidden" name="box_' + index + '_fontBold"   value="' + escape(boxMenuFontBold[index])   + '" />\n';
	content += '<input type="hidden" name="box_' + index + '_fontItalic" value="' + escape(boxMenuFontItalic[index]) + '" />\n';

	content += '<input type="hidden" name="box_' + index + '_spacing" value="' + escape(boxMenuSpacing[index]) + '" />\n';
	content += '<input type="hidden" name="box_' + index + '_align"   value="' + escape(boxMenuAlign[index])   + '" />\n';
	content += '<input type="hidden" name="box_' + index + '_width"   value="' + escape(boxMenuWidth[index])   + '" />\n';

	return content;
}

