///////////////////// Ajax global variables \\\\\\\\\\\\\\\\\\\
var xmlhttp
var xmlhttptwo

//////////////////// Current tab global variable \\\\\\\\\\\\\\\\\
var currenttab = 'popular';

//////////////////// Browse global variables \\\\\\\\\\\\\\\\\
var browseartist = '-';
var browsesong = '-';

//////////////////// Search versus browse global variables \\\\\\\\\\\\\\\\\\
var decided = false; // has the decision been made between browsing or searching
var searched = false; // has a search been performed so the searched tab should be displayed
var pastsearch = '-';

//////////////////// Delination input global variables \\\\\\\\\\\\\\\\\\\\\\\
var popularsearch = '';
var recentsearch = '';
var browsesearch = '';
var searchsearch = '';
var browselistsearch = '';

//////////////////// Specific file display global variables \\\\\\\\\\\\\\\\\\
var popularartist = '';
var popularsong = '';
var popularfile = '';
var recentartist = '';
var recentsong = '';
var recentfile = '';
var browsefile = '';

//////////////////// Browselist two dimensional array \\\\\\\\\\\\\\\\\\\\\\\\
var currentbrowselist = '';
var browselistarray = new Array();
browselistarray[0] = new Array();

//////////////////// Browselist highlight global variable \\\\\\\\\\\\\\\\\\\\\\\\\
var highlightbrowselist = '';

//////////////////// Browselist name error global variables \\\\\\\\\\\\\\\\\\\\\
var browselisterror = false;

//////////////////// Disable browselist links global variables \\\\\\\\\\\\\\\\\\\\\
var disablebrowsing = false;

//////////////////// Deleted browselist content global variables \\\\\\\\\\\\\\\\\\\\\\
var deletedcontent = '';

//////////////////// Droppable hover global variable \\\\\\\\\\\\\\\\\\\\\
var droppablehover = false;

//////////////////// Default video state global variable \\\\\\\\\\\\\\\\\\\\\\\\\
var globalvideostate = 'open';

// Global variables to handle the present and past rating states
//   - rating: used to reference whether a user's mouse is over the rating table
//             if a user's mouse is over the rating table than an individual rating star's mouseout cannot be called
//             to prevent redundant rating star mouseover calls that prevent link usage and rating table mouseout calls
//             that cause choppy transition animation between rating stars
//   - rated: used to reference whether a user has already selected a rating
//            if a user has selected a rating then no animation should occur when mousingover or out of the rating stars
//            this is necessary because the safety mouseout "padding" divs around the rating stars uses starOut so rated
//            must be checked to decide whether or not a mouseout should actually occur
var rating = false;
var rated = false;

//////////////////////////////// Classes \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
function contentContainer(artist, song, delineation, file, overallvideostate, previousvideostate, initialvideostate, initialvideoinput, uservideostate, uservideoinput)
{
	this.artist=artist;
	this.song=song;
	this.delineation=delineation;
	this.file=file;
	this.overallvideostate=overallvideostate;  // Can be either initial or user
	this.previousvideostate=previousvideostate;
	this.initialvideostate=initialvideostate;  // Can be either closed, results, or video
	this.initialvideoinput=initialvideoinput;  // Can be either nothing, search string, or video index - search string
	this.uservideostate=uservideostate;        // Can be either closed, search, results, or video
	this.uservideoinput=uservideoinput;        // Can be either nothing or video index - search string
}

//////////////////// Create all static content container objects \\\\\\\\\\\\\\\\\\
popularcontainer=new contentContainer('-', '-', '-', '', 'initial', 'closed', 'results', '', 'search', '');
recentcontainer=new contentContainer('-', '-', '-', '', 'initial', 'closed', 'results', '', 'search', '');
browsecontainer=new contentContainer('-', '-', '-', '', 'initial', 'closed', 'results', '', 'search', '');

//////////////////// Deep linking global variables \\\\\\\\\\\\\\\\
var currenthash = '';
var changinghash = false;

///////////////////// Periodically check for hash tag changes (
function checkHash()
{
	// If this page has just been navigated to change the hash to its current navigation and load the ajax accordingly
	if(window.location.hash != currenthash && !changinghash)
	{
		newHash(window.location.hash);
	}
	
	setTimeout("checkHash()", 250);
}

