
function dropDownToName(dropDown, prefix, allow_first)
{
	if (prefix == null)
	    prefix = "";

	if (dropDown.options.length == 0)
	    return "";
		
	var option = dropDown.options[dropDown.selectedIndex];
	
	if ((allow_first || dropDown.selectedIndex > 0) && option.text[0] != '-')
	{
		return FormatRewriteName(prefix + option.text) + "/";
	}
	return "";
}

function FormatRewriteName(name)
{
	if (name == null)
	{
		return "";
	}

	var last_brk = false;
	var result = "";

	for (i = 0; i < name.length; i++)
	{
		switch (name.charAt(i))
		{
			case (' '):
			case ('/'):
			case ('.'):
			case (','):
			case ('&'):
				if (!last_brk)
					result += '-';
				last_brk = true;
				break;
			case ('\''):
				break;
			default:
				if (!(last_brk && name.charAt(i) == '-'))
					result += name.charAt(i);
				last_brk = name.charAt(i) == '-';
				break;
		}
	}

	return result;
}

function doTextSearch()
{
	var search = $("#txtSearch").val();
	
	if (search == "keywords")
		search = "";
	
	window.location = HomeBasePath + "/Cards/?search=" + search;
}

function doCategorySearch()
{
    var ddlOccasions = $("#" + ddlCardOccasionsId)[0];
    var ddlRecipients = $("#" + ddlCardRecipientsId)[0];
    var ddlGenres = $("#" + ddlCardGenresId)[0];

    if (ddlOccasions.options[ddlOccasions.selectedIndex].value[0] == "-") {
        ddlOccasions.selectedIndex = 0;
    }

    var url = (ddlOccasions.selectedIndex > 0) ? ddlOccasions.options[ddlOccasions.selectedIndex].value + "/" : dropDownToName(ddlOccasions, "", true);	
	url += dropDownToName(ddlGenres, "", false);
	url += ddlRecipients[ddlRecipients.selectedIndex].value;

	url = HomeBasePath + "/Cards/" + url

	if (!url.match(/\/$/)) {
	    url += '/';
	}
	
	window.location = url;
}

function UpdateCardRecipients()
{
    var dropDown = $("#" + ddlCardOccasionsId)[0];
    $("#" + ddlCardRecipientsId).load(HomeBasePath + '/album/recipientsHandler.ashx?category=' + FormatRewriteName(dropDown.options[dropDown.selectedIndex].text) + '&r=' + Math.floor(Math.random() * 1000));	
}

