function clearSearch() {
	var tblSearch = document.getElementById("tblSearch");
	var allCheckBoxes = tblSearch.getElementsByTagName("input");

	for(var i = 0;  i < allCheckBoxes.length;  ++i) {
		var box = allCheckBoxes[i];

		if(box.name.indexOf("chk") == 0) {
		    if(box.checked)
			    $(box).click();
		}
	}
}

function selectSearch(criteria) {
	var types = criteria.split('&');

	clearSearch();

	for(i = 0;  i < types.length;  ++i) {
		if(types[i].length == 0) continue;
		
		var typeParts = types[i].split('=');
		var type = typeParts[0];
		var values = typeParts[1].split(',');
		var chkName = '';

		switch(type) {
			case 'p':
				chkName = 'chkPerformerTypes';
				break;
			case 'r':
				chkName = 'chkRegions';
				break;
			case 'a':
				chkName = 'chkAgreementTypes';
				break;
            default:
                continue;
		}

		for(j = 0;  j < values.length;  ++j) {
			var value = values[j];
			$("#" + chkName + " span[checkBoxValue='" + value + "'] input").click();
		}
	}
}

function createSearchQuery() {
    var allCheckBoxes = $("#tblSearch input");
    var post = "";

	for(var i = 0;  i < allCheckBoxes.length;  ++i) {
		var box = allCheckBoxes[i];

		if(box.name.indexOf("chk") == 0) {
			if(box.checked) {
				var chkName = '';

				if(box.name.indexOf("chkPerformerTypes") == 0)
					chkName = "p";
				if(box.name.indexOf("chkRegions") == 0)
					chkName = "r";
				if(box.name.indexOf("chkAgreementTypes") == 0)
					chkName = "a";
					
				if(chkName != '') {
				    var pos = box.id.lastIndexOf('_');
					var searchId = $(box).parent("[checkBoxValue]").attr("checkBoxValue");

					if(post != '') post += "&";
					post += chkName + "=" + searchId;
				}	
			}
		}
	}

	return post;
}

function loadFavorites() {
	var post = "";
	var divFavorites = YAHOO.util.Dom.get('divFavorites');

	showLoader(divFavorites);

	var transaction = YAHOO.util.Connect.asyncRequest('GET', '/ajax/audition/search/loadItems.aspx', completedLoad, post);
}

var completedLoad =
{
	success: function(o) {
		var divFavorites = YAHOO.util.Dom.get('divFavorites');
		divFavorites.innerHTML = o.responseText;
		clearLoader(divFavorites);
		Nifty("div#divToggleEmail","transparent");
	},
	failure: function(o) {
		var divFavorites = YAHOO.util.Dom.get('divFavorites');
		divFavorites.innerHTML = '<p style="text-align:center">Sorry an error has occured.  Please try again.</p>';
		clearLoader(divFavorites);
		Nifty("div#divToggleEmail","transparent");
	}
}

var toggleFavoriteIcon = null;
var isFavorite;
function toggleFavorite(icon) {
	if(toggleFavoriteIcon == null) {
		var imgLoader = YAHOO.util.Dom.get('imgLoader');
		var imgIconFavorite = YAHOO.util.Dom.get('imgIconFavorite');
		var divSavedSearches = YAHOO.util.Dom.get('divSavedSearches');
		var savedSearches = divSavedSearches.getElementsByTagName("div");

		isFavorite = (icon.src == imgIconFavorite.src);

		if(!isFavorite && savedSearches.length == 0) {
			alert('You must have saved searches in order to use the email alerts.');
			return;
		}

		toggleFavoriteIcon = icon;
		toggleFavoriteIcon.src = imgLoader.src;

		var post = "toggleAlert=1";
		var transaction = YAHOO.util.Connect.asyncRequest('POST', '/ajax/audition/search/toggleAlert.aspx', completedToggle, post);
	}
}

var completedToggle =
{
	success: function(o) {
		var response = o.responseText;
		var imgIconFavorite = YAHOO.util.Dom.get('imgIconFavorite');
		var imgIconNotFavorite = YAHOO.util.Dom.get('imgIconNotFavorite');

		if(isFavorite) {
			toggleFavoriteIcon.src = imgIconNotFavorite.src;
		}
		else {
			toggleFavoriteIcon.src = imgIconFavorite.src;
		}

		toggleFavoriteIcon = null;
	},
	failure: function(o) {
		if(isFavorite)
			toggleFavoriteIcon.src = imgIconFavorite.src;
		else
			toggleFavoriteIcon.src = imgIconNotFavorite.src;

		toggleFavoriteIcon = null;
	}
}