//////////////////////////////////// Ajax functions \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
function newHash(hash)
{
	changinghash = true; // Indicate that the checkHash function shouldn't reset the hash because another hash is loading
	currenthash = hash;

	var hashstring = hash;
	hashstring = hashstring.replace("#", "");
	var hashlocation = hashstring.split("/");
	if(hashlocation.length >= 2)
	{
		if(hashlocation[1] == 'popular')
		{
			currenttab = 'popular';
		
			xmlhttp=GetXmlHttpObject();
			if (xmlhttp==null)
			{
				alert ("Your browser does not support XMLHTTP!");
				return;
			}
			var url="/popular_browse.php?browse_input="+popularsearch+"&content_height="+getContentHeight();
			if(!searched)
			{
				url+="&not_searched=1";
			}
			if(hashlocation.length >= 3)
			{
				popularartist=hashlocation[2];
				url+="&browse_artist="+hashlocation[2];
			}
			if(hashlocation.length >= 4)
			{
				popularsong=hashlocation[3];
				url+="&browse_song="+hashlocation[3];
			}
			if(hashlocation.length >= 5)
			{
				popularfile=hashlocation[4];
				url+="&browse_file="+hashlocation[4];
			}
			else
			{
				popularfile="";
			}
			xmlhttp.onreadystatechange=browseStateChanged;
			xmlhttp.open("GET",url,true);
			xmlhttp.send(null);
			return;
		}
		else if(hashlocation[1] == 'recent')
		{
			currenttab = 'recent';
		
			xmlhttp=GetXmlHttpObject();
			if (xmlhttp==null)
			{
				alert ("Your browser does not support XMLHTTP!");
				return;
			}
			var url="/recent_browse.php?browse_input="+recentsearch+"&content_height="+getContentHeight();
			if(!searched)
			{
				url+="&not_searched=1";
			}
			if(hashlocation.length >= 3)
			{
				recentartist=hashlocation[2];
				url+="&browse_artist="+hashlocation[2];
			}
			if(hashlocation.length >= 4)
			{
				recentsong=hashlocation[3];
				url+="&browse_song="+hashlocation[3];
			}
			if(hashlocation.length >= 5)
			{
				recentfile=hashlocation[4];
				url+="&browse_file="+hashlocation[4];
			}
			else
			{
				recentfile="";
			}
			xmlhttp.onreadystatechange=browseStateChanged;
			xmlhttp.open("GET",url,true);
			xmlhttp.send(null);
			return;
		}
		else if(hashlocation[1] == 'browse')
		{
			if(disablebrowsing)
			{
				return;
			}
			currenttab = 'browse';
			browsesearch = ''; // Don't use the stored delineation when you are going directly to a browsed tab
			browsefile = ''; // Don't use the stored file when you are going directly to a browsed tab
		
			xmlhttp=GetXmlHttpObject();
			if (xmlhttp==null)
			{
				alert ("Your browser does not support XMLHTTP!");
				return;
			}
			var url="/browse_all.php?browse_input="+browsesearch+"&content_height="+getContentHeight();
			if(!searched)
			{
				url+="&not_searched=1";
			}
			if(hashlocation.length >= 3)
			{
				browseartist = hashlocation[2];
				url+="&browse_artist="+hashlocation[2];
			}
			if(hashlocation.length >= 4)
			{
				browsesong = hashlocation[3];
				url+="&browse_song="+hashlocation[3];
			}
			if(hashlocation.length >= 5)
			{
				browsefile = hashlocation[4];
				url+="&browse_file="+hashlocation[4];
			}
			else
			{
				browsefile="";
			}
			
			 // if a blank array index is read in then convert it to a - for the browseartist and browsesong
			if(browseartist == '')
			{
				browseartist = '-';
			}
			if(browsesong == '')
			{
				browsesong = '-';
			}
			
			xmlhttp.onreadystatechange=browseStateChanged;
			xmlhttp.open("GET",url,true);
			xmlhttp.send(null);
			return;
		}
		else if(hashlocation[1] == 'search')
		{
			var variablesplit = hash.split("zs");
			if(variablesplit.length >= 2)
			{
				var searchstringsplit = variablesplit[1].split("=");
				if(searchstringsplit.length >= 2)
				{
					searchstring = searchstringsplit[1];
					
					pastsearch = searchstring;
					
					xmlhttp=GetXmlHttpObject();
					if (xmlhttp==null)
					{
						alert ("Your browser does not support XMLHTTP!");
						return;
					}

					var url="/browse_search.php?not_searched=1&browse_search="+searchstring+"&content_height="+getContentHeight();
					if(!searched)
					{
						url+="&not_searched=1";
					}
					
					xmlhttp.onreadystatechange=searchStateChanged;
					xmlhttp.open("GET",url,true);
					xmlhttp.send(null);
					return;
				}
			}
			else
			{
				xmlhttp=GetXmlHttpObject();
				if (xmlhttp==null)
				{
					alert ("Your browser does not support XMLHTTP!");
					return;
				}

				var url="/browse_search.php?browse_search="+pastsearch+"&content_height="+getContentHeight();
				if(!searched)
				{
					url+="&not_searched=1";
				}
				
				xmlhttp.onreadystatechange=searchStateChanged;
				xmlhttp.open("GET",url,true);
				xmlhttp.send(null);
				return;
			}
		}
	}
	else if(hash == "")
	{
		currenttab = 'popular';
	
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
		{
			alert ("Your browser does not support XMLHTTP!");
			return;
		}
		var url="/popular_browse.php?browse_input="+popularsearch+"&content_height="+getContentHeight();
		if(!searched)
		{
			url+="&not_searched=1";
		}
		xmlhttp.onreadystatechange=browseStateChanged;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
		return;
	}
	
	// indicate changing the hash is done here if the hash isn't formatted properly
	changinghash = false;
}
function openTab(tab)
{
	currenttab = tab;
	changinghash = true; // Indicate that the checkHash function shouldn't reset the hash because another hash is loading
	var newcurrenthash = '#/';
	
	if(tab == 'popular')
	{
		newcurrenthash+='popular/';
		
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
		{
			alert ("Your browser does not support XMLHTTP!");
			return;
		}
		var url="/popular_browse.php?browse_input="+popularsearch+"&open_tab=1&content_height="+getContentHeight();
		if(!searched)
		{
			url+="&not_searched=1";
		}
		if(popularartist != "")
		{
			url+="&browse_artist="+popularartist;
			newcurrenthash+=popularartist+'/';
		}
		if(popularsong != "")
		{
			url+="&browse_song="+popularsong;
			newcurrenthash+=popularsong+'/';
		}
		if(popularfile != "")
		{
			url+="&browse_file="+popularfile;
			newcurrenthash+=popularfile+'/';
			if(popularcontainer.overallvideostate == 'initial' && popularcontainer.initialvideostate == 'results')
			{
				if(popularcontainer.uservideostate == 'results')
				{
					url+="&alt_youtube_state=user_results&alt_youtube_input="+popularcontainer.uservideoinput;
				}
				else if(popularcontainer.uservideostate == 'video')
				{
					url+="&alt_youtube_state=user_video&alt_youtube_input="+popularcontainer.uservideoinput;
				}
			}
			else if(popularcontainer.overallvideostate == 'initial' && popularcontainer.initialvideostate == 'video')
			{
				url+="&youtube_state=initial_video&youtube_input="+popularcontainer.initialvideoinput+"&youtube_type=initial";
				if(popularcontainer.uservideostate == 'results')
				{
					url+="&alt_youtube_state=user_results&alt_youtube_input="+popularcontainer.uservideoinput;
				}
				else if(popularcontainer.uservideostate == 'video')
				{
					url+="&alt_youtube_state=user_video&alt_youtube_input="+popularcontainer.uservideoinput;
				}
			}
			else if(popularcontainer.overallvideostate == 'user' && popularcontainer.uservideostate == 'search')
			{
				url+="&youtube_state=user_search";
				if(popularcontainer.initialvideostate == 'video')
				{
					url+="&alt_youtube_state=initial_video&alt_youtube_input="+popularcontainer.initialvideoinput;
				}
			}
			else if(popularcontainer.overallvideostate == 'user' && popularcontainer.uservideostate == 'results')
			{
				url+="&youtube_state=user_results&youtube_input="+popularcontainer.uservideoinput;
				if(popularcontainer.initialvideostate == 'video')
				{
					url+="&alt_youtube_state=initial_video&alt_youtube_input="+popularcontainer.initialvideoinput;
				}
			}
			else if(popularcontainer.overallvideostate == 'user' && popularcontainer.uservideostate == 'video')
			{
				url+="&youtube_state=user_video&youtube_input="+popularcontainer.uservideoinput+"&youtube_type=user";
				if(popularcontainer.initialvideostate == 'video')
				{
					url+="&alt_youtube_state=initial_video&alt_youtube_input="+popularcontainer.initialvideoinput;
				}
			}
		}
		
		currenthash = newcurrenthash;

		xmlhttp.onreadystatechange=openTabStateChanged;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else if(tab == 'recent')
	{
		newcurrenthash+='recent/';
	
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
		{
			alert ("Your browser does not support XMLHTTP!");
			return;
		}
		var url="/recent_browse.php?browse_input="+recentsearch+"&open_tab=1&content_height="+getContentHeight();
		if(!searched)
		{
			url+="&not_searched=1";
		}
		if(recentartist != "")
		{
			url+="&browse_artist="+recentartist;
			newcurrenthash+=recentartist+'/';
		}
		if(recentsong != "")
		{
			url+="&browse_song="+recentsong;
			newcurrenthash+=recentsong+'/';
		}
		if(recentfile != "")
		{
			url+="&browse_file="+recentfile;
			newcurrenthash+=recentfile+'/';
			if(recentcontainer.overallvideostate == 'initial' && recentcontainer.initialvideostate == 'results')
			{
				if(recentcontainer.uservideostate == 'results')
				{
					url+="&alt_youtube_state=user_results&alt_youtube_input="+recentcontainer.uservideoinput;
				}
				else if(recentcontainer.uservideostate == 'video')
				{
					url+="&alt_youtube_state=user_video&alt_youtube_input="+recentcontainer.uservideoinput;
				}
			}
			else if(recentcontainer.overallvideostate == 'initial' && recentcontainer.initialvideostate == 'video')
			{
				url+="&youtube_state=initial_video&youtube_input="+recentcontainer.initialvideoinput+"&youtube_type=initial";
				if(recentcontainer.uservideostate == 'results')
				{
					url+="&alt_youtube_state=user_results&alt_youtube_input="+recentcontainer.uservideoinput;
				}
				else if(recentcontainer.uservideostate == 'video')
				{
					url+="&alt_youtube_state=user_video&alt_youtube_input="+recentcontainer.uservideoinput;
				}
			}
			else if(recentcontainer.overallvideostate == 'user' && recentcontainer.uservideostate == 'search')
			{
				url+="&youtube_state=user_search";
				if(recentcontainer.initialvideostate == 'video')
				{
					url+="&alt_youtube_state=initial_video&alt_youtube_input="+recentcontainer.initialvideoinput;
				}
			}
			else if(recentcontainer.overallvideostate == 'user' && recentcontainer.uservideostate == 'results')
			{
				url+="&youtube_state=user_results&youtube_input="+recentcontainer.uservideoinput;
				if(recentcontainer.initialvideostate == 'video')
				{
					url+="&alt_youtube_state=initial_video&alt_youtube_input="+recentcontainer.initialvideoinput;
				}
			}
			else if(recentcontainer.overallvideostate == 'user' && recentcontainer.uservideostate == 'video')
			{
				url+="&youtube_state=user_video&youtube_input="+recentcontainer.uservideoinput+"&youtube_type=user";
				if(recentcontainer.initialvideostate == 'video')
				{
					url+="&alt_youtube_state=initial_video&alt_youtube_input="+recentcontainer.initialvideoinput;
				}
			}
		}
		
		currenthash = newcurrenthash;
		
		xmlhttp.onreadystatechange=openTabStateChanged;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else if(tab == 'browse')
	{
		newcurrenthash+='browse/';
	
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
		{
			alert ("Your browser does not support XMLHTTP!");
			return;
		}
		var url="/browse_all.php?browse_input="+browsesearch+"&open_tab=1&content_height="+getContentHeight();
		if(!searched)
		{
			url+="&not_searched=1";
		}
		if(browseartist != "-")
		{
			newcurrenthash+=browseartist+'/';
			url+="&browse_artist="+browseartist;
		}
		if(browsesong != "-")
		{
			newcurrenthash+=browsesong+'/';
			url+="&browse_song="+browsesong;
		}
		if(browsefile != "")
		{
			newcurrenthash+=browsefile+'/';
			url+="&browse_file="+browsefile;
			if(browsecontainer.overallvideostate == 'initial' && browsecontainer.initialvideostate == 'results')
			{
				if(browsecontainer.uservideostate == 'results')
				{
					url+="&alt_youtube_state=user_results&alt_youtube_input="+browsecontainer.uservideoinput;
				}
				else if(browsecontainer.uservideostate == 'video')
				{
					url+="&alt_youtube_state=user_video&alt_youtube_input="+browsecontainer.uservideoinput;
				}
			}
			else if(browsecontainer.overallvideostate == 'initial' && browsecontainer.initialvideostate == 'video')
			{
				url+="&youtube_state=initial_video&youtube_input="+browsecontainer.initialvideoinput+"&youtube_type=initial";
				if(browsecontainer.uservideostate == 'results')
				{
					url+="&alt_youtube_state=user_results&alt_youtube_input="+browsecontainer.uservideoinput;
				}
				else if(browsecontainer.uservideostate == 'video')
				{
					url+="&alt_youtube_state=user_video&alt_youtube_input="+browsecontainer.uservideoinput;
				}
			}
			else if(browsecontainer.overallvideostate == 'user' && browsecontainer.uservideostate == 'search')
			{
				url+="&youtube_state=user_search";
				if(browsecontainer.initialvideostate == 'video')
				{
					url+="&alt_youtube_state=initial_video&alt_youtube_input="+browsecontainer.initialvideoinput;
				}
			}
			else if(browsecontainer.overallvideostate == 'user' && browsecontainer.uservideostate == 'results')
			{
				url+="&youtube_state=user_results&youtube_input="+browsecontainer.uservideoinput;
				if(browsecontainer.initialvideostate == 'video')
				{
					url+="&alt_youtube_state=initial_video&alt_youtube_input="+browsecontainer.initialvideoinput;
				}
			}
			else if(browsecontainer.overallvideostate == 'user' && browsecontainer.uservideostate == 'video')
			{
				url+="&youtube_state=user_video&youtube_input="+browsecontainer.uservideoinput+"&youtube_type=user";
				if(browsecontainer.initialvideostate == 'video')
				{
					url+="&alt_youtube_state=initial_video&alt_youtube_input="+browsecontainer.initialvideoinput;
				}
			}
		}
		
		currenthash = newcurrenthash;
		
		xmlhttp.onreadystatechange=openTabStateChanged;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
	else if(tab == 'search')
	{
		currenthash = '#/search/';
		if(pastsearch != "-")
		{
			currenthash+='?zs='+pastsearch;
		}
	
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
		{
			alert ("Your browser does not support XMLHTTP!");
			return;
		}

		var url="/browse_search.php?browse_search="+pastsearch+"&content_height="+getContentHeight();
		if(!searched)
		{
			url+="&not_searched=1";
		}

		xmlhttp.onreadystatechange=searchStateChanged;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
}
function keyUpSearch(value)
{
	if(currenttab == 'popular')
	{
		popularsearch = value;
		var url="/popular_browse.php?js=1&browse_input="+value+"&active_delineation=1&content_height="+getContentHeight();
	}
	else if(currenttab == 'recent')
	{
		recentsearch = value;
		var url="/recent_browse.php?browse_input="+value+"&active_delineation=1&content_height="+getContentHeight();
	}
	else if(currenttab == 'browse')
	{
		browsesearch = value;
		var url="/browse_all.php?browse_artist="+browseartist+"&browse_song="+browsesong+"&browse_input="+value+"&active_delineation=1&content_height="+getContentHeight();
	}
	else if(currenttab == 'search')
	{
		searchsearch = value;
		var url="/browse_search.php?browse_search="+pastsearch+"&browse_input="+value+"&active_delineation=1&content_height="+getContentHeight();
	}

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}

	xmlhttp.onreadystatechange=keyUpStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	
	if(currenttab == 'popular')
	{
		popularsearch = value;
		var url="/popular_browse.php?js=1&browse_input="+value+"&delineation_results=1";
	}
	else if(currenttab == 'recent')
	{
		recentsearch = value;
		var url="/recent_browse.php?browse_input="+value+"&delineation_results=1";
	}
	else if(currenttab == 'browse')
	{
		browsesearch = value;
		var url="/browse_all.php?browse_artist="+browseartist+"&browse_song="+browsesong+"&browse_input="+value+"&delineation_results=1";
	}
	else if(currenttab == 'search')
	{
		searchsearch = value;
		var url="/browse_search.php?browse_search="+pastsearch+"&browse_input="+value+"&delineation_results=1";
	}

	xmlhttptwo=GetXmlHttpObject();
	if (xmlhttptwo==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}

	xmlhttptwo.onreadystatechange=keyUpResultsStateChanged;
	xmlhttptwo.open("GET",url,true);
	xmlhttptwo.send(null);
}
function searchTabs(location)
{
	changinghash = true; // Indicate that the checkHash function shouldn't reset the hash because another hash is loading

	if(location == 'header')
	{
		var search = $('header_search_input').value;
		if(search != "Search for a tab")
		{
			$('header_search_loading').style.display="block";
		}
		else
		{
			return;
		}
	}
	/*else if(location == 'browse')
	{
		var search = $('browse_search_input').value;
		if(search != "Search for a tab")
		{
			$('browse_search_loading').style.display="block";
		}
		else
		{
			return;
		}
	}*/

	pastsearch = search;
	currenthash = '#/search/?zs='+search;
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}

	var url="/browse_search.php?not_searched=1&browse_search="+search+"&content_height="+getContentHeight();
	if(!searched)
	{
		url+="&not_searched=1";
	}
	
	xmlhttp.onreadystatechange=searchStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
function displayTab(resourcefile)
{
	if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				browselistarray[i][1] = resourcefile;
			}
		}
	}
	else
	{
		return;
	}
	
	var resourcesplit = resourcefile.split("/");
	if(resourcesplit.length >= 3)
	{
		var artist = resourcesplit[2];
	}
	if(resourcesplit.length >= 4)
	{
		var song = resourcesplit[3];
	}
	if(resourcesplit.length >= 5)
	{
		var resource = resourcesplit[4];
	}

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/browse_file.php?browse_artist="+artist+"&browse_song="+song+"&browse_file="+resource;
	xmlhttp.onreadystatechange=fileStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
// function call to see if the form input is valid
function evalLogin()
{
    var username = $('login_username').value;
	var password = $('black_password_input').value;
	
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }
    var url="/LoginEval.php?username="+username+"&password="+password;
    xmlhttp.open("GET",url,false);
    xmlhttp.send(null);
	
    if(xmlhttp.responseText == 'true')
    {
		$('invalid_login').fade();
		
        return true;
    }
    else if(username != "Username" && password != "Password")
    {
		$('invalid_login').appear();

        return false;
    }
    else if(xmlhttp.responseText == 'false')
	{
        return false;
	}
}
function memberLogin()
{
	var username = $('login_username').value;
	var password = $('black_password_input').value;
	
	if(document.loginform.memberremember.checked)
	{
		var remember = 1;
	}
	else
	{
		var remember = 0;
	}
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/member_links.php?username="+username+"&password="+password+"&remember="+remember;
	xmlhttp.onreadystatechange=loginStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	
	// refresh browselists after the user has logged in
	xmlhttptwo=GetXmlHttpObject();
	if (xmlhttptwo==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/browselist_names.php?username="+username+"&password="+password;
	xmlhttptwo.onreadystatechange=browselistsStateChanged;
	xmlhttptwo.open("GET",url,true);
	xmlhttptwo.send(null);
}
function memberLogout()
{
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/member_links.php?logout=1";
	xmlhttp.onreadystatechange=logoutStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	
	xmlhttptwo=GetXmlHttpObject();
	if (xmlhttptwo==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/browselist_names.php?browselist_logout=1";
	xmlhttptwo.onreadystatechange=browselistsStateChanged;
	xmlhttptwo.open("GET",url,true);
	xmlhttptwo.send(null);
	
	if(currenttab == 'browselist')
	{
		currenttab = 'popular';
	
		xmlhttpthree=GetXmlHttpObject();
		if (xmlhttpthree==null)
		{
			alert ("Your browser does not support XMLHTTP!");
			return;
		}
		var url="/popular_browse.php?js=1&browse_input="+popularsearch+"&popular_file="+popularfile+"&content_height="+getContentHeight();
		if(!searched)
		{
			url+="&not_searched=1";
		}
		xmlhttpthree.onreadystatechange=exitBrowselistStateChanged;
		xmlhttpthree.open("GET",url,true);
		xmlhttpthree.send(null);
	}
}
function browselistLogin()
{
	var username = $('login_username').value;
	var password = $('black_password_input').value;
	
	if(document.loginform.memberremember.checked)
	{
		var remember = 1;
	}
	else
	{
		var remember = 0;
	}
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/member_links.php?username="+username+"&password="+password+"&remember="+remember;
	xmlhttp.onreadystatechange=browselistLoginStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	
	// refresh browselists after the user has logged in
	xmlhttptwo=GetXmlHttpObject();
	if (xmlhttptwo==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/browselist_names.php?username="+username+"&password="+password;
	xmlhttptwo.onreadystatechange=browselistsStateChanged;
	xmlhttptwo.open("GET",url,true);
	xmlhttptwo.send(null);
}
function submitUserSignUp()
{
	var username = $('signup_username').value;
	var password = $('signup_password_none').value;
	var confirm = $('signup_confirm_none').value;
	var question = $('signup_question').value;
	var answer = $('signup_answer').value;
	var email = $('signup_email').value;

	if(username != "Desired Username" && password != "Desired Password" && confirm != "Confirm Password" && question != "" && answer != "Security question answer" && email != "Your email")
	{
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
		{
			alert ("Your browser does not support XMLHTTP!");
			return;
		}
		var url="/browse_signup.php?signup_username="+username+"&signup_password="+password+"&signup_confirm="+confirm+"&signup_question="+question+"&signup_answer="+answer+"&signup_email="+email;
		xmlhttp.onreadystatechange=signupStateChanged;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
}
function resetPassword()
{
	var username = $('reset_username').value;
	var email = $('reset_email').value;

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/browse_signup.php?reset_username="+username+"&reset_email="+email;
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	
	if(xmlhttp.responseText == "success")
	{
		$('reset_success').appear();
	}
	else if(xmlhttp.responseText == "failed")
	{
		if($('reset_error').style.display == 'block')
		{
			$('reset_error').fade();
			setTimeout("$('reset_error').style.display = 'none'", 850);
			setTimeout("$('reset_failed').appear()", 850);
			setTimeout("$('reset_failed').style.display = 'block'", 1700);
		}
		else
		{
			$('reset_failed').appear();
			setTimeout("$('reset_failed').style.display = 'block'", 850);
		}
	}
	else if(xmlhttp.responseText == "error")
	{
		if($('reset_failed').style.display == 'block')
		{
			$('reset_failed').fade();
			setTimeout("$('reset_failed').style.display = 'none'", 850);
			setTimeout("$('reset_error').appear()", 850);
			setTimeout("$('reset_error').style.display = 'block'", 1700);
		}
		else
		{
			$('reset_error').appear();
			setTimeout("$('reset_error').style.display = 'block'", 850);
		}
	}
}
function addBrowselist()
{
	var browselistname = $('new_browselist_name').value;

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/browselist_names.php?add_browselist="+browselistname;
	xmlhttp.onreadystatechange=addBrowselistStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
function browselistEval()
{
	var browselistname = $('new_browselist_name').value;
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/new_browselist.php?browselist_eval="+browselistname;
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
	
	if(browselistname == "" || browselistname == "Enter your browselist name")
	{
		displayBrowselistError('');
		return false;
	}
	else if(xmlhttp.responseText == "large")
	{
		displayBrowselistError('large');
		return false;
	}
	else if(xmlhttp.responseText == "duplicate")
	{
		displayBrowselistError('duplicate');
		return false;
	}
	else if(xmlhttp.responseText == "nonascii")
	{
		displayBrowselistError('nonascii');
		return false;
	}
	else if(xmlhttp.responseText == "ok")
	{
		displayBrowselistError('');
		return true;
	}
}
function openBrowselist(highlight, browselistname)
{
	currenttab = 'browselist';
	currentbrowselist = browselistname;
	highlightbrowselist = highlight; // id of the browselist div that should be highlighted
	currenthash = '';
	changinghash = true;
	
	if(browselistarray.length == 0)
	{
		browselistarray[0][0]=browselistname;
		browselistarray[0][1]='';
		browselistarray[0][2]='initial';
		browselistarray[0][3]='results';
		browselistarray[0][4]='';
		browselistarray[0][5]='search';
		browselistarray[0][6]='';
	}

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	var url = "/browselist_content.php?browselist_name="+browselistname+"&content_height="+getContentHeight();
	
	for(var i=0; i < browselistarray.length; i++)
	{
		if(browselistarray[i][0] == browselistname)
		{
			if(browselistarray[i][1] != '')
			{
				var resourcesplit = browselistarray[i][1].split("/");
				if(resourcesplit.length >= 3)
				{
					url+="&browse_artist="+resourcesplit[2];
				}
				if(resourcesplit.length >= 4)
				{
					url+="&browse_song="+resourcesplit[3];
				}
				if(resourcesplit.length >= 5)
				{
					url+="&browse_file="+resourcesplit[4];
				}
			}
			break;
		}
		else if( (i+1) == browselistarray.length)
		{
			browselistarray[i+1]=new Array();
			browselistarray[i+1][0]=browselistname;
			browselistarray[i+1][1]='';
			browselistarray[i+1][2]='initial';
			browselistarray[i+1][3]='results';
			browselistarray[i+1][4]='';
			browselistarray[i+1][5]='search';
			browselistarray[i+1][6]='';
		}
	}
	xmlhttp.onreadystatechange=openTabStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
function addToBrowselist(browselistid, resource)
{
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	var url = "/browselist_content.php?add_browselist="+browselistid+"&add_resource="+resource+"&content_height="+getContentHeight();
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);
}
function reorderBrowslist(resources)
{
	var browselistid = $('hidden_browselist_id').className;

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	/*var url = "/browselist_content.php?reorder_browselistid="+browselistid+"&reorder_resources="+resources;
	alert(url);
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);*/
	
	var url="/browselist_content.php";
	var params="reorder_browselistid="+browselistid+"&reorder_resources="+resources;
	
	//alert('browselistid='+browselistid+', resources='+resources);

	xmlhttp.open("POST", url, false);

    //Send the proper header information along with the request
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.send(params);
}
function deleteFromBrowselist(browselist, resource)
{
	deletedcontent = resource;

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	var url = "/browselist_content.php?delete_browselist="+browselist+"&delete_resource="+resource+"&content_height="+getContentHeight();
	xmlhttp.onreadystatechange=deleteContentStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
function deleteBrowselist(browselist)
{
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	var url = "/browselist_names.php?delete_browselist="+browselist;
	xmlhttp.onreadystatechange=deletedBrowselistContentStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
function uploadLogin()
{
	var username = $('login_username').value;
	var password = $('black_password_input').value;
	
	if(document.loginform.memberremember.checked)
	{
		var remember = 1;
	}
	else
	{
		var remember = 0;
	}
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/member_links.php?username="+username+"&password="+password+"&remember="+remember;
	xmlhttp.onreadystatechange=uploadLoginStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	
	// refresh browselists after the user has logged in
	xmlhttptwo=GetXmlHttpObject();
	if (xmlhttptwo==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/browselist_names.php?username="+username+"&password="+password;
	xmlhttptwo.onreadystatechange=browselistsStateChanged;
	xmlhttptwo.open("GET",url,true);
	xmlhttptwo.send(null);	
}
function checkDBForArtist()
{
	var artist = $('artist_upload').value;
	
	if(artist == "" || artist == "Artist")
	{
		return;
	}
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/UserUpload.php?check_artist="+artist;
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);	
	
	if(xmlhttp.responseText == "true")
	{
		$('artist_exists').style.display = 'block';
		$('artist_doesnt_exist').style.display = 'none';
	}
	else if(xmlhttp.responseText == "false")
	{
		$('artist_exists').style.display = 'none';
		$('artist_doesnt_exist').style.display = 'block';
	}
}
function checkDBForSong()
{
	var artist = $('artist_upload').value;
	var song = $('song_upload').value;

	if(artist == "" || artist == "Artist" || song == "" || song == "Song")
	{
		return;
	}
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	var url="/UserUpload.php?check_artist="+artist+"&check_song="+song;
	xmlhttp.open("GET",url,false);
	xmlhttp.send(null);	
	
	if(xmlhttp.responseText == "true")
	{
		$('song_exists').style.display = 'block';
		$('song_doesnt_exist').style.display = 'none';
	}
	else if(xmlhttp.responseText == "false")
	{
		$('song_exists').style.display = 'none';
		$('song_doesnt_exist').style.display = 'block';
	}
}
function evalTab()
{
	var error = false;

	var artist = $('artist_upload').value;
	var song = $('song_upload').value;
	var tab = $('tab_upload').value;
	
	if(artist == "" || artist == "Artist")
	{
		error = true;
	}
	if(song == "" || song == "Song")
	{
		error = true;
	}
	if(tab == "")
	{
		error = true;
	}
	if(error) // Don't send these params to get evaluated if they are empty
	{
		return false;
	}
	
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	var url="/UserUpload.php";
	var params = "eval_artist="+artist+"&eval_song="+song+"&eval_tab="+tab;

	xmlhttp.open("POST", url, false);

    //Send the proper header information along with the request
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");
    xmlhttp.send(params);

	if(xmlhttp.responseText == "artist-song-tab")
	{
		$('artist_upload').style.backgroundColor = '#F75D59';
		$('song_upload').style.backgroundColor = '#F75D59';
		$('tab_upload').style.backgroundColor = '#F75D59';
		error = true;
	}
	else if(xmlhttp.responseText == "artist-song")
	{
		$('artist_upload').style.backgroundColor = '#F75D59';
		$('song_upload').style.backgroundColor = '#F75D59';
		error = true;
	}
	else if(xmlhttp.responseText == "artist-tab")
	{
		$('artist_upload').style.backgroundColor = '#F75D59';
		$('tab_upload').style.backgroundColor = '#F75D59';
		error = true;
	}
	else if(xmlhttp.responseText == "song-tab")
	{
		$('song_upload').style.backgroundColor = '#F75D59';
		$('tab_upload').style.backgroundColor = '#F75D59';
		error = true;
	}
	else if(xmlhttp.responseText == "artist")
	{
		$('artist_upload').style.backgroundColor = '#F75D59';
		error = true;
	}
	else if(xmlhttp.responseText == "song")
	{
		$('song_upload').style.backgroundColor = '#F75D59';
		error = true;
	}
	else if(xmlhttp.responseText == "tab")
	{
		$('tab_upload').style.backgroundColor = '#F75D59';
		error = true;
	}
	else if(xmlhttp.responseText == "none")
	{
		uploadTab();
	}
	
	if(error)
	{
		return false;
	}
}
function uploadTab()
{
	var artist = $('artist_upload').value;
	var song = $('song_upload').value;
	var instrument = $('instrument_upload').value;
	
	if($('custom_tuning').style.display == 'none')
	{
		var tuning = $('tuning_upload').value;
	}
	else
	{
		var tuning = $('string_six').value+"-"+$('string_five').value+"-"+$('string_four').value+"-"+$('string_three').value+"-"+$('string_two').value+"-"+$('string_one').value;
	}
	
	var portion = $('portion_upload').value;
	var tab = $('tab_upload').value;
	
	xmlhttptwo=GetXmlHttpObject();
	if (xmlhttptwo==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	var url="/UserUpload.php";
	var params = "artist_upload="+artist+"&song_upload="+song+"&instrument_upload="+instrument+"&tuning_upload="+tuning+"&portion_upload="+portion+"&tab_upload="+tab;

	xmlhttptwo.onreadystatechange=tabUploadStateChanged;
	xmlhttptwo.open("POST", url, true);

    //Send the proper header information along with the request
    xmlhttptwo.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttptwo.setRequestHeader("Content-length", params.length);
    xmlhttptwo.setRequestHeader("Connection", "close");
    xmlhttptwo.send(params);
}
function searchYouTube()
{
	var search = $('youtube_input').value;
	
	if(currenttab == 'popular')
	{
		popularcontainer.uservideostate = 'results';
		popularcontainer.uservideoinput = search;
	}
	else if(currenttab == 'recent')
	{
		recentcontainer.uservideostate = 'results';
		recentcontainer.uservideoinput = search;
	}
	else if(currenttab == 'browse')
	{
		browsecontainer.uservideostate = 'results';
		browsecontainer.uservideoinput = search;
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				browselistarray[i][5] = 'results';
				browselistarray[i][6] = search;
			}
		}
	}
	
	if(search != "Search YouTube")
	{
		xmlhttp=GetXmlHttpObject();
		if (xmlhttp==null)
		{
			alert ("Your browser does not support XMLHTTP!");
			return;
		}
		
		var url = "/youtube_functionality.php?youtube_search="+search;
		xmlhttp.onreadystatechange=youtubeSearchStateChanged;
		xmlhttp.open("GET",url,true);
		xmlhttp.send(null);
	}
}
function playYouTubeVideo(index, search)
{
	if(currenttab == 'popular')
	{
		popularcontainer.uservideostate = 'video';
		popularcontainer.uservideoinput = index+'-'+search;
	}
	else if(currenttab == 'recent')
	{
		recentcontainer.uservideostate = 'video';
		recentcontainer.uservideoinput = index+'-'+search;
	}
	else if(currenttab == 'browse')
	{
		browsecontainer.uservideostate = 'video';
		browsecontainer.uservideoinput = index+'-'+search;
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				browselistarray[i][5] = 'video';
				browselistarray[i][6] = index+'-'+search;
			}
		}
	}

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	var url = "/youtube_functionality.php?youtube_index="+index+"&youtube_search="+search+"&youtube_type=user";
	xmlhttp.onreadystatechange=youtubeVideoStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
function playInitialYouTubeVideo(index, search)
{
	if(currenttab == 'popular')
	{
		popularcontainer.initialvideostate = 'video';
		popularcontainer.initialvideoinput = index+'-'+search;
	}
	else if(currenttab == 'recent')
	{
		recentcontainer.initialvideostate = 'video';
		recentcontainer.initialvideoinput = index+'-'+search;
	}
	else if(currenttab == 'browse')
	{
		browsecontainer.initialvideostate = 'video';
		browsecontainer.initialvideoinput = index+'-'+search;
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				browselistarray[i][3] = 'video';
				browselistarray[i][4] = index+'-'+search;
			}
		}
	}

	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	var url = "/youtube_functionality.php?youtube_index="+index+"&youtube_search="+search+"&youtube_type=initial";
	xmlhttp.onreadystatechange=initialYoutubeVideoStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}
function loadYouTube()
{
	var youtubestring = '';

	if(currenttab == 'popular')
	{
		youtubestring=popularartist+'/'+popularsong;
	}
	else if(currenttab == 'recent')
	{
		youtubestring=recentartist+'/'+recentsong;
	}
	else if(currenttab == 'browse')
	{
		youtubestring=browseartist+'/'+browsesong;
	}
	else if(currenttab == 'browselist')
	{
		// TBD
	}

	xmlhttptwo=GetXmlHttpObject();
	if (xmlhttptwo==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	var url = "/youtube_functionality.php?youtube_string="+youtubestring;
	
	if(currenttab == 'popular')
	{
		if(popularcontainer.overallvideostate == 'initial' && popularcontainer.initialvideostate == 'results')
		{
			if(popularcontainer.uservideostate == 'results')
			{
				url+="&alt_youtube_state=user_results&alt_youtube_input="+popularcontainer.uservideoinput;
			}
			else if(popularcontainer.uservideostate == 'video')
			{
				url+="&alt_youtube_state=user_video&alt_youtube_input="+popularcontainer.uservideoinput;
			}
		}
		else if(popularcontainer.overallvideostate == 'initial' && popularcontainer.initialvideostate == 'video')
		{
			url+="&youtube_state=initial_video&youtube_input="+popularcontainer.initialvideoinput+"&youtube_type=initial";
			if(popularcontainer.uservideostate == 'results')
			{
				url+="&alt_youtube_state=user_results&alt_youtube_input="+popularcontainer.uservideoinput;
			}
			else if(popularcontainer.uservideostate == 'video')
			{
				url+="&alt_youtube_state=user_video&alt_youtube_input="+popularcontainer.uservideoinput;
			}
		}
		else if(popularcontainer.overallvideostate == 'user' && popularcontainer.uservideostate == 'search')
		{
			url+="&youtube_state=user_search";
			if(popularcontainer.initialvideostate == 'video')
			{
				url+="&alt_youtube_state=initial_video&alt_youtube_input="+popularcontainer.initialvideoinput;
			}
		}
		else if(popularcontainer.overallvideostate == 'user' && popularcontainer.uservideostate == 'results')
		{
			url+="&youtube_state=user_results&youtube_input="+popularcontainer.uservideoinput;
			if(popularcontainer.initialvideostate == 'video')
			{
				url+="&alt_youtube_state=initial_video&alt_youtube_input="+popularcontainer.initialvideoinput;
			}
		}
		else if(popularcontainer.overallvideostate == 'user' && popularcontainer.uservideostate == 'video')
		{
			url+="&youtube_state=user_video&youtube_input="+popularcontainer.uservideoinput+"&youtube_type=user";
			if(popularcontainer.initialvideostate == 'video')
			{
				url+="&alt_youtube_state=initial_video&alt_youtube_input="+popularcontainer.initialvideoinput;
			}
		}
	}
	else if(currenttab == 'recent')
	{
		if(recentcontainer.overallvideostate == 'initial' && recentcontainer.initialvideostate == 'results')
		{
			if(recentcontainer.uservideostate == 'results')
			{
				url+="&alt_youtube_state=user_results&alt_youtube_input="+recentcontainer.uservideoinput;
			}
			else if(recentcontainer.uservideostate == 'video')
			{
				url+="&alt_youtube_state=user_video&alt_youtube_input="+recentcontainer.uservideoinput;
			}
		}
		else if(recentcontainer.overallvideostate == 'initial' && recentcontainer.initialvideostate == 'video')
		{
			url+="&youtube_state=initial_video&youtube_input="+recentcontainer.initialvideoinput+"&youtube_type=initial";
			if(recentcontainer.uservideostate == 'results')
			{
				url+="&alt_youtube_state=user_results&alt_youtube_input="+recentcontainer.uservideoinput;
			}
			else if(recentcontainer.uservideostate == 'video')
			{
				url+="&alt_youtube_state=user_video&alt_youtube_input="+recentcontainer.uservideoinput;
			}
		}
		else if(recentcontainer.overallvideostate == 'user' && recentcontainer.uservideostate == 'search')
		{
			url+="&youtube_state=user_search";
			if(recentcontainer.initialvideostate == 'video')
			{
				url+="&alt_youtube_state=initial_video&alt_youtube_input="+recentcontainer.initialvideoinput;
			}
		}
		else if(recentcontainer.overallvideostate == 'user' && recentcontainer.uservideostate == 'results')
		{
			url+="&youtube_state=user_results&youtube_input="+recentcontainer.uservideoinput;
			if(recentcontainer.initialvideostate == 'video')
			{
				url+="&alt_youtube_state=initial_video&alt_youtube_input="+recentcontainer.initialvideoinput;
			}
		}
		else if(recentcontainer.overallvideostate == 'user' && recentcontainer.uservideostate == 'video')
		{
			url+="&youtube_state=user_video&youtube_input="+recentcontainer.uservideoinput+"&youtube_type=user";
			if(recentcontainer.initialvideostate == 'video')
			{
				url+="&alt_youtube_state=initial_video&alt_youtube_input="+recentcontainer.initialvideoinput;
			}
		}
	}
	else if(currenttab == 'browse')
	{
		if(browsecontainer.overallvideostate == 'initial' && browsecontainer.initialvideostate == 'results')
		{
			if(browsecontainer.uservideostate == 'results')
			{
				url+="&alt_youtube_state=user_results&alt_youtube_input="+browsecontainer.uservideoinput;
			}
			else if(browsecontainer.uservideostate == 'video')
			{
				url+="&alt_youtube_state=user_video&alt_youtube_input="+browsecontainer.uservideoinput;
			}
		}
		else if(browsecontainer.overallvideostate == 'initial' && browsecontainer.initialvideostate == 'video')
		{
			url+="&youtube_state=initial_video&youtube_input="+browsecontainer.initialvideoinput+"&youtube_type=initial";
			if(browsecontainer.uservideostate == 'results')
			{
				url+="&alt_youtube_state=user_results&alt_youtube_input="+browsecontainer.uservideoinput;
			}
			else if(browsecontainer.uservideostate == 'video')
			{
				url+="&alt_youtube_state=user_video&alt_youtube_input="+browsecontainer.uservideoinput;
			}
		}
		else if(browsecontainer.overallvideostate == 'user' && browsecontainer.uservideostate == 'search')
		{
			url+="&youtube_state=user_search";
			if(browsecontainer.initialvideostate == 'video')
			{
				url+="&alt_youtube_state=initial_video&alt_youtube_input="+browsecontainer.initialvideoinput;
			}
		}
		else if(browsecontainer.overallvideostate == 'user' && browsecontainer.uservideostate == 'results')
		{
			url+="&youtube_state=user_results&youtube_input="+browsecontainer.uservideoinput;
			if(browsecontainer.initialvideostate == 'video')
			{
				url+="&alt_youtube_state=initial_video&alt_youtube_input="+browsecontainer.initialvideoinput;
			}
		}
		else if(browsecontainer.overallvideostate == 'user' && browsecontainer.uservideostate == 'video')
		{
			url+="&youtube_state=user_video&youtube_input="+browsecontainer.uservideoinput+"&youtube_type=user";
			if(browsecontainer.initialvideostate == 'video')
			{
				url+="&alt_youtube_state=initial_video&alt_youtube_input="+browsecontainer.initialvideoinput;
			}
		}
	}
	else if(currenttab == 'browselist')
	{
		// TBD
	}

	xmlhttptwo.onreadystatechange=loadYouTubeStateChanged;
	xmlhttptwo.open("GET",url,true);
	xmlhttptwo.send(null);
}
function rateTab(rating, resourceid)
{
	xmlhttp=GetXmlHttpObject();
	if (xmlhttp==null)
	{
		alert ("Your browser does not support XMLHTTP!");
		return;
	}
	
	var url = "/browse_rating.php?rating="+rating+"&resource="+resourceid;
	xmlhttp.onreadystatechange=ratingStateChanged;
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
}

//////////////////// State changed functions \\\\\\\\\\\\\\\\\\\\\
function browseStateChanged()
{
	if (xmlhttp.readyState==4)
	{
		changeTitle();
	
		// If the page has not just be loaded then the hash will need to be updated on the completetion of the ajax
		if(window.location.hash != currenthash)
		{
			window.location.hash = currenthash;
		}
	
		$('browse').innerHTML = xmlhttp.responseText;
		addscript();
		bindThickBoxEvents();
		
		// Set all links to white
		$('popular_link').style.backgroundColor = '#ffffff';
		$('recent_link').style.backgroundColor = '#ffffff';
		$('browse_link').style.backgroundColor = '#ffffff';
		$('search_link').style.backgroundColor = '#ffffff';
		var length = $('hidden_browselist').value;
		for(var i=0; i < length; i++)
		{
			$('droppable_'+i+'').style.backgroundColor = '#ffffff';
		}
		
		if(currenttab == 'popular')
		{
			$('popular_link').style.backgroundColor = '#82CAFF';
			popularcontainer.overallvideostate = 'initial';
		}
		else if(currenttab == 'recent')
		{
			$('recent_link').style.backgroundColor = '#82CAFF';
			recentcontainer.overallvideostate = 'initial';
		}
		else if(currenttab == 'browse')
		{
			$('browse_link').style.backgroundColor = '#82CAFF';
			browsecontainer.overallvideostate = 'initial';
		}
		else if(currenttab == 'search')
		{
			$('search_link').style.backgroundColor = '#82CAFF';
		}
		else if(currenttab == 'browselist')
		{
			$('droppable_'+highlightbrowselist+'').style.backgroundColor = '#82CAFF';
		}
		
		if((currenttab == 'popular' && popularfile != "")
			|| (currenttab == 'recent' && recentfile != "")
			|| (currenttab == 'browse' && browsefile != ""))
		{
			$('tab_display_container').appear();
			setTimeout("$('tab_display_container').style.display = 'block'", 850);
			setTimeout("loadYouTube()", 850);
		}
		
		changinghash = false;
	}
	else
	{
		$('browse_loading').style.display = "block";
	}
}
function openTabStateChanged()
{
	if (xmlhttp.readyState==4)
	{
		changeTitle();
	
		// If the page has not just be loaded then the hash will need to be updated on the completetion of the ajax
		if(window.location.hash != currenthash)
		{
			window.location.hash = currenthash;
		}
	
		// Set all links to white
		$('popular_link').style.backgroundColor = '#ffffff';
		$('recent_link').style.backgroundColor = '#ffffff';
		$('browse_link').style.backgroundColor = '#ffffff';
		$('search_link').style.backgroundColor = '#ffffff';
		var length = $('hidden_browselist').value;
		for(var i=0; i < length; i++)
		{
			$('droppable_'+i+'').style.backgroundColor = '#ffffff';
		}
		
		$('browse').innerHTML = xmlhttp.responseText;
		
		if(currenttab == 'popular')
		{
			$('popular_link').style.backgroundColor = '#82CAFF';
			
			if(popularfile != "")
			{
				loadYouTube();
			}
		}
		else if(currenttab == 'recent')
		{
			$('recent_link').style.backgroundColor = '#82CAFF';
			
			if(recentfile != "")
			{
				loadYouTube();
			}
		}
		else if(currenttab == 'browse')
		{
			$('browse_link').style.backgroundColor = '#82CAFF';
			
			if(browsefile != "")
			{
				loadYouTube();
			}
		}
		else if(currenttab == 'search')
		{
			$('search_link').style.backgroundColor = '#82CAFF';
		}
		else if(currenttab == 'browselist')
		{
			$('droppable_'+highlightbrowselist+'').style.backgroundColor = '#82CAFF';
		}
		
		// If the search tab is openned through the margin links then mark that a search has happened and make the search tab appear
		if(!searched && currenttab == 'search')
		{
			searched = true;
			$('search_tab').appear();
		}
		
		addscript();
		bindThickBoxEvents();
		
		changinghash = false;
	}
	else
	{
		$('browse_loading').style.display = 'block';
	}
}
function keyUpStateChanged()
{
	if (xmlhttp.readyState==4)
	{
		$('table_contents').innerHTML = xmlhttp.responseText;
		addscript();
		bindThickBoxEvents();
	}
}
function keyUpResultsStateChanged()
{
	if (xmlhttptwo.readyState==4)
	{
		$('result_numbers').innerHTML = xmlhttptwo.responseText;
	}
}
function searchStateChanged()
{
	if (xmlhttp.readyState==4)
	{
		window.location.hash = currenthash;
	
		/*if($('browse_search_loading').style.display == 'block')
		{
			$('browse_search_loading').style.display = 'none';
		}*/
		if($('header_search_loading').style.display == 'block')
		{
			$('header_search_loading').style.display = 'none';
		}

		// Set all links to white
		$('popular_link').style.backgroundColor = '#ffffff';
		$('recent_link').style.backgroundColor = '#ffffff';
		$('browse_link').style.backgroundColor = '#ffffff';
		$('search_link').style.backgroundColor = '#ffffff';
		var length = $('hidden_browselist').value;
		for(var i=0; i < length; i++)
		{
			$('droppable_'+i+'').style.backgroundColor = '#ffffff';
		}
		
		$('search_link').style.backgroundColor = '#82CAFF';
		
		$('browse').innerHTML = xmlhttp.responseText;
		
		if(!searched)
		{
			$('search_tab').appear();
		}
		
		// Change all of these dow here to allow for the differentiation between the two loading divs
		currenttab = 'search';
		
		changeTitle();
		
		decided = true;
		searched = true;
		
		$('header_search_input').value = "Search for a tab";
		searchsearch = ''; // Always clear this out when a new search has been performed
		addscript();
		bindThickBoxEvents();
		
		changinghash = false;
	}
	else
	{
		$('browse_loading').style.display = 'block';
	}
}
function fileStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		changeTitle();
	
		$('browse_loading').style.display="none";
		$('tab_display_container').appear();
		$('file_contents').innerHTML = xmlhttp.responseText;
		setTimeout("$('tab_display_container').style.display = 'block'", 850);
	
		var jsEl = document.createElement('script'); 
		jsEl.type = 'text/javascript'; 
		jsEl.src = "http://s7.addthis.com/js/250/addthis_widget.js#username=xa-4c3c6e92379fd100";
		
		/*$('tab_display_container').appear();
		$('file_content').innerHTML = xmlhttp.responseText;
		$('browse_loading').style.display="none";
		setTimeout("$('tab_display_container').style.display = 'block'", 850);
	
		/*new Effect.Parallel([
			new Effect.Move('tab_display', { x: 0, y: 0, mode: 'absolute' }),
			new Effect.Appear('tab_display', {  })
		], { duration: 0.75 }
		);*/
	}
	else
	{
		$('browse_loading').style.display = "block";
	}
}
function loginStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		window.top.tb_remove();
		if($('user_links_one').style.display == 'block')
		{
			$('user_links_one').innerHTML = xmlhttp.responseText;
		}
		else
		{
			$('user_links_two').innerHTML = xmlhttp.responseText;
		}
		bindThickBoxEvents();
		addscript();
	}
	else
	{
		$('login_loading').style.display='block';
	}
}
function logoutStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		if($('user_links_one').style.display == 'block')
		{
			$('user_links_one').fade();
			setTimeout("$('user_links_one').style.display = 'none'", 850);
			setTimeout("$('user_links_two').appear()", 850);
			setTimeout("$('user_links_two').style.display = 'block'", 1700);
			setTimeout("$('user_links_two').innerHTML = xmlhttp.responseText", 850);
		}
		else
		{
			$('user_links_two').fade();
			setTimeout("$('user_links_two').style.display = 'none'", 850);
			setTimeout("$('user_links_one').appear()", 850);
			setTimeout("$('user_links_one').style.display = 'block'", 1700);
			setTimeout("$('user_links_one').innerHTML = xmlhttp.responseText", 850);
		}
		
		setTimeout("bindThickBoxEvents()", 900);
		setTimeout("addscript()", 900);
	}
	else
	{
		$('logout_loading').style.display = 'block';
	}
}
function signupStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		setTimeout("$('signup_refresh').innerHTML = xmlhttp.responseText", 500);
		
		/*var jsEl = document.createElement('script'); 
		jsEl.type = 'text/javascript'; 
		jsEl.src = "/scripts/signuptwo.js";
		document.body.appendChild(jsEl);*/
	}
	else
	{
		$('signup_loading').style.display = 'block';
	}
}
function browselistsStateChanged()
{
	if(xmlhttptwo.readyState==4)
	{
		$('browselists').innerHTML = xmlhttptwo.responseText;
		bindThickBoxEvents();
		addscript();
	}
	else
	{
		$('browselists_loading').style.display = 'block';
	}
}
function browselistLoginStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		$('login_loading').fade();
		if($('user_links_one').style.display == 'block')
		{
			$('user_links_one').innerHTML = xmlhttp.responseText;
		}
		else
		{
			$('user_links_two').innerHTML = xmlhttp.responseText;
		}

		$('member_login').fade();
		setTimeout("$('browselist_logged_in').appear()", 850);
		addscript();
		bindThickBoxEvents();
	}
	else
	{
		$('login_loading').style.display='block';
	}
}
function addBrowselistStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		window.top.tb_remove();
		$('browselists').innerHTML = xmlhttp.responseText;
		bindThickBoxEvents();
		addscript();
		
		// get the number of the div id thats been created then blind it down
		var browselistnum = $('hidden_browselist').value;
		browselistnum = browselistnum - 1;
		Effect.BlindDown('browselist_'+browselistnum+'', { duration: 1.0 });
	}
}
function exitBrowselistStateChanged()
{
	if(xmlhttpthree.readyState==4)
	{
		$('browse').innerHTML = xmlhttpthree.responseText;
	}
}
function deleteContentStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		$('browse_loading').style.display = 'none';
		Effect.BlindUp('item_'+deletedcontent+'', { duration: 1.0 });
		deletedcontent = '';
		setTimeout("$('browse').innerHTML = xmlhttp.responseText", 850);
		setTimeout("addscript()", 900);
	}
	else
	{
		$('browse_loading').style.display = 'block';
	}
}
function deletedBrowselistContentStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		window.top.tb_remove();
		setTimeout("$('browselists').innerHTML = xmlhttp.responseText", 250);
		setTimeout("bindThickBoxEvents()", 250);
		setTimeout("addscript()", 250);
		setTimeout("Effect.BlindUp('deleted_browselist', { duration: 1.0 })", 250);
	}
}
function uploadLoginStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		$('login_loading').fade();
		if($('user_links_one').style.display == 'block')
		{
			$('user_links_one').innerHTML = xmlhttp.responseText;
		}
		else
		{
			$('user_links_two').innerHTML = xmlhttp.responseText;
		}

		$('upload_login').fade();
		addscript();
		bindThickBoxEvents();
	}
	else
	{
		$('login_loading').style.display='block';
	}
}
function tabUploadStateChanged()
{
	if (xmlhttptwo.readyState == 4 && xmlhttp.status == 200) 
	{
		$('upload_success').appear();
	}
}
function youtubeSearchStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		if(currenttab == 'popular')
		{
			popularcontainer.uservideostate = 'results';
		}
		else if(currenttab == 'recent')
		{
			recentcontainer.uservideostate = 'results';
		}
		else if(currenttab == 'browse')
		{
			browsecontainer.uservideostate = 'results';
		}
		else if(currenttab == 'browselist')
		{
			// TBD
		}
	
		$('youtube_results_loading').style.display='none';
		$('another_youtube_search').appear();
		setTimeout("$('another_youtube_search').style.display='block'", 850);
		$('youtube_results').appear();
		new Effect.Morph('youtube_container', { 
			style: 'height: 168px;' 
		});
		new Effect.Morph('tab_contents', { 
			style: 'top: 193px; height: 407px;' 
		});
		new Effect.Morph('tab_overflow', {
			style: 'height: 355px;'
		});
		setTimeout("$('youtube_results').style.display='block'", 850);
		setTimeout("$('youtube_search').style.display='none'", 850);
		setTimeout("$('youtube_results').innerHTML = xmlhttp.responseText", 850);
		setTimeout("$('youtube_results').scrollLeft = 0", 850);
		setTimeout("$('youtube_state').innerHTML = $('youtube_results_title').value", 850);
	}
	else
	{
		$('youtube_results_loading').style.display='block';
	}
}
function youtubeVideoStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		if(currenttab == 'popular')
		{
			popularcontainer.uservideostate = 'video';
		}
		else if(currenttab == 'recent')
		{
			recentcontainer.uservideostate = 'video';
		}
		else if(currenttab == 'browse')
		{
			browsecontainer.uservideostate = 'video';
		}
		else if(currenttab == 'browselist')
		{
			for(var i=0; i < browselistarray.length; i++)
			{
				if(browselistarray[i][0] == currentbrowselist)
				{
					browselistarray[i][5] = 'video';
				}
			}
		}
	
		$('youtube_video_loading').style.display='none';
		$('youtube_search_results').appear();
		setTimeout("$('youtube_search_results').style.display='block'", 850);
		$('youtube_results').fade();
		setTimeout("$('youtube_results').style.display='none'", 900);
		setTimeout("$('youtube_video').appear()", 900);
		setTimeout("$('youtube_video').style.display='block'", 1750);
		setTimeout("$('youtube_video').innerHTML = xmlhttp.responseText", 900);
		setTimeout("$('youtube_state').innerHTML = $('user_youtube_video_title').value", 900);
		setTimeout("new Effect.Morph('youtube_container', { style: 'height: 300px;' })", 900);
		setTimeout("new Effect.Morph('tab_contents', { style: 'top: 325px; height: 277px;' })", 900);
		setTimeout("new Effect.Morph('tab_overflow', { style: 'height: 226px;' })", 900);
	}
	else
	{
		$('youtube_video_loading').style.display='block';
	}
}
function initialYoutubeVideoStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		if(currenttab == 'popular')
		{
			popularcontainer.initialvideostate = 'video';
		}
		else if(currenttab == 'recent')
		{
			recentcontainer.initialvideostate = 'video';
		}
		else if(currenttab == 'browse')
		{
			browsecontainer.initialvideostate = 'video';
		}
		else if(currenttab == 'browselist')
		{
			for(var i=0; i < browselistarray.length; i++)
			{
				if(browselistarray[i][0] == currentbrowselist)
				{
					browselistarray[i][3] = 'video';
				}
			}
		}
	
		$('youtube_video_loading').style.display='none';
		$('youtube_initial_results').appear();
		setTimeout("$('youtube_initial_results').style.display='block'", 850);
		$('initial_youtube_results').fade();
		setTimeout("$('initial_youtube_results').style.display='none'", 850);
		setTimeout("$('initial_youtube_video').appear()", 850);
		setTimeout("$('initial_youtube_video').style.display='block'", 1700);
		setTimeout("$('initial_youtube_video').innerHTML = xmlhttp.responseText", 850);
		setTimeout("$('youtube_state').innerHTML = $('initial_youtube_video_title').value", 850);
		setTimeout("new Effect.Morph('youtube_container', { style: 'height: 300px;' })", 850);
		setTimeout("new Effect.Morph('tab_contents', { style: 'top: 325px; height: 277px;' })", 850);
		setTimeout("new Effect.Morph('tab_overflow', { style: 'height: 226px;' })", 850);
	}
	else
	{
		$('youtube_video_loading').style.display='block';
	}
}
function loadYouTubeStateChanged()
{
	if(xmlhttptwo.readyState==4)
	{
		$('delayed_youtube_loading').style.display = 'none';
		$('youtube_container').innerHTML = xmlhttptwo.responseText;
		
		if(currenttab == 'popular')
		{
			$('popular_link').style.backgroundColor = '#82CAFF';
			
			if(popularfile != "" && popularcontainer.overallvideostate == 'initial' && popularcontainer.initialvideostate == 'video')
			{
				$('youtube_state').innerHTML = $('initial_youtube_video_title').value;
			}
			else if(popularfile != "" && popularcontainer.overallvideostate == 'user' && popularcontainer.uservideostate == 'video')
			{
				$('youtube_state').innerHTML = $('user_youtube_video_title').value;
			}
		}
		else if(currenttab == 'recent')
		{
			$('recent_link').style.backgroundColor = '#82CAFF';
			
			if(recentfile != "" && recentcontainer.overallvideostate == 'initial' && recentcontainer.initialvideostate == 'video')
			{
				$('youtube_state').innerHTML = $('initial_youtube_video_title').value;
			}
			else if(recentfile != "" && recentcontainer.overallvideostate == 'user' && recentcontainer.uservideostate == 'video')
			{
				$('youtube_state').innerHTML = $('user_youtube_video_title').value;
			}
		}
		else if(currenttab == 'browse')
		{
			$('browse_link').style.backgroundColor = '#82CAFF';
			
			if(browsefile != "" && browsecontainer.overallvideostate == 'initial' && browsecontainer.initialvideostate == 'video')
			{
				$('youtube_state').innerHTML = $('initial_youtube_video_title').value;
			}
			else if(browsefile != "" && browsecontainer.overallvideostate == 'user' && browsecontainer.uservideostate == 'video')
			{
				$('youtube_state').innerHTML = $('user_youtube_video_title').value;
			}
		}
	}
	else
	{
		$('delayed_youtube_loading').style.display = 'block';
	}
}
function ratingStateChanged()
{
	if(xmlhttp.readyState==4)
	{
		$('tab_rating').innerHTML = xmlhttp.responseText;
	}
	else
	{
		$('tab_rating_loading').style.display = 'block';
	}
}

