// JavaScript Document
var dropDownArray = Array();
var nullPixel = 'images/null.gif';
var dropTimer = null;

$(document).ready(function() {
    $('body').append('<div class="dropDownListHolder" id="dropDownListHolder"></div>');    
});

function createDropDown(objID, objName, labels, values, selected, subm) { 
	dropDownArray.push({objID:objID, objName:objName, labels:labels, values:values, selected:selected, subm:subm});
	
	$('#' + objID).append('<p>' + labels[selected] + '<span>' + labels[selected] + '</span></p>');
	var selectedValue = values[selected];
	var selectedID = selected;
	
	$('#' + objID + '  > p').wrap('<div class="left"><div class="right"></div></div>');
	$('input[name=' + objName + ']').attr("value", selectedValue);	
	$('#' + objID + ' > div.left').bind("click", { ddID: dropDownArray.length - 1 }, openDropMenu);		
}

function openDropMenu(e) {    
	var ddID = e.data.ddID;
	var objID = dropDownArray[ddID].objID;
	var objName = dropDownArray[ddID].objName;
	var labels = dropDownArray[ddID].labels;
	var values = dropDownArray[ddID].values;
	var selected = dropDownArray[ddID].selected;
	var subm = dropDownArray[ddID].subm;
	
	$('#dropDownListHolder').empty();
	
	var listDiv = '<div id="bgrndDiv_' + objID + '" class="backGround"><ins class="tr"><img src="' + nullPixel + '" border="0" width="1" height="1"></ins>';
	for (var i = 0; i < labels.length; i++) 
	{
		if (selected == i) 
		    var selectedID = i;
		    
	    if(subm)
        {
		    listDiv += '<div class="dropdownItemHolder"><a onmouseover="clearTimeout(dropTimer)" onmouseout="dropTimer=setTimeout(function(){closeDropMenu()}, 500)" onclick="setDropDown(' + ddID + ', ' + i + '); return false" hidefocus href="#"><div class="left"><div class="right">' + labels[i] + '</div></div></a></div>';
		}
		else
		{
		    listDiv += '<div class="dropdownItemHolder"><a onmouseover="clearTimeout(dropTimer)" onmouseout="dropTimer=setTimeout(function(){closeDropMenu()}, 500)" onclick="closeDropMenu();" hidefocus href="' + values[i] + '"><div class="left"><div class="right">' + labels[i] + '</div></div></a></div>';
		}
	}
	listDiv += '<ins class="bl"><img src="' + nullPixel + '" border="0" width="1" height="1"></ins><ins class="br"><img src="' + nullPixel + '" border="0" width="1" height="1"></ins></div>';
	$('#dropDownListHolder').append(listDiv);
	
	$('#bgrndDiv_' + objID).css("width", $('#' + objID).width())
							.css("left", $('#' + objID).offset().left - 7)
							.css("top", $('#' + objID).offset().top - selectedID * 32 - 12);
	
	$('#bgrndDiv_' + objID + ' > ins.tr').css("height", ($('#bgrndDiv_' + objID).height() + 10));
	$('#bgrndDiv_' + objID + ' > ins.bl').css("width", ($('#bgrndDiv_' + objID).width() + 10));
}

function closeDropMenu() {
	$('#dropDownListHolder').empty();
	clearTimeout(dropTimer);
}

function setDropDown(ddID, itemID) {
	closeDropMenu();

	$('#' + dropDownArray[ddID].objID).empty();
	$('#' + dropDownArray[ddID].objID).append('<p>' + dropDownArray[ddID].labels[itemID] + '<span>' + dropDownArray[ddID].labels[itemID] + '</span></p>');
	
	$('#' + dropDownArray[ddID].objID + '  > p').wrap('<div class="left"><div class="right"></div></div>');
	$('#' + dropDownArray[ddID].objID + ' > div.left').bind("click", {ddID:ddID}, openDropMenu);
	
	$('input[name=' + dropDownArray[ddID].objName + ']').attr("value", dropDownArray[ddID].values[itemID]);
	
	if ((dropDownArray[ddID].subm) && (dropDownArray[ddID].selected != itemID)) {
		$($('input[name=' + dropDownArray[ddID].objName + ']')[0].form).submit();
	} else {
		dropDownArray[ddID].selected = itemID;
	}
}
