var UnPressedImage			= "images/dropdown.gif"
var PressedImage			= "images/dropdownpressed.gif"

function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function DDclick(item)
{
	var itemdata, obj, text;
	if( item == -1 )
	{
		if( document.getElementById('ddd' + this.jsObjectName).style.display == 'block' )
		{
			document.getElementById('ddd' + this.jsObjectName).style.display = 'none';
			document.getElementById('ddi' + this.jsObjectName).src = UnPressedImage;
		}
		else
		{
			obj = document.getElementById('ddd' + this.jsObjectName);
			document.getElementById('ddd' + this.jsObjectName).style.display = 'block';
			
			obj.style.left = findPosX(document.getElementById('dd' + this.jsObjectName));
			obj.style.top = findPosY(document.getElementById('dd' + this.jsObjectName))+document.getElementById('dd' + this.jsObjectName).offsetHeight;	
			document.getElementById('ddi' + this.jsObjectName).src = PressedImage;
		}
	}
	else
	{
		itemdata = String(this.Items[item]).split("||");
		document.getElementById('ddd' + this.jsObjectName).style.display = 'none';
		this.selectedItem = item;
		obj = document.getElementById('ddt' + this.jsObjectName);
		obj.removeChild(obj.firstChild);
		text = document.createTextNode(itemdata[0]);
		obj.appendChild(text);
		document.getElementById(this.FormName).getAttribute(this.FormField).value = itemdata[1];
		document.getElementById('ddi' + this.jsObjectName).src = UnPressedImage;
	}
}

function DDmouseOver(item)
{
	document.getElementById('ddd' + item + this.jsObjectName).style.backgroundColor = '#000080';
	document.getElementById('ddd' + item + this.jsObjectName).style.color = '#FFFFFF';
}

function DDmouseOut(item)
{
	document.getElementById('ddd' + item + this.jsObjectName).style.backgroundColor = '';
	document.getElementById('ddd' + item + this.jsObjectName).style.color = '';
}

function DDaddItem(Name,Value)
{
	this.Items[this.Items.length] = Name + "||" + Value;
}

function DDdraw()
{
	var i,item;
	item = String(this.Items[0]).split("||");
	var data = '<div id="dd' + this.jsObjectName + '" class="' + this.styleClassName + '" onclick="eval(\'' + this.jsObjectName + '.click(-1);\')"><div style="display:inline;width:50%;height:100%"><div id="ddt' + this.jsObjectName + '" style="display:inline;width:100%;height:100%;padding-left:3px">' + item[this.selectedItem] + '</div></div><div style="width:50%;display:inline;text-align:right"><div style="display:inline"><img id="ddi' + this.jsObjectName + '" src="' + UnPressedImage + '" border="0" alt=""></div></div></div>';
	data = data + '<div id="ddd' + this.jsObjectName + '" class="' + this.dropStyleClassName + '">';
	
	for( i = 0; i < this.Items.length; i++ )
	{
		item = String(this.Items[i]).split("||");
		data = data + '<div id="ddd' + i + this.jsObjectName + '" onclick="eval(\'' + this.jsObjectName + '.click(' + i + ');\')" onmouseover="eval(\'' + this.jsObjectName + '.mouseOver(' + i + ');\')" onmouseout="eval(\'' + this.jsObjectName + '.mouseOut(' + i + ');\')" style="width:100%;padding-left:4px;cursor:hand">' + item[0] + '</div>';
	}
	
	data = data + '</div>';		
	document.write(data);
}

function DropDown(FormName, FormField, styleClassName, dropStyleClassName, jsObjectName)
{
	this.FormName = FormName
	this.FormField = FormField;
	this.styleClassName = styleClassName;
	this.dropStyleClassName = dropStyleClassName;
	this.jsObjectName = jsObjectName;
	this.Items = Array();
	this.selectedItem = 0;
	
	this.click = DDclick;
	this.mouseOver = DDmouseOver;
	this.mouseOut = DDmouseOut;
	this.addItem = DDaddItem;	
	this.draw = DDdraw;
}