//////////////////// XML http object functions \\\\\\\\\\\\\\\\\\\\
function GetXmlHttpObject()
{
	if (window.XMLHttpRequest)
	{
		// code for IE7+, Firefox, Chrome, Opera, Safari
		return new XMLHttpRequest();
	}
	if (window.ActiveXObject)
	{
		// code for IE6, IE5
		return new ActiveXObject("Microsoft.XMLHTTP");
	}
	return null;
}

///////////////////// Bind scripts to the DOM \\\\\\\\\\\\\\\\\\\\
function addscript() { 
	var jsEl = document.createElement('script'); 
	jsEl.type = 'text/javascript'; 
	
	if(currenttab == 'browselist')
	{
		jsEl.src = "/scripts/sortablenine.js";
	}
	else
	{
		jsEl.src = "/scripts/thirtyfourtest.js";
	}
	
	document.body.appendChild(jsEl);
}
function resizecontentheight()
{
	var jsEl = document.createElement('script'); 
	jsEl.type = 'text/javascript'; 
	jsEl.src = "/scripts/onresizefour.js";
	document.body.appendChild(jsEl);
}

///////////////// onFocus, onBlur, and onKeyUp functions \\\\\\\\\\\\\\\\\\\
function onFocusResultsSearch(input)
{
	if(input.value == "Search these results")
	{
		input.value = "";
	}
}
function onBlurResultsSearch(input)
{
	if(input.value == "")
	{
		input.value = "Search these results";
	}
}
function onFocusAllSearch(input)
{
	if(input.value == "Search for a tab")
	{
		input.value = "";
	}
}
function onBlurAllSearch(input)
{
	if(input.value == "")
	{
		input.value = "Search for a tab";
	}
}
function onFocusBrowseSearch(input)
{
	if(input.value == "Search for a specific tab")
	{
		input.value = "";
	}
}
function onBlurBrowseSearch(input)
{
	if(input.value == "")
	{
		input.value = "Search for a specific tab";
	}
}
function onFocusUsername(input)
{
	if(input.value == "Username")
	{
		input.className = "black_input";
		input.value = "";
	}
}
function onBlurUsername(input)
{
	if(input.value == "")
	{
		input.className = "grey_input";
		input.value = "Username";
	}
}
function onFocusPassword(input)
{
	if(input.value == "Password")
	{
		input.style.display = 'none';
		$('black_password_input').style.display = 'block';
		setTimeout("$('black_password_input').focus()", 25);
	}
}
function onBlurPassword(input)
{
	if(input.value == "")
	{
		input.style.display = 'none';
		$('grey_password_input').style.display = 'block';
	}
}
function onFocusBrowselist(input)
{
	if(input.value == "Enter your browselist name")
	{
		input.value = "";
		input.className = "black_input";
	}
}
function onBlurBrowselist(input)
{
	if(input.value == '')
	{
		input.value = "Enter your browselist name";
		input.className = "grey_input";
	}
}
function onFocusArtist(input)
{
	if(input.value == 'Artist')
	{
		input.value = '';
		input.className = 'black_input';
	}
	else
	{
		input.style.backgroundColor = '#ffffff';
	}
}
function onBlurArtist(input)
{
	if(input.value == '')
	{
		input.value = 'Artist';
		input.className = 'grey_input';
	}
}
function onFocusSong(input)
{
	if(input.value == 'Song')
	{
		input.value = '';
		input.className = 'black_input';
	}
	else
	{
		input.style.backgroundColor = '#ffffff';
	}
}
function onBlurSong(input)
{
	if(input.value == '')
	{
		input.value = 'Song';
		input.className = 'grey_input';
	}
}
function onFocusTab(input)
{
	input.style.backgroundColor = '#ffffff';
}
function onFocusSignUpUsername(input)
{
	if(input.value == 'Desired Username')
	{
		input.className = 'black_input';
		input.value = '';
	}
}
function onBlurSignUpUsername(input)
{
	if(input.value == '')
	{
		input.className = 'grey_input';
		input.value = 'Desired Username';
	}
}
function onFocusSignUpPassword()
{
	$('signup_password_block').style.display = 'none';
	$('signup_password_none').style.display = 'block';
	setTimeout("$('signup_password_none').focus()", 25);
}
function onBlurSignUpPassword(input)
{
	if(input.value == '')
	{
		$('signup_password_none').style.display = 'none';
		$('signup_password_block').style.display = 'block';
	}
}
function onFocusSignUpConfirm()
{
	$('signup_confirm_block').style.display = 'none';
	$('signup_confirm_none').style.display = 'block';
	setTimeout("$('signup_confirm_none').focus()", 25);
}
function onBlurSignUpConfirm(input)
{
	if(input.value == '')
	{
		$('signup_confirm_none').style.display = 'none';
		$('signup_confirm_block').style.display = 'block';
	}
}
function onFocusEmail(input)
{
	if(input.value == 'Your email')
	{
		input.className = 'black_input';
		input.value = '';
	}
}
function onBlurEmail(input)
{
	if(input.value == '')
	{
		input.className = 'grey_input';
		input.value = 'Your email';
	}
}
function onFocusAnswer(input)
{
	if(input.value == 'Security question answer')
	{
		input.className = 'black_input';
		input.value = '';
	}
}
function onBlurAnswer(input)
{
	if(input.value == '')
	{
		input.className = 'grey_input';
		input.value = 'Security question answer';
	}
}
function onFocusResetEmail(input)
{
	if(input.value == 'Your email')
	{
		input.className = 'black_input';
		input.value = '';
	}
}
function onBlurResetEmail(input)
{
	if(input.value == '')
	{
		input.className = 'grey_input';
		input.value = 'Your email';
	}
}
function onFocusYouTubeSearch(input)
{
	if(input.value == 'Search YouTube')
	{
		input.className = 'black_input';
		input.value = '';
	}
}
function onBlurYouTubeSearch(input)
{
	if(input.value == '')
	{
		input.className = 'grey_input';
		input.value = 'Search YouTube';
	}
}

