/*
------------------------------------------------------------------------------
PacketShaper /scripts/adorn.js
Copyright (c) 1996-2010, Blue Coat Systems, Inc. All rights reserved.
------------------------------------------------------------------------------
*/

//'********************************************************************
//'********************************************************************
//	General HTML Adornment / Spacer Utilities
//'********************************************************************
//'********************************************************************

//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//'!!!!!!! THESE NEED WORK !!!!!!
//	- implement (?) styles (css) in addition to / instead of?
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//	Specialized utility...
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function getLineAdornment(number_of_columns)
{
	var l	= cstrEmptyStr;

	l += '<tr><td align=CENTER valign=TOP colspan='+number_of_columns+'>' + cstrEOL;
	l += getOpenTable('CENTER');
	//'l += '<table align=center cellspacing=0 cellpadding=0 border=0 width=500>' + cstrEOL;
	//'l += getTableRowVerticalTransparentSpace(10);
	l += getTableRowVerticalColoredSpace(GetPrimaryColor(), 1);
	l += getCloseTable();
	l += '</td></tr>' + cstrEOL;

	return (l);
}

function getHorizontalLineAdornment(length, thickness, color)
{
	var l = '';

	l += '<table align="center" valign="middle" border="0" cellpadding="0" cellspacing="0" width="'+length+'" height="'+thickness+'" bgcolor="'+color+'">';
	l += '<tr><td align="center" valign="middle" width="'+length+'" height="'+thickness+'"></td></tr>';
	l += '</table>';

	return(l);
}

function getVerticalLineAdornment(alignment, _width_, _height_, color)
{
	var l = '';

	l += '<table align="'+alignment+'" border="0" cellpadding="0" cellspacing="0" width="'+_width_+'" height="'+_height_+'" bgcolor="'+color+'">';
	l += '<tr><td align="'+alignment+' width="'+_width_+'" height="'+_height_+'"></td></tr>';
	l += '</table>';

	return(l);
}

function getBlockAdornment(orientation, _width_, _height_, color)
{
	var l = '';

	l += '<table align="'+orientation+'" border="0" cellpadding="0" cellspacing="0" width="'+_width_+'" height="'+_height_+'">';

	l += '<tr><td align="center" valign="bottom" width="100%">';
	l += getHorizontalLineAdornment("100%", "1", color);
	l += '</td></tr>';

	l += '<tr><td align="'+orientation+'" valign="middle" width="100%" height="100%">';
	l += getVerticalLineAdornment(orientation, "1", "100%", color);
	l += '</td></tr>';

	l += '<tr><td align="center" valign="top" width="100%">';
	l += getHorizontalLineAdornment("100%", "1", color);
	l += '</td></tr>';

	l += '</table>';

	return(l);
}

//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function getJustify(justification)
{
	var l = '';
	l += '<td align="'+justification+'" valign="TOP" width="100%">&nbsp;</td>';
	return(l);
}

function getHorizontalSpacer(space_width)
{
	var l = '';
	l += '<td align="CENTER" valign="MIDDLE">';
	l += '<img src="/images/spacer.gif" align="middle" width="'+space_width+'" height="1" border="0" alt="" /></td>' + cstrEOL;
	return(l);
}

function getVerticalSpacer(height)
{
	var l = '';
	l += '<tr><td align="LEFT" valign="TOP">';
	l += '<img src="/images/spacer.gif" align="middle" height="'+height+'" width="1" border="0" alt="" /></td></tr>' + cstrEOL;
	return(l);
}
function getTableCellHorizontalTransparentSpace(width)
{
	var l	= cstrEmptyStr;
	l += '<td align=CENTER valign=MIDDLE width='+width+'>' + cstrEOL;
	l += '<img src="/images/spacer.gif" align="middle" height="1" width='+width+' border=0 alt="" /></td>' + cstrEOL;
	return (l);
}

function getTableCellHorizontalColoredSpace(color, width)
{
	var l	= cstrEmptyStr;

	l += '<td align=LEFT valign=TOP width='+width+' bgcolor='+color+'>' + cstrEOL;
	l += '<img src="/images/spacer.gif" align="middle" width='+width+' height=1 border=0 alt=""></td>' + cstrEOL;

	return (l);
}

