/*
 aCharts.us/js: 14:57 27-03-2009
*/


var IEversion = parseFloat (navigator.appVersion.split("MSIE")[1]);

if (IEversion < 7)
{
	var ModernBrowser = false;
}
else
{
	var ModernBrowser = true;
}


function toggle (showLayer, set)
{
	if (document.getElementById)
	{
		if (set == 'm')
		{
			var arr = new Array ("MenuSingle", "MenuAlbum");
		}
		else if (set == 'c')
		{
			var arr = new Array ("Instructions", "MergeAlbumsSongs", "MergePerformers", "EditAlbumSongTitle", "EditPerformerName", "RemoveChartList", "SplitPerformers", "UnsplitPerformers", "AddPerformerToSong", "RemovePerformerFromSong", "AddAmazon");
		}
		else if (set == 'a')
		{
			var arr = new Array ("AccMod", "AccSet", "AccFav");
		}
		else if (set == 'mv')
		{
			var arr = new Array ("ReportMV", "ReportMVResult");
		}

		for (var loop = 0; loop < arr.length; loop++)
		{
			if (document.getElementById(arr[loop]))
			{
				var style2 = document.getElementById(arr[loop]).style;

				if (arr[loop] == showLayer)
				{
					if (style2.display == 'block' && set == 'a')
					{
						style2.display = "none";
					}
					else
					{
						style2.display = "block";

						if (set == 'a' && ModernBrowser == false)
						{
							var HideSelect = true;
						}
					}
				}
				else
				{
					style2.display = "none";
				}
			}
		}

		if (set == 'a' && HideSelect)
		{
			toggleOne ('SelectWeek', 'none');
		}
		else if (set == 'a')
		{
			toggleOne ('SelectWeek', 'inline');
		}
	}
}



function toggleTab (showLayer, set)
{
	if (document.getElementById)
	{
		if (set == 'f')
		{
			var arr = new Array ("performer", "song", "album");
		}
		else if (set == 'm')
		{
			var arr = new Array ("amazonmod", "covermod", "videomod", "performermod", "songmod", "albummod");
		}
		else if (set == 's')
		{
			var arr = new Array ("settings", "sortfilter");
		}

		var loop = 0;

		for (loop = 0; loop < arr.length; loop++)
		{
			if (document.getElementById(arr[loop] +'_sheet'))
			{
				var styleSheet = document.getElementById(arr[loop] +'_sheet').style;
				var styleTab = document.getElementById(arr[loop] +'_tab');

				if (arr[loop] == showLayer)
				{
					styleSheet.display = "block";
					styleTab.className = "Active";
				}
				else
				{
					styleSheet.display = "none";
					styleTab.className = "Inactive";
				}
			}
		}
	}
}


function toggleOne (showLayer, force)
{
	Field = document.getElementById(showLayer);

	if (force == undefined)
	{
		Field.style.display = (Field.style.display == "inline") ? "none" : "inline";
	}
	else
	{
		Field.style.display = force;
	}
}


function RemoveFav (Type, Identifier)
{
	new Ajax.Updater (Type + '_sheet', '/callback/RemoveFavorite', {method: 'post', parameters: 'type=' + Type + '&identifier=' + Identifier});

	setTimeout('UpdateFavTab(\''+ Type +'\')', 500);
}


function UpdateFavTab (Type)
{
	new Ajax.Updater(Type + '_tab', '/callback/UpdateFavTab', {method: 'post', parameters: 'type=' + Type});

	return false;
}


function UpdateFavSheet (Type)
{
	new Ajax.Updater(Type + '_sheet', '/callback/UpdateFavSheet', {method: 'post', parameters: 'type=' + Type});

	return false;
}


function UpdateSetting (Setting, Value)
{
	new Ajax.Updater('AResult', '/callback/UpdateSetting', {method: 'post', parameters: 'Setting=' + Setting + '&Value=' + Value});

	return false;
}