///////////////////// Browse versus search functions \\\\\\\\\\\\\\\\\\\\\\\\\\
function choseBrowse()
{
	$('browse_vs_search').fade();
	decided = true;
}

/////////////////////// Get slider height \\\\\\\\\\\\\\\\\\\\\\\\\\\\
function getContentHeight()
{
	var browseheader = $('browse_header').offsetHeight;
	var tabcontainer = $('tab_container').offsetHeight;
	var margin = $('margin').offsetHeight;
	var overflowsize = margin - ( browseheader + tabcontainer + 18 );
	var contentheight = (overflowsize - 3)+'px'; // Adjust them a little bit to account for the border
	
	return contentheight;
}

///////////////////////// Tab display functions \\\\\\\\\\\\\\\\\\\\\\\
function closeTab()
{
	$('tab_display_container').fade();
	setTimeout("$('tab_display_container').style.display='none'", 850);
	
	if(currenttab == 'popular')
	{
		popularartist = '';
		popularsong = '';
		popularfile = '';
		currenthash = '#/popular/';
		window.location.hash = currenthash;
	}
	else if(currenttab == 'recent')
	{
		recentartist = '';
		recentsong = '';
		recentfile = '';
		currenthash = '#/recent/';
		window.location.hash = currenthash;
	}
	else if(currenttab == 'browse')
	{
		browsefile = '';
		currenthash = '#/browse/'+browseartist+'/'+browsesong+'/';
		window.location.hash = currenthash;
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i< browselistarray.length; i++)
		{
			if(browselistarray[i][0]==currentbrowselist)
			{
				browselistarray[i][1]='';
			}
		}
	}
	
	changeTitle();
}
function openPrintWindow(resourceid)
{
    w = open('/print/?rid='+resourceid+'','Print Tab','width=1000,height=500,location=1,directories=1,status=1,menubar=1,scrollbars=1,resizable=1');
}
function openYouTube()
{
	if(currenttab == 'popular' && popularcontainer.overallvideostate == 'closed')
	{
		popularcontainer.overallvideostate = popularcontainer.previousvideostate;
		popularcontainer.previousvideostate = 'closed';
	}
	else if(currenttab == 'recent' && recentcontainer.overallvideostate == 'closed')
	{
		recentcontainer.overallvideostate = recentcontainer.previousvideostate;
		recentcontainer.previousvideostate = 'closed';
	}
	else if(currenttab == 'browse' && browsecontainer.overallstate == 'closed')
	{
		browsecontainer.overallvideostate = browsecontainer.previousvideostate;
		browsecontainer.previousvideostate = 'closed';
	}
	else if(currenttab == 'browselist')
	{
		// TBD
	}

	if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'user' && popularcontainer.uservideostate == 'search')
		|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'user' && recentcontainer.uservideostate == 'search')
		|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'user' && browsecontainer.uservideostate == 'search') )
	{
		$('open_youtube_search').fade();
		setTimeout("$('open_youtube_search').style.display='none'", 850);
		setTimeout("$('toggle_user_youtube').appear()", 850);
		setTimeout("$('toggle_user_youtube').style.display='block'", 1700);
		openUserYouTubeSearch();
	}
	else if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'user' && popularcontainer.uservideostate == 'results')
		|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'user' && recentcontainer.uservideostate == 'results')
		|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'user' && browsecontainer.uservideostate == 'results') )
	{
		$('open_youtube_search').fade();
		setTimeout("$('open_youtube_search').style.display='none'", 850);
		setTimeout("$('toggle_user_youtube').appear()", 850);
		setTimeout("$('toggle_user_youtube').style.display='block'", 1700);;
		openUserYouTubeResults();
	}
	else if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'user' && popularcontainer.uservideostate == 'video')
		|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'user' && recentcontainer.uservideostate == 'video')
		|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'user' && browsecontainer.uservideostate == 'video') )
	{
		$('open_youtube_search').fade();
		setTimeout("$('open_youtube_search').style.display='none'", 850);
		setTimeout("$('toggle_user_youtube').appear()", 850);
		setTimeout("$('toggle_user_youtube').style.display='block'", 1700);
		openUserYouTubeVideo();
	}
	else if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'initial' && popularcontainer.initialvideostate == 'results')
		|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'initial' && recentcontainer.initialvideostate == 'results')
		|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'initial' && browsecontainer.initialvideostate == 'results') )
	{
		$('open_youtube_search').fade();
		setTimeout("$('open_youtube_search').style.display='none'", 850);
		setTimeout("$('toggle_initial_youtube').appear()", 850);
		setTimeout("$('toggle_initial_youtube').style.display='block'", 1700);
		openInitialYouTubeResults();
	}
	else if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'initial' && popularcontainer.initialvideostate == 'video')
		|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'initial' && recentcontainer.initialvideostate == 'video')
		|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'initial' && browsecontainer.initialvideostate == 'video') )
	{
		$('open_youtube_search').fade();
		setTimeout("$('open_youtube_search').style.display='none'", 850);
		setTimeout("$('toggle_initial_youtube').appear()", 850);
		setTimeout("$('toggle_initial_youtube').style.display='block'", 1700);
		openInitialYouTubeVideo();
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				if(browselistarray[i][2] == 'user' && browselistarray[i][5] == 'search')
				{
					$('open_youtube_search').fade();
					setTimeout("$('open_youtube_search').style.display='none'", 850);
					setTimeout("$('toggle_user_youtube').appear()", 850);
					setTimeout("$('toggle_user_youtube').style.display='block'", 1700);
					openUserYouTubeSearch();
				}
				else if(browselistarray[i][2] == 'user' && browselistarray[i][5] == 'results')
				{
					$('open_youtube_search').fade();
					setTimeout("$('open_youtube_search').style.display='none'", 850);
					setTimeout("$('toggle_user_youtube').appear()", 850);
					setTimeout("$('toggle_user_youtube').style.display='block'", 1700);
					openUserYouTubeResults();
				}
				else if(browselistarray[i][2] == 'user' && browselistarray[i][5] == 'video')
				{
					$('open_youtube_search').fade();
					setTimeout("$('open_youtube_search').style.display='none'", 850);
					setTimeout("$('toggle_user_youtube').appear()", 850);
					setTimeout("$('toggle_user_youtube').style.display='block'", 1700);
					openUserYouTubeVideo();
				}
				else if(browselistarray[i][2] == 'initial' && browselistarray[i][3] == 'results')
				{
					$('open_youtube_search').fade();
					setTimeout("$('open_youtube_search').style.display='none'", 850);
					setTimeout("$('toggle_initial_youtube').appear()", 850);
					setTimeout("$('toggle_initial_youtube').style.display='block'", 1700);
					openInitialYouTubeResults();
				}
				else if(browselistarray[i][2] == 'initial' && browselistarray[i][3] == 'video')
				{
					$('open_youtube_search').fade();
					setTimeout("$('open_youtube_search').style.display='none'", 850);
					setTimeout("$('toggle_initial_youtube').appear()", 850);
					setTimeout("$('toggle_initial_youtube').style.display='block'", 1700);
					openInitialYouTubeVideo();
				}
			}
		}
	}
}
function toggleYouTube()
{
	if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'initial' && popularcontainer.uservideostate == 'search')
		|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'initial' && recentcontainer.uservideostate == 'search')
		|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'initial' && browsecontainer.uservideostate == 'search') )
	{
		openUserYouTubeSearch();
	}
	else if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'initial' && popularcontainer.uservideostate == 'results')
		|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'initial' && recentcontainer.uservideostate == 'results')
		|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'initial' && browsecontainer.uservideostate == 'results') )
	{
		openUserYouTubeResults();
	}
	else if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'initial' && popularcontainer.uservideostate == 'video')
		|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'initial' && recentcontainer.uservideostate == 'video')
		|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'initial' && browsecontainer.uservideostate == 'video') )
	{
		openUserYouTubeVideo();
	}
	else if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'user' && popularcontainer.initialvideostate == 'results')
		|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'user' && recentcontainer.initialvideostate == 'results')
		|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'user' && browsecontainer.initialvideostate == 'results') )
	{
		openInitialYouTubeResults();
	}
	else if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'user' && popularcontainer.initialvideostate == 'video')
		|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'user' && recentcontainer.initialvideostate == 'video')
		|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'user' && browsecontainer.initialvideostate == 'video') )
	{
		openInitialYouTubeVideo();
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				if(browselistarray[i][2] == 'initial' && browselistarray[i][5] == 'search')
				{
					browselistarray[i][2] = 'user';
					openUserYouTubeSearch();
				}
				else if(browselistarray[i][2] == 'initial' && browselistarray[i][5] == 'results')
				{
					browselistarray[i][2] = 'user';
					openUserYouTubeResults();
				}
				else if(browselistarray[i][2] == 'initial' && browselistarray[i][5] == 'video')
				{
					browselistarray[i][2] = 'user';
					openUserYouTubeVideo();
				}
				else if(browselistarray[i][2] == 'user' && browselistarray[i][3] == 'results')
				{
					browselistarray[i][2] = 'initial';
					openInitialYouTubeResults();
				}
				else if(browselistarray[i][2] == 'initial' && browselistarray[i][3] == 'video')
				{
					browselistarray[i][2] = 'initial';
					openInitialYouTubeVideo();
				}
			}
		}
	}
	
	if(currenttab == 'popular' && popularcontainer.overallvideostate == 'initial')
	{
		popularcontainer.overallvideostate = 'user';
	}
	else if(currenttab == 'popular' && popularcontainer.overallvideostate == 'user')
	{
		popularcontainer.overallvideostate = 'initial';
	}
	else if(currenttab == 'recent' && recentcontainer.overallvideostate == 'initial')
	{
		recentcontainer.overallvideostate = 'user';
	}
	else if(currenttab == 'recent' && recentcontainer.overallvideostate == 'user')
	{
		recentcontainer.overallvideostate = 'initial';
	}
	else if(currenttab == 'browse' && browsecontainer.overallvideostate == 'initial')
	{
		browsecontainer.overallvideostate = 'user';
	}
	else if(currenttab == 'browse' && browsecontainer.overallvideostate == 'user')
	{
		browsecontainer.overallvideostate = 'initial';
	}
	
	if($('toggle_initial_youtube').style.display == 'block')
	{
		$('toggle_initial_youtube').fade();
		setTimeout("$('toggle_initial_youtube').style.display = 'none'", 850);
		setTimeout("$('toggle_user_youtube').appear()", 850);
		setTimeout("$('toggle_user_youtube').style.display = 'block'", 1700);
	}
	else if($('toggle_user_youtube').style.display == 'block')
	{
		$('toggle_user_youtube').fade();
		setTimeout("$('toggle_user_youtube').style.display = 'none'", 850);
		setTimeout("$('toggle_initial_youtube').appear()", 850);
		setTimeout("$('toggle_initial_youtube').style.display = 'block'", 1700);
	}
}
function openUserYouTubeSearch()
{
	fadeYouTubeContainers();

	new Effect.Morph('tab_contents', {
		style: 'top: 73px; height: 527px;'
	});
	new Effect.Morph('tab_overflow', {
		style: 'height: 475px;'
	});
	
	setTimeout("$('youtube_search').appear()", 850);
	setTimeout("$('youtube_search').style.display = 'block'", 1700);
	setTimeout("$('youtube_state').innerHTML = 'YouTube Search'", 850);
	if($('another_youtube_search').style.display == 'block')
	{
		$('another_youtube_search').fade();
		setTimeout("$('another_youtube_search').style.display='none'", 850);
	}
	if($('youtube_search_results').style.display == 'block')
	{
		$('youtube_search_results').fade();
		setTimeout("$('youtube_search_results').style.display='none'", 850);
	}
	if($('youtube_initial_results').style.display == 'block')
	{
		$('youtube_initial_results').fade();
		setTimeout("$('youtube_initial_results').style.display='none'", 850);
	}
	
	if(currenttab == 'popular')
	{
		popularcontainer.uservideostate = 'search';
	}
	else if(currenttab == 'recent')
	{
		recentcontainer.uservideostate = 'search';
	}
	else if(currenttab == 'browse')
	{
		browsecontainer.uservideostate = 'search';
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				browselistarray[i][5] = 'search';
			}
		}
	}
}
function openUserYouTubeResults()
{
	fadeYouTubeContainers();
	
	new Effect.Morph('youtube_container', {
		style: 'height: 168px;' 
	});
	new Effect.Morph('tab_contents', { 
		style: 'top: 193px; height: 407px;'
	});
	new Effect.Morph('tab_overflow', {
		style: 'height: 355px;'
	});
	
	if(currenttab == 'popular')
	{
		if(popularcontainer.uservideostate == 'video')
		{
			var inputsplit = popularcontainer.uservideoinput.split("-");
			if(inputsplit.length >= 2)
			{
				popularcontainer.uservideoinput = inputsplit[1];
				/*for(var i=1; i < inputsplit.length; i++)
				{
					if(i == 1)
					{
						popularcontainer.uservideoinput += inputsplit[i];
					}
					else
					{
						popularcontainer.uservideoinput += "-"+inputsplit[i];
					}
				}*/
			}
		}
		setTimeout("$('youtube_state').innerHTML = '<i>"+popularcontainer.uservideoinput+"</i> Search Results'", 850);
	}
	else if(currenttab == 'recent')
	{
		if(recentcontainer.uservideostate == 'video')
		{
			var inputsplit = recentcontainer.uservideoinput.split("-");
			if(inputsplit.length >= 2)
			{
				recentcontainer.uservideoinput = inputsplit[1];
				/*for(var i=1; i < inputsplit.length; i++)
				{
					if(i == 1)
					{
						recentcontainer.uservideoinput += inputsplit[i];
					}
					else
					{
						recentcontainer.uservideoinput += "-"+inputsplit[i];
					}
				}*/
			}
		}
		setTimeout("$('youtube_state').innerHTML = '<i>"+recentcontainer.uservideoinput+"</i> Search Results'", 850);
	}
	else if(currenttab == 'browse')
	{
		if(browsecontainer.uservideostate == 'video')
		{
			var inputsplit = browsecontainer.uservideoinput.split("-");
			if(inputsplit.length >= 2)
			{
				browsecontainer.uservideoinput = inputsplit[1];
				/*for(var i=1; i < inputsplit.length; i++)
				{
					if(i == 1)
					{
						browsecontainer.uservideoinput += inputsplit[i];
					}
					else
					{
						browsecontainer.uservideoinput += "-"+inputsplit[i];
					}
				}*/
			}
		}
		setTimeout("$('youtube_state').innerHTML = '<i>"+browsecontainer.uservideoinput+"</i> Search Results'", 850);
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				if(browselistarray[i][5] == 'video')
				{
					var inputsplit = browselistarray[i][6].split("-");
					if(inputsplit.length >= 2)
					{
						browselistarray[i][6] = inputsplit[1];
						/*for(var j=1; j < inputsplit.length; j++)
						{
							if(j == 1)
							{
								browselistarray[i][6] += inputsplit[j];
							}
							else
							{
								browselistarray[i][6] += "-"+inputsplit[j];
							}
						}*/
					}
				}
				setTimeout("$('youtube_state').innerHTML = '<i>"+browselistarray[i][6]+"</i> Search Results'", 850);
			}
		}
	}
	
	setTimeout("$('youtube_results').appear()", 850);
	setTimeout("$('youtube_results').style.display = 'block'", 1700);
	setTimeout("$('youtube_state').innerHTML = ", 850);
	$('another_youtube_search').appear();
	setTimeout("$('another_youtube_search').style.display='block'", 850);
	if($('youtube_search_results').style.display == 'block')
	{
		$('youtube_search_results').fade();
		setTimeout("$('youtube_search_results').style.display='none'", 850);
	}
	if($('youtube_initial_results').style.display == 'block')
	{
		$('youtube_initial_results').fade();
		setTimeout("$('youtube_initial_results').style.display='none'", 850);
	}
	
	
	if(currenttab == 'popular')
	{
		popularcontainer.uservideostate = 'results';
	}
	else if(currenttab == 'recent')
	{
		recentcontainer.uservideostate = 'results';
	}
	else if(currenttab == 'browse')
	{
		browsecontainer.uservideostate = 'results';
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				browselistarray[i][5] = 'results';
			}
		}
	}
}
function openUserYouTubeVideo()
{
	fadeYouTubeContainers();

	new Effect.Morph('youtube_container', { 
		style: 'height: 300px;' 
	});
	new Effect.Morph('tab_contents', { 
		style: 'top: 325px; height: 277px;' 
	});
	new Effect.Morph('tab_overflow', {
		style: 'height: 226px;'
	});
	
	setTimeout("$('youtube_video').appear()", 850);
	setTimeout("$('youtube_video').style.display = 'block'", 1700);
	setTimeout("$('youtube_state').innerHTML = $('user_youtube_video_title').value", 850);
	$('another_youtube_search').appear();
	setTimeout("$('another_youtube_search').style.display='block'", 850);
	$('youtube_search_results').appear();
	setTimeout("$('youtube_search_results').style.display='block'", 850);
	if($('youtube_initial_results').style.display == 'block')
	{
		$('youtube_initial_results').fade();
		setTimeout("$('youtube_initial_results').style.display='none'", 850);
	}
	if($('user_youtube_embedded_video').style.display == 'none')
	{
		$('user_youtube_embedded_video').appear();
		setTimeout("$('user_youtube_embedded_video').style.display = 'block'", 850);
	}
	                                                                         
	if(currenttab == 'popular')
	{
		popularcontainer.uservideostate = 'video';                           
	}                                                                        
	else if(currenttab == 'recent')
	{
		recentcontainer.uservideostate = 'video';
	}
	else if(currenttab == 'browse')
	{
		browsecontainer.uservideostate = 'video';
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				browselistarray[i][5] = 'video';
			}
		}
	}
}
function openInitialYouTubeResults()
{
	fadeYouTubeContainers();

	new Effect.Morph('youtube_container', {
		style: 'height: 168px;' 
	});
	new Effect.Morph('tab_contents', { 
		style: 'top: 193px; height: 407px;'
	});
	new Effect.Morph('tab_overflow', {
		style: 'height: 355px;'
	});
	
	setTimeout("$('initial_youtube_results').appear()", 850);
	setTimeout("$('initial_youtube_results').style.display = 'block'", 1700);
	setTimeout("$('youtube_state').innerHTML = 'Our YouTube Videos'", 850);
	if($('another_youtube_search').style.display == 'block')
	{
		$('another_youtube_search').fade();
		setTimeout("$('another_youtube_search').style.display='none'", 850);
	}
	if($('youtube_search_results').style.display == 'block')
	{
		$('youtube_search_results').fade();
		setTimeout("$('youtube_search_results').style.display='none'", 850);
	}
	if($('youtube_initial_results').style.display == 'block')
	{
		$('youtube_initial_results').fade();
		setTimeout("$('youtube_initial_results').style.display='none'", 850);
	}
	
	if(currenttab == 'popular')
	{
		popularcontainer.initialvideostate = 'results';
	}
	else if(currenttab == 'recent')
	{
		recentcontainer.initialvideostate = 'results';
	}
	else if(currenttab == 'browse')
	{
		browsecontainer.initialvideostate = 'results';
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				browselistarray[i][3] = 'results';
			}
		}
	}
}
function openInitialYouTubeVideo()
{
	fadeYouTubeContainers();

	new Effect.Morph('youtube_container', { 
		style: 'height: 300px;' 
	});
	new Effect.Morph('tab_contents', { 
		style: 'top: 325px; height: 277px;' 
	});
	new Effect.Morph('tab_overflow', {
		style: 'height: 226px;'
	});
	
	setTimeout("$('initial_youtube_video').appear()", 850);
	setTimeout("$('initial_youtube_video').style.display = 'block'", 1700);
	setTimeout("$('youtube_state').innerHTML = $('initial_youtube_video_title').value", 850);
	$('youtube_initial_results').appear();
	setTimeout("$('youtube_initial_results').style.display='block'", 850);
	if($('another_youtube_search').style.display == 'block')
	{
		$('another_youtube_search').fade();
		setTimeout("$('another_youtube_search').style.display='none'", 850);
	}
	if($('youtube_search_results').style.display == 'block')
	{
		$('youtube_search_results').fade();
		setTimeout("$('youtube_search_results').style.display='none'", 850);
	}
	if($('initial_youtube_embedded_video').style.display == 'none')
	{
		$('initial_youtube_embedded_video').appear();
		setTimeout("$('initial_youtube_embedded_video').style.display = 'block'", 850);
	}
	
	if(currenttab == 'popular')
	{
		popularcontainer.initialvideostate = 'video';
	}
	else if(currenttab == 'recent')
	{
		recentcontainer.initialvideostate = 'video';
	}
	else if(currenttab == 'browse')
	{
		browsecontainer.initialvideostate = 'video';
	}
	else if(currenttab == 'browselist')
	{
		for(var i=0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				browselistarray[i][3] = 'video';
			}
		}
	}
}
function fadeYouTubeContainers()
{
	if($('youtube_search').style.display == 'block')
	{
		$('youtube_search').fade();
		setTimeout("$('youtube_search').style.display = 'none'", 850);
	}
	else if($('youtube_results').style.display == 'block')
	{
		$('youtube_results').fade();
		setTimeout("$('youtube_results').style.display = 'none'", 850);
	}
	else if($('youtube_video').style.display == 'block')
	{
		$('youtube_video').fade();
		setTimeout("$('youtube_video').style.display = 'none'", 850);
	}
	else if($('initial_youtube_results').style.display == 'block')
	{
		$('initial_youtube_results').fade();
		setTimeout("$('initial_youtube_results').style.display = 'none'", 850);
	}
	else if($('initial_youtube_video').style.display == 'block')
	{
		$('initial_youtube_video').fade();
		setTimeout("$('initial_youtube_video').style.display = 'none'", 850);
	}
}
function closeYouTube()
{
	new Effect.Morph('tab_contents', {
		style: 'top: 25px; height: 575px;'
	});
	new Effect.Morph('tab_overflow', {
		style: 'height: 523px;'
	});
	
	if($('toggle_user_youtube').style.display == 'block')
	{
		$('toggle_user_youtube').fade();
		setTimeout("$('toggle_user_youtube').style.display = 'none'", 850);
		
		if( (currenttab == 'popular' && popularcontainer.uservideostate == 'video')
			|| (currenttab == 'recent' && recentcontainer.uservideostate == 'video')
			|| (currenttab == 'browse' && browsecontainer.uservideostate == 'video') )
		{
			$('user_youtube_embedded_video').fade();
			setTimeout("$('user_youtube_embedded_video').style.display = 'none'", 850);
		}
		else if(currenttab == 'browselist')
		{
			// TBD
		}
	}
	else if($('toggle_initial_youtube').style.display == 'block')
	{
		$('toggle_initial_youtube').fade();
		setTimeout("$('toggle_initial_youtube').style.display = 'none'", 850);
		
		if( (currenttab == 'popular' && popularcontainer.initialvideostate == 'video')
			|| (currenttab == 'recent' && recentcontainer.initialvideostate == 'video')
			|| (currenttab == 'browse' && browsecontainer.initialvideostate == 'video') )
		{
			$('initial_youtube_embedded_video').fade();
			setTimeout("$('initial_youtube_embedded_video').style.display = 'none'", 850);
		}
		else if(currenttab == 'browselist')
		{
			// TBD
		}
	}
	
	if(currenttab == 'popular')
	{
		popularcontainer.previousvideostate = popularcontainer.overallvideostate;
		popularcontainer.overallvideostate = 'closed';
	}
	else if(currenttab == 'recent')
	{
		recentcontainer.previousvideostate = recentcontainer.overallvideostate;
		recentcontainer.overallvideostate = 'closed';
	}
	else if(currenttab == 'browse')
	{
		browsecontainer.previousvideostate = browsecontainer.overallvideostate;
		browsecontainer.overallvideostate = 'closed';
	}
	else if(currenttab == 'browselist')
	{
		// TBD`
	}
	
	setTimeout("$('open_youtube_search').appear()", 850);
	setTimeout("$('open_youtube_search').style.display='block'", 1700);
}
function toggleDescription(toggle)
{
	if(toggle == "more")
	{
		if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'initial')
			|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'initial')
			|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'initial') )
		{
			var newheight = $('initial_description_height').offsetHeight + 2; // Give it a little buffer
			newheight += 'px';
			
			new Effect.Morph('initial_description_container', {
				style: 'height: '+newheight+';'
			});
			$('initial_more_description').fade();
			setTimeout("$('initial_more_description').style.display = 'none'", 850);
			setTimeout("$('initial_less_description').appear()", 850);
			setTimeout("$('initial_less_description').style.display = 'block'", 850);
		}
		else if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'user')
			|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'user')
			|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'user') )
		{
			var newheight = $('user_description_height').offsetHeight + 2; // Give it a little buffer
			newheight += 'px';
			
			new Effect.Morph('user_description_container', {
				style: 'height: '+newheight+';'
			});
			$('user_more_description').fade();
			setTimeout("$('user_more_description').style.display = 'none'", 850);
			setTimeout("$('user_less_description').appear()", 850);
			setTimeout("$('user_less_description').style.display = 'block'", 850);
		}
		else if(currenttab == 'browselist')
		{
			for(var i=0; i < browselistarray.length; i++)
			{
				if(browselistarray[i][0] == currentbrowselist)
				{
					if(browselistarray[i][2] == 'initial')
					{
						var newheight = $('initial_description_height').offsetHeight + 2; // Give it a little buffer
						newheight += 'px';
						
						new Effect.Morph('initial_description_container', {
							style: 'height: '+newheight+';'
						});
						$('initial_more_description').fade();
						setTimeout("$('initial_more_description').style.display = 'none'", 850);
						setTimeout("$('initial_less_description').appear()", 850);
						setTimeout("$('initial_less_description').style.display = 'block'", 850);
					}
					else if(browselistarray[i][2] == 'user')
					{
						var newheight = $('user_description_height').offsetHeight + 2; // Give it a little buffer
						newheight += 'px';
						
						new Effect.Morph('user_description_container', {
							style: 'height: '+newheight+';'
						});
						$('user_more_description').fade();
						setTimeout("$('user_more_description').style.display = 'none'", 850);
						setTimeout("$('user_less_description').appear()", 850);
						setTimeout("$('user_less_description').style.display = 'block'", 850);
					}
				}
			}
		}
	}
	else if(toggle == "less")
	{
		if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'initial')
			|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'initial')
			|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'initial') )
		{
			new Effect.Morph('initial_description_container', {
				style: 'height: 16px;'
			});
			$('initial_less_description').fade();
			setTimeout("$('initial_less_description').style.display = 'none'", 850);
			setTimeout("$('initial_more_description').appear()", 850);
			setTimeout("$('initial_more_description').style.display = 'block'", 850);
		}
		else if( (currenttab == 'popular' && popularcontainer.overallvideostate == 'user')
			|| (currenttab == 'recent' && recentcontainer.overallvideostate == 'user')
			|| (currenttab == 'browse' && browsecontainer.overallvideostate == 'user') )
		{
			new Effect.Morph('user_description_container', {
				style: 'height: 16px;'
			});
			$('user_less_description').fade();
			setTimeout("$('user_less_description').style.display = 'none'", 850);
			setTimeout("$('user_more_description').appear()", 850);
			setTimeout("$('user_more_description').style.display = 'block'", 850);
		}
		else if(currenttab == 'browselist')
		{
			for(var i=0; i < browselistarray.length; i++)
			{
				if(browselistarray[i][0] == currentbrowselist)
				{
					if(browselistarray[i][2] == 'initial')
					{
						new Effect.Morph('initial_description_container', {
							style: 'height: 16px;'
						});
						$('initial_less_description').fade();
						setTimeout("$('initial_less_description').style.display = 'none'", 850);
						setTimeout("$('initial_more_description').appear()", 850);
						setTimeout("$('initial_more_description').style.display = 'block'", 850);
					}
					else if(browselistarray[i][2] == 'user')
					{
						new Effect.Morph('user_description_container', {
							style: 'height: 16px;'
						});
						$('user_less_description').fade();
						setTimeout("$('user_less_description').style.display = 'none'", 850);
						setTimeout("$('user_more_description').appear()", 850);
						setTimeout("$('user_more_description').style.display = 'block'", 850);
					}
				}
			}
		}
	}
}

