var params = new Array();
function getParams(pDecode){
	var locationSearch = document.location.search.toString();
	locationSearch = (locationSearch.substring(0,1) == "?") ? locationSearch.substring(1) : locationSearch;
	var searchParamsArr = locationSearch.split("&");
	for (var i=0; i<searchParamsArr.length; i++)
	{
		var searchParamArr = searchParamsArr[i].split("=");
		for (var y=0; y<searchParamArr.length; y++)
		{
			if (y == 0)
			{
				params[searchParamArr[y]] = "";
			}
			else
			{
				if (searchParamArr[0] == 'useGenre')
				{
					params[searchParamArr[0]] = eval(searchParamArr[y]);
				}
				else
				{
					params[searchParamArr[0]] = searchParamArr[y];
					if (pDecode)
					{
						params[searchParamArr[0]] = decodeURIComponent(params[searchParamArr[0]]);
					}
				}
			}
		}
	}
}

function populateDropdownList(targetElement, dropdownElement)
{
	var newDropdown = dropdownElement;
	
	var res = targetElement.appendChild(newDropdown);
	if (res)
	{
		targetElement.populated = true;
		res.style.display = "block";
	}
}

var DDSPEED = 10;
var DDTIMER = 15;

function handleDropdown(controllerId, dropdownId, pDir, mid)
{
	var dControlerObj = document.getElementById(controllerId);
	var dropdownObj = document.getElementById(dropdownId);

	var startingDelay = (mid ? 500 : 0);

	clearInterval(dropdownObj.timer);
	clearTimeout(dControlerObj.timer);
	if (pDir == 1)
	{
		if (dropdownObj.style.height != '' && dropdownObj.style.display != 'none')
			openDropdown(controllerId, dropdownId, pDir);
		else
			dControlerObj.timer = setTimeout(function() {openDropdown(controllerId, dropdownId, pDir)},startingDelay);
	}
	else
	{
		dControlerObj.timer = setTimeout(function(){hideDropdown(dropdownObj)},550);
	}
}

function openDropdown(controllerId, dropdownId, pDir)
{
	var dControlerObj = document.getElementById(controllerId);
	var dropdownObj = document.getElementById(dropdownId);

	dropdownObj.style.display = 'block';
	if(dropdownObj.maxh && dropdownObj.maxh <= dropdownObj.offsetHeight)
	{
		return;
	}
	else if (!dropdownObj.maxh)
	{
		dropdownObj.style.height = 'auto';
		dropdownObj.maxh = dropdownObj.offsetHeight;
		dropdownObj.style.height = '2px';
	}
	dropdownObj.timer = setInterval(function(){showDropdown(dropdownObj,1)},DDTIMER);
}

function hideDropdown(dropdownObj)
{
	dropdownObj.timer = setInterval(function(){showDropdown(dropdownObj,-1)},DDTIMER);
}

function cancelHide(controllerId, dropdownId)
{
	var dControlerObj = document.getElementById(controllerId);
	var dropdownObj = document.getElementById(dropdownId);
	
	clearTimeout(dControlerObj.timer);
	clearInterval(dropdownObj.timer);
	if (dropdownObj.offsetHeight < dropdownObj.maxh)
	{
		dropdownObj.timer = setInterval(function(){showDropdown(dropdownObj,1)},DDTIMER);
	}
}

function showDropdown(obj, pDir)
{
	var currh = obj.offsetHeight;
	var dist;
	
	if (pDir == 1)
	{
		if ((currh + DDSPEED) > obj.maxh)
		{
			clearInterval(obj.timer);
			obj.style.height = obj.maxh;
			return;
		}
		else
			obj.style.height = (currh + DDSPEED) + 'px';
	}
	else
	{
		if ((currh - DDSPEED) < 2)
		{
			clearInterval(obj.timer);
			obj.style.display = "none";
			return;
		}
		else
			obj.style.height = (currh - DDSPEED) + 'px';
	}
}