function MakeFav (Type, Identifier, Time)
{
	ActionField = document.getElementById('ButtonAction');
	ActionField.innerHTML = '';

	new Ajax.Updater('ButtonAction', '/callback/AddFavorite', {method: 'post', parameters: 'type=' + Type +'&identifier=' + Identifier});

	SwitchElement ('ButtonAction', 'block');

	setTimeout('SwitchElement (\'ButtonAction\', \'none\')', Time * 1000);

	setTimeout('UpdateFavTab(\''+ Type +'\')', 500);

	setTimeout('UpdateFavSheet(\''+ Type +'\')', 500);
}


function SwitchElement (element, switchto)
{
	var Field = document.getElementById(element);

	Field.style.display = switchto;

}


function switchInnerHtml (Target, TextOne, TextTwo)
{
	Field = document.getElementById(Target);
	Field.innerHTML = (Field.innerHTML == TextOne) ? TextTwo : TextOne;
}


function SwitchRowBg (Layer, cb)
{
	Info = document.getElementById(Layer + "_info");
	Info.style.backgroundColor = (cb.checked) ? "#dff8fd" : "#f3fcfe";
      
	Ct = document.getElementById(Layer + "_ct");
	Ct.style.backgroundColor = (cb.checked) ? "#dff8fd" : "#f3fcfe";
}


function IE6error ()
{
	if (ModernBrowser == false)
	{
		document.write ('<div class="ErrorNote" onclick="location.href=\'/help#ie6\';"></div>');
	}
}


function toggleCT (whichLayer)
{
	if (document.getElementById)
	{
		var style2 = document.getElementById(whichLayer + "_ct").style;
		style2.display = style2.display? "":"none";

		var myImage = document.getElementById(whichLayer + "_switch");

		if (style2.display == "none")
		{
			myImage.src = "/i/icon-down.gif";
		}
		else
		{
			myImage.src = "/i/icon-up.gif";
		}
	}
}


function checkBox (e)
{
	var theBox = (e.target) ? e.target : e.srcElement;

	if (theBox.name == "compare[]")
	{
		var c = 0;
		var aBox = theBox.form["compare[]"];

		for (var i = 0; i < aBox.length; i++)
		{
			if (aBox[i].checked)
			{
				c++;
			}
		}

		var cDis = false;

		if (c > 3)
		{
			cDis = true;
		}

		for(var i = 0; i < aBox.length; i++)
		{
			if (!aBox[i].checked)
			{
				aBox[i].disabled = cDis;
			}
		}
	}
}


function SearchSite ()
{
	var keyword = document.SiteSearch.Keyword.value.replace(/ /g, "_");

	document.SiteSearch.action = "/search/"+ keyword.toLowerCase();
}


function confirmSubmit ()
{
	var agree = confirm ("Are you sure you wish to continue?");

	if (agree)
	{
		return true;
	}
	else
	{
		return false;
	}
}


function Maintenance ()
{
	//document.write ('<div class="Maintenance"></div>');
}


function GetGradient ()
{
	if (ModernBrowser == true)
	{
		document.write('<div class="Gradient"></div>');
	}
}


function changeServer (s, start, size)
{
	var o = document.getElementById('openid_url');

	o.value = s;
	o.focus();

	if (window.ActiveXObject)
	{
		try
		{
			var tr = o.createTextRange();    
			tr.collapse(true);
			tr.moveStart('character', start);
			tr.moveEnd('character', size);
			tr.select();
		}
			catch (e)
		{
		}
	}
	else
	{
		o.setSelectionRange(start,start+size);
	}
}


function externalLinks()
{
	if (!document.getElementsByTagName)
	{
		return;
	}

	var anchors = document.getElementsByTagName("a");

	for (var i = 0; i < anchors.length; i++)
	{
		var anchor = anchors[i];

		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
		{
			anchor.target = "_blank";
		}
	}
}

window.onload = externalLinks;