//////////////////////////////// Member functions \\\\\\\\\\\\\\\\\\\\\\\\\\\\\
function cancelLogin()
{
	window.top.tb_remove();
}
function userSignUp()
{
	window.top.tb_remove();
	setTimeout("tb_show('Sign Up', '/browse_signup.php?height=300&width=300'); ", 250);
}
function forgotPassword()
{
	$('member_login').fade();
	setTimeout("$('forgot_password').appear()", 850);
}
function editProfile(edit)
{
	if(edit == 'password')
	{
		$('member_profile').fade();
		setTimeout("$('member_profile').style.display='none'", 850);
		setTimeout("$('edit_password').appear()", 850);
		setTimeout("$('edit_password').style.display='block'", 1700);
	}
	else if(edit == 'email')
	{
		$('member_profile').fade();
		setTimeout("$('member_profile').style.display='none'", 850);
		setTimeout("$('edit_email').appear()", 850);
		setTimeout("$('edit_email').style.display='block'", 1700);
	}
}
function backToProfile(edit)
{
	if(edit == 'password')
	{
		$('edit_password').fade();
		setTimeout("$('edit_password').style.display='none'", 850);
		setTimeout("$('member_profile').appear()", 850);
		setTimeout("$('member_profile').style.display='block'", 1700);
	}
	else if(edit == 'email')
	{
		$('edit_email').fade();
		setTimeout("$('edit_email').style.display='none'", 850);
		setTimeout("$('member_profile').appear()", 850);
		setTimeout("$('member_profile').style.display='block'", 1700);
	}
}

