var AjaxDomain = "http://www.buildagadget.com/Landing/XM/Includes/";
var Song_Http = false;

//*************************************************************
//  Start Song Preview
//*************************************************************
function SongPreview()
{
	PostBaGData('', "XIncChanData.php", StateChangedChanData);
}

//*************************************************************
//  Create POST/GET Ajax Element (Utility Function)
//*************************************************************
function XmlHttpObject(Handler)
{ 
	var ObjXmlHttp = null;
	ObjXmlHttp = new XMLHttpRequest();
	ObjXmlHttp.onreadystatechange = Handler;
	return ObjXmlHttp;
}	

//*************************************************************
//  Post Data To File (Utility Function)
//*************************************************************
function PostBaGData(Data, File, Handler)
{
	try
	{
		XMLHttp = XmlHttpObject(Handler);
		XMLHttp.open("POST", (AjaxDomain + File) , true);
		XMLHttp.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
		XMLHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		XMLHttp.send(Data);
	}
	catch(e){}
}

//*************************************************************
//  UTILITY >> Reading XML File
//*************************************************************
function Verify() 
{ 
 	if (XMLDoc.readyState != 4) 
		return false; 
}

//*************************************************************
//  FLYOUT: AJAX >> Process Song Preview Lists (Part 2)
//*************************************************************
function StateChangedChanData()
{   
	if (XMLHttp.readyState == null)
		return;
	if (XMLHttp.readyState == 4)
	{
		if (XMLHttp.status == 200)
		{
			var XMLLib = new SoftXMLLib();
			XMLLib.loadXML(XMLHttp.responseText);
				
			if(XMLLib.loadXMLError == 0)
			{
				var xFile = XMLLib.selectNodes("//event");
				var X = 0;
				while (X < xFile.length)
				{
					try 
					{
						try { var xChanNum = xFile[X].self.getElementsByTagName("channelnumber")[0].childNodes[0].nodeValue; }
						catch(err) { var xChanNum = 0; }
						
						try { var xChanArtist = xFile[X].self.getElementsByTagName("artist")[0].childNodes[0].nodeValue; }
						catch(err) { var xChanArtist = ''; }
						
						try { var xChanAlbum = xFile[X].self.getElementsByTagName("album")[0].childNodes[0].nodeValue; }
						catch(err) { var xChanAlbum = ''; }
						
						try { var xChanTrack = xFile[X].self.getElementsByTagName("songtitle")[0].childNodes[0].nodeValue; }
						catch(err) { var xChanTrack = ''; }
						
						if (xChanNum > 0)
						{
							var Chan_Temp = '';
							var AmzTCode = 'themusicsou081011-20';
							
							if (xChanArtist != '')
							{
								var xArtist = xChanArtist.replace(/&/gi, "and");
								xArtist = xArtist.replace(/ /gi, "%20");
								var xChanArtistSearch = "http://www.amazon.com/exec/obidos/external-search?tag=" + AmzTCode + "&amp;keyword=" + xArtist;
								Chan_Temp += '<strong>Artist:</strong> <a href="' + xChanArtistSearch + '" title="Search for ' + xChanArtist + ' on Amazon.com" target="_blank">' + xChanArtist + '</a>';
							}
								
							if (xChanTrack != '')
							{
								var xTrack = xChanTrack.replace(/&/gi, "and");
								xTrack = xTrack.replace(/ /gi, "%20");
								var xChanTrackSearch = "http://www.amazon.com/exec/obidos/external-search?tag=" + AmzTCode + "&amp;keyword=" + xArtist + ' - ' + xTrack;
								Chan_Temp += ' | <strong>Track:</strong> <a href="' + xChanTrackSearch + '" title="Search for ' + xChanTrack + ' on Amazon.com" target="_blank">' + xChanTrack + '</a>';
							}
								
							if (xChanAlbum != '')
							{
								var xAlbum = xChanAlbum.replace(/&/gi, "and");
								xAlbum = xAlbum.replace(/ /gi, "%20");
								var xChanAlbumSearch = "http://www.amazon.com/exec/obidos/external-search?tag=" + AmzTCode + "&amp;keyword=" + xArtist + ' - ' + xAlbum;
								Chan_Temp += ' | <strong>Album:</strong> <a href="' + xChanAlbumSearch + '" title="Search for ' + xChanAlbum + ' on Amazon.com" target="_blank">' + xChanAlbum + '</a>';
							}
					
							document.getElementById("Chan-" + xChanNum + "-Prev").innerHTML = Chan_Temp;
						}
					}
					catch(err){}
					
					X++;
				}
			}
		} 
		else 
		{
			if (XMLHttp.status == null)
				return;
		}
	}
}

//*************************************************************
//  Toggle Gorup
//*************************************************************
function Toggle_Group(Group)
{
	if (document.getElementById("Chan-Group-" + Group).style.display == "block")
		document.getElementById("Chan-Group-" + Group).style.display = "none";
	else
		document.getElementById("Chan-Group-" + Group).style.display = "block";
}

//*************************************************************
// Bookmark Site
//*************************************************************
function Bookmark_Site(Title, URL)
{
	if (window.sidebar) // FireFox
		window.sidebar.addPanel(Title, URL, "");
	else if(window.opera && window.print) // Opera
	{ 
		var Elem = document.createElement('a');
		Elem.setAttribute('href', URL);
		Elem.setAttribute('title', Title);
		Elem.setAttribute('rel', 'sidebar');
		Elem.click();
	} 
	else if(document.all)// IE
		window.external.AddFavorite(URL, Title);
}