function saveFavorite() {
	var txtName = YAHOO.util.Dom.get('txtSaveName');
	var post = "";
	var searchValue = createSearchQuery();
	var searchName = txtName.value.replace(/^\s\s*/, '').replace(/\s\s*$/, '');

	if(searchValue == '') {
		alert("Please select some search criteria.");
		return;
	}
	if(searchName == '') {
		alert("Please enter a Saved Search Name.");
		return;
	}

	showLoader(divFavorites);

	post += "name=" + escape(searchName);
	post += "&value=" + escape(searchValue);

	var transaction = YAHOO.util.Connect.asyncRequest('POST', '/ajax/audition/search/saveItem.aspx', completedSave, post);
}

var completedSave =
{
	success: function(o) {
		var response = o.responseText;
		clearLoader(divFavorites);
		loadFavorites();
	},
	failure: function(o) {
		clearLoader(divFavorites);
		loadFavorites();
	}
}

function deleteFavorite(id) {
	var divFavorites = YAHOO.util.Dom.get('divFavorites');
	var post = "";

	if(!confirm("Are you sure you want to delete this saved search?")) return;

	showLoader(divFavorites);

	post += "contentItemId=" + id;

	var transaction = YAHOO.util.Connect.asyncRequest('POST', '/ajax/audition/search/deleteItem.aspx', completedSave, post);
}

var completedDelete =
{
	success: function(o) {
		var response = o.responseText;
		clearLoader(divFavorites);
		loadFavorites();
	},
	failure: function(o) {
		clearLoader(divFavorites);
		loadFavorites();
	}
}

var divCalendar;
var currentMonth;
var currentYear;
function performSearch(explicitUrl) {
	divCalendar = YAHOO.util.Dom.get('divCalendar');
	var post = createSearchQuery();
	
	var query = $.query;
	if(explicitUrl)
	    query = $.query.load(explicitUrl);
	
	if( (currentMonth == null && currentYear == null) || explicitUrl) {
	    currentMonth = query.get("month");
	    currentYear= query.get("year");
	}
	
	post = "month=" + currentMonth + "&year=" + currentYear + "&" + post;

	showLoader(divCalendar);
	var transaction = YAHOO.util.Connect.asyncRequest('POST', '/ajax/audition/searchMonth.aspx', completeSearch, post);
}
var completeSearch =
{
    success: function(o) {
        var response = o.responseText;
        divCalendar.innerHTML = o.responseText;
        $("#divCalendar").css("display", "none");
        $("#divCalendar").fadeIn(500, function() {
            $("#divCalendarAlt").html(o.responseText);
            $(".calendarLink").click(function() {
                performSearch(this.href);
                return false;
            });
            $("#divCalendar").css("display", "none");
            divCalendar.innerHTML = "";
            $("#searchMonthAd").contents()[0].location = "/ajax/adLeaderboard.html";
            clearLoader(divCalendar);
        } );
        $(".imgLoaderWrapper").css("opacity", "0");
    },
    failure: function(o) {
        clearLoader(divCalendar);
    }
}
function showTab(tab, panel, url) {
    var divLoader = $("#divTabLoader")[0];

    $("#divSubNav div").removeClass("currentSubNav").removeClass("currentSubNavRight");
    $(tab).parent().toggleClass("currentSubNav");
    $(tab).parent().next().toggleClass("currentSubNavRight");

    var doShowTab = function(html) {
        var panelObj = $("#" + panel);
        if (html != null) $(panelObj).html(html);
        $(".tabPanel").css("z-index", "0");
        $(panelObj).css("z-index", "10");
        $(panelObj).fadeIn(500, function() {
            $(".tabPanel").each(function(p) {
                if ($(this)[0].id != panel) {
                    $(this).hide(0);
                    $(this).css("position", "absolute");
                }
            });
            $(panelObj).css("position", "relative");
            clearLoader(divLoader);
        });
    };

    showLoader(divLoader);
    if($(".tabPanelWrapper #imgLoader").length > 0)
        $(".tabPanelWrapper #imgLoader").attr("src", "/images/loaderWhite.gif");
    else
        $(".tabPanelWrapper")[0].childNodes[0].childNodes[0].src = "/images/loaderWhite.gif";
    if (url != null) {
        $.ajax({ url: url,
            cache: false,
            success: function(result) {
                doShowTab(result);
            },
            error: function(result) {
                clearLoader(divLoader);
                $(div).html("Sorry, an error occured.");
                $(div).addClass("errorText");
            }
        });
    } else {
        doShowTab(null);
    }
}