//////////////////////// Display browselist errors functions \\\\\\\\\\\\\\\\\\\\\\\\\\
function displayBrowselistError(error)
{
	if(browselisterror)
	{
		if(error == 'large')
		{
			$('browselist_duplicate').fade();
			$('browselist_nonascii').fade();
			setTimeout("$('browselist_large').appear()", 900);
			browselisterror = true;
		}
		else if(error == 'duplicate')
		{
			$('browselist_large').fade();
			$('browselist_nonascii').fade();
			setTimeout("$('browselist_duplicate').appear()", 900);
			browselisterror = true;
		}
		else if(error == 'nonascii')
		{
			$('browselist_large').fade();
			$('browselist_duplicate').fade();
			setTimeout("$('browselist_nonascii').appear()", 900);
			browselisterror = true;
		}
		else if(error == '')
		{
			$('browselist_large').fade();
			$('browselist_duplicate').fade();
			$('browselist_nonascii').fade();
			browselisterror = false;
		}
	}
	else
	{
		if(error == 'large')
		{
			$('browselist_large').appear();
			browselisterror = true;
		}
		else if(error == 'duplicate')
		{
			$('browselist_duplicate').appear();
			browselisterror = true;
		}
		else if(error == 'nonascii')
		{
			$('browselist_nonascii').appear();
			browselisterror = true;
		}
	}
}