//'!!!!!!NEEDS DEVELOPMENT!!!!!!
function getTableCellHorizontalDotLiner(color, height)
{
	var l	= cstrEmptyStr;

	l += '<td align=CENTER valign=MIDDLE width=100%>' + cstrEOL;
	l += getOpenTable('CENTER');
	l += '<tr>' + cstrEOL;
	//'l += '<td><br><br><br></td>' + cstrEOL;
	l += '<td align=CENTER valign=MIDDLE width=1><spacer type=block height=1 width=1>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>' + cstrEOL;
	l += '<td align=CENTER valign=MIDDLE width=1 class=dotlinespacer><spacer type=block height=1 width=1>&nbsp;</td>' + cstrEOL;
	l += '<td align=CENTER valign=MIDDLE width=1><spacer type=block height=1 width=1>&nbsp;&nbsp;&nbsp;</td>' + cstrEOL;
	l += '</tr>' + cstrEOL;
	l += getCloseTable();
	l += '</td>' + cstrEOL;

	return (l);
}
//...see "libbtn.js" - duplicate function there
function getHorizontalLiner(width, height, color)
{
	var l	= cstrEmptyStr;

	l += '<tr><td align="LEFT" valign="TOP" width="100%" height="'+height+'" bgcolor="'+color+'">\n';
	l += '<table align="LEFT" cellspacing="0" cellpadding="0" border="0" width="100%" height="'+height+'" bgcolor="'+color+'">\n';
	l += '<tr><td align="LEFT" valign="TOP" width="100%" height="'+height+'" bgcolor="'+color+'">\n';
	l += '<img src="/images/spacer.gif" align="middle" height="'+height+'" alt="" /></td>\n';
	l += '</tr></table>';
	l += '</td></tr>';
	return(l);
}

//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
//'DVP:height must be defined or the rules of HTML(?) assume height=width???
//'...is this true here also??
//''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
function getTableRowVerticalTransparentSpace(height)
{
	var l	= cstrEmptyStr;

	//'if (isANumber(height)) {
	if (height == -1) {

		l += '<tr><td align=CENTER valign=MIDDLE width=100% height='+height+'>' + cstrEOL;
		l += '<img src="/images/spacer.gif" align="middle" border=0 alt="" /></td></tr>' + cstrEOL;
	}
	else {

		l += '<tr><td align=CENTER valign=MIDDLE width=100% height='+height+'>' + cstrEOL;
		l += '<img src="/images/spacer.gif" align="middle" width=1 height='+height+' border=0 alt="" /></td></tr>' + cstrEOL;
	}

	return (l);
}

function getTableRowVerticalTransparentSpaceSpan(height, number_of_columns_to_span)
{
	var l	= cstrEmptyStr;

	//'if (this.IsNumber(height)) {
	if (height == -1) {

		//l += '<tr><td align=LEFT valign=MIDDLE width=100% height='+height+'>' + cstrEOL;
		l += '<tr><td align=LEFT valign=MIDDLE width=100% height=100% colspan='+number_of_columns_to_span+'>' + cstrEOL;
		l += '<img src="/images/spacer.gif" align="middle" border=0 alt=""></td></tr>' + cstrEOL;
	}
	else {

		l += '<tr><td align=LEFT valign=MIDDLE width=100% height='+height+' colspan='+number_of_columns_to_span+'>' + cstrEOL;
		//'DVP:width must be defined or the rules of HTML(?) assume width=height???
		l += '<img src="/images/spacer.gif" align="middle" height='+height+' border=0 alt=""></td>' + cstrEOL;
		l += '<img src="/images/spacer.gif" align="middle" width=1 height='+height+' border=0 alt=""></td>' + cstrEOL;
		l += '</tr>' + cstrEOL;
	}

	return (l);
}

function getTableRowVerticalColoredSpace(color, height)
{
	var l	= cstrEmptyStr;

	l += '<tr><td align=CENTER valign=MIDDLE width=100% bgcolor='+color+'>' + cstrEOL;
	l += '<img src="/images/spacer.gif" align="middle" width=1 height='+height+' border=0 alt="" /></td>' + cstrEOL;
	l += '</tr>' + cstrEOL;

	return (l);
}

//'********************************************************************
//'********************************************************************
//'!!!!!!NEEDS DEVELOPMENT!!!!!!
//'!!!!!!NEEDS DEVELOPMENT!!!!!!
function getTableRowVerticalColoredSpaceVariable(margin_width, content_width, color, height)
{
	var l	= cstrEmptyStr;

	l += '<tr><td align=CENTER valign=MIDDLE width=100%>' + cstrEOL;
	l += getOpenTable('CENTER');

	l += '<tr><td align=CENTER valign=MIDDLE width=100%>' + cstrEOL;
	l += getOpenTable('CENTER');
	l += '<tr>' + cstrEOL;
	l += '<td align=CENTER valign=MIDDLE width='+margin_width+'% height='+height+'>' + cstrEOL;
	l += '<img src="/images/spacer.gif" align="middle" width=1 height='+height+' border=0 alt="" /></td>' + cstrEOL;
	l += '<td align=CENTER valign=MIDDLE width='+content_width+'% bgcolor='+color+'>' + cstrEOL;
	l += '<img src="/images/spacer.gif" align="middle" width=1 height='+height+' border=0 alt="" /></td>' + cstrEOL;
	l += '<td align=CENTER valign=MIDDLE width='+margin_width+'% height='+height+'>' + cstrEOL;
	l += '<img src="/images/spacer.gif" align="middle" width=1 height='+height+' border=0 alt="" /></td>' + cstrEOL;
	l += '</tr>' + cstrEOL;
	l += getCloseTable();
	l += '</td></tr>' + cstrEOL;

	l += getCloseTable();
	l += '</td></tr>' + cstrEOL;

	return (l);
}