/////////////////////////// Disable/enable browsing links \\\\\\\\\\\\\\\\\\\\\\\\\\
function disableBrowsing()
{
	disablebrowsing = true;
}
function enableBrowsing()
{
	setTimeout("disablebrowsing=false", 50);
}

/////////////////////////// Change the title of the page function \\\\\\\\\\\\\\\\\\\\\\\\\\\
function changeTitle()
{
	if(currenttab == 'popular')
	{
		// Change the title of the page
		if(popularfile != "")
		{
			var tempartist = popularartist;
			var realartist = '';
			tempartist = tempartist.split('_');
			for(var i=0; i < tempartist.length; i++) {
					realartist += tempartist[i].substring(0,1).toUpperCase() + tempartist[i].substring(1,tempartist[i].length) + ' ';
			}
			
			var tempsong = popularsong;
			var realsong = '';
			tempsong = tempsong.split('_');
			for(var i=0; i < tempsong.length; i++) {
					realsong += tempsong[i].substring(0,1).toUpperCase() + tempsong[i].substring(1,tempsong[i].length) + ' ';
			}
			
			document.title = 'Tab For '+realsong+' by '+realartist+' - Zojam.com';
		}
		else
		{
			document.title = '100 Most Popular Tabs - Zojam.com';
		}
	}
	else if(currenttab == 'recent')
	{
		if(recentfile != "")
		{
			var tempartist = recentartist;
			var realartist = '';
			tempartist = tempartist.split('_');
			for(var i=0; i < tempartist.length; i++) {
					realartist += tempartist[i].substring(0,1).toUpperCase() + tempartist[i].substring(1,tempartist[i].length) + ' ';
			}
			
			var tempsong = recentsong;
			var realsong = '';
			tempsong = tempsong.split('_');
			for(var i=0; i < tempsong.length; i++) {
					realsong += tempsong[i].substring(0,1).toUpperCase() + tempsong[i].substring(1,tempsong[i].length) + ' ';
			}
			
			document.title = 'Tab For '+realsong+' by '+realartist+' - Zojam.com';
		}
		else
		{
			document.title = 'Most Recently Viewed Tabs - Zojam.com';
		}
	}
	else if(currenttab == 'browse')
	{
		var tempartist = browseartist;
		var realartist = '';
		tempartist = tempartist.split('_');
		for(var i=0; i < tempartist.length; i++) {
				realartist += tempartist[i].substring(0,1).toUpperCase() + tempartist[i].substring(1,tempartist[i].length) + ' ';
		}
		
		var tempsong = browsesong;
		var realsong = '';
		tempsong = tempsong.split('_');
		for(var i=0; i < tempsong.length; i++) {
				realsong += tempsong[i].substring(0,1).toUpperCase() + tempsong[i].substring(1,tempsong[i].length) + ' ';
		}
		
		if(browseartist == "-" && browsesong == "-")
		{
			document.title = 'All Artists - Zojam.com';
		}
		else if(browseartist != "-" && browsesong == "-")
		{
			document.title = 'Songs by '+realartist+' - Zojam.com';
		}
		else if(browseartist != "-" && browsesong != "-" && browsefile == "")
		{
			document.title = 'Tabs For '+realsong+' by '+realartist+' - Zojam.com';
		}
		else if(browseartist != "-" && browsesong != "-" && browsefile != "")
		{
			document.title = 'Tab For '+realsong+' by '+realartist+' - Zojam.com';
		}
	}
	else if(currenttab == 'search')
	{
		document.title = 'Search Results For '+pastsearch+' - Zojam.com';
	}
	else if(currenttab == 'browselist')
	{
		var browselistfile = '';
		for(var i = 0; i < browselistarray.length; i++)
		{
			if(browselistarray[i][0] == currentbrowselist)
			{
				browselistfile = browselistarray[i][1];
				break;
			}
		}
		
		if(browselistfile != "")
		{
			var browselistfilesplit = browselistfile.split("/");
			
			var tempartist = browselistfilesplit[2];
			var realartist = '';
			tempartist = tempartist.split('_');
			for(var i=0; i < tempartist.length; i++) {
					realartist += tempartist[i].substring(0,1).toUpperCase() + tempartist[i].substring(1,tempartist[i].length) + ' ';
			}
			
			var tempsong = browselistfilesplit[3];
			var realsong = '';
			tempsong = tempsong.split('_');
			for(var i=0; i < tempsong.length; i++) {
					realsong += tempsong[i].substring(0,1).toUpperCase() + tempsong[i].substring(1,tempsong[i].length) + ' ';
			}
			
			document.title = 'Tab For '+realsong+' by '+realartist+' - Zojam.com';
		}
		else
		{
			document.title = currentbrowselist+' Browselist - Zojam.com';
		}
	}
}

//////////////////////////// Upload container functions \\\\\\\\\\\\\\\\\\\\\\\\\\
function customTuning()
{
	$('default_tunings').fade();
	$('choose_custom').fade();
	setTimeout("$('default_tunings').style.display='none'", 900);
	setTimeout("$('choose_custom').style.display='none'", 900);
	setTimeout("$('custom_tuning').appear()", 900);
	setTimeout("$('choose_default').appear()", 900);
}
function defaultTunings()
{
	$('custom_tuning').fade();
	$('choose_default').fade();
	setTimeout("$('custom_tuning').style.display='none'", 900);
	setTimeout("$('choose_default').style.display='none'", 900);
	setTimeout("$('default_tunings').appear()", 900);
	setTimeout("$('choose_custom').appear()", 900);
}
function uploadContainer(type)
{
	if(type == 'tab')
	{
		if($('tab_upload_container').style.display == 'none')
		{
			if($('file_upload_container').style.display == 'block')
			{
				Effect.BlindUp('file_upload_container');
				setTimeout("$('file_upload_container').style.display='none'", 850);
			}
			
			Effect.BlindDown('tab_upload_container');
			setTimeout("$('tab_upload_container').style.display='block'", 850);
		}
		else
		{
			Effect.BlindUp('tab_upload_container');
			setTimeout("$('tab_upload_container').style.display='none'", 850);
		}
	}
	else if(type == 'file')
	{
		if($('file_upload_container').style.display == 'none')
		{
			if($('tab_upload_container').style.display == 'block')
			{
				Effect.BlindUp('tab_upload_container');
				setTimeout("$('tab_upload_container').style.display='none'", 850);
			}
			
			Effect.BlindDown('file_upload_container');
			setTimeout("$('file_upload_container').style.display='block'", 850);
		}
		else
		{
			Effect.BlindUp('file_upload_container');
			setTimeout("$('file_upload_container').style.display='none'", 850);
		}
	}
}
function addTabLine()
{
	if($('tab_upload').value == "" || $('tab_upload').value == "\n")
	{
		$('tab_upload').value = "|------------------------------------------------------------------------------|";
	}
	else
	{
		$('tab_upload').value += "\n\n|------------------------------------------------------------------------------|";
	}
	
	$('tab_upload').value += "\n|------------------------------------------------------------------------------|";
	$('tab_upload').value += "\n|------------------------------------------------------------------------------|";
	$('tab_upload').value += "\n|------------------------------------------------------------------------------|";
	$('tab_upload').value += "\n|------------------------------------------------------------------------------|";
	$('tab_upload').value += "\n|------------------------------------------------------------------------------|";
}
function startUpload()
{
	$('upload_loading').style.display = 'block';
	return true;
}

function stopUpload(success)
{
	$('upload_loading').style.display = 'none';
	
	if (success == 1)
	{
		$('upload_success').appear();
		//$('upload_result').innerHTML = '<span class="msg">The file was uploaded successfully!<\/span><br/><br/>';
	}
	else if(success == 2)
	{
		$('upload_result').innerHTML = '<span class="emsg">You can only upload guitar pro and power tab files<\/span><br/><br/>';
		$('file_upload_name').value = '';
	}
	else 
	{
		$('upload_result').innerHTML = '<span class="emsg">There was an error during file upload!<\/span><br/><br/>';
		$('file_upload_name').value = '';
	}
	
	return true;
}
function uploadAnotherTab()
{
	$('artist_upload').value = 'Artist';
	$('artist_upload').className = 'grey_input';
	$('song_upload').value = 'Song';
	$('song_upload').className = 'grey_input';
	$('instrument_upload').selectedIndex = 0;
	$('tuning_upload').selectedIndex = 0;
	$('portion_upload').selectedIndex = 0;
	$('tab_upload').value = '';
	$('file_upload_name').value = '';
	$('upload_success').fade();
}

////////////////////////////////// Rating functions \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
function starOver(stars)
{
	if($('actual_star_rating').style.display == 'block')
	{
		$('actual_star_rating').style.display = 'none';
	}
	else if($('one_star_rating').style.display == 'block')
	{
		$('one_star_rating').style.display = 'none';
	}
	else if($('two_star_rating').style.display == 'block')
	{
		$('two_star_rating').style.display = 'none';
	}
	else if($('three_star_rating').style.display == 'block')
	{
		$('three_star_rating').style.display = 'none';
	}
	else if($('four_star_rating').style.display == 'block')
	{
		$('four_star_rating').style.display = 'none';
	}
	else if($('five_star_rating').style.display == 'block')
	{
		$('five_star_rating').style.display = 'none';
	}
	
	$(stars+'_star_rating').style.display = 'block';
}
function starOut()
{
	if($('one_star_rating').style.display == 'block')
	{
		$('one_star_rating').style.display = 'none';
	}
	else if($('two_star_rating').style.display == 'block')
	{
		$('two_star_rating').style.display = 'none';
	}
	else if($('three_star_rating').style.display == 'block')
	{
		$('three_star_rating').style.display = 'none';
	}
	else if($('four_star_rating').style.display == 'block')
	{
		$('four_star_rating').style.display = 'none';
	}
	else if($('five_star_rating').style.display == 'block')
	{
		$('five_star_rating').style.display = 'none';
	}
	
	$('actual_star_rating').style.display = 'block';
}
function selectRating(stars, resourceid)
{
	if(stars == 1)
	{
		alert(stars+' star selected');
	}
	else
	{
		alert(stars+' stars selected');
	}
}



