function getHTTPObject()
{
 if (typeof XMLHttpRequest != 'undefined') 
	{ return new XMLHttpRequest(); } 
	try { return new ActiveXObject("Msxml2.XMLHTTP"); } 
	catch (e) 
	{ try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } 
return false; 
}

function getXMLDOMObject()
{
 if (document.implementation && document.implementation.createDocument){		
		return document.implementation.createDocument("","",null);}try{
		return new ActiveXObject("Msxml2.XMLDOM");}catch (e){try{
			 return new ActiveXObject("Microsoft.XMLDOM");}catch (e){
			 alert("Your browser is not able to run the Ajax.");}} 
return false; 
}

function CreateProgressBar(){
	var ProcessDiv=document.createElement('div');
	ProcessDiv.style.left=0;
	ProcessDiv.style.top=0;
	ProcessDiv.style.height=20 + 'px';
	ProcessDiv.style.width=150 + 'px';
	ProcessDiv.style.position = "absolute";
	ProcessDiv.style.backgroundColor='#FFCC00';
	ProcessDiv.style.color="#000000";
	document.body.appendChild(ProcessDiv);
	ProcessDiv.style.display='';
	ProcessDiv.id='dvProgress';
	return ProcessDiv.id;
}
function ShowHideProgressBar(dvID){
	document.getElementById(dvID).style.display=(document.getElementById(dvID).style.display=='none') ? 'none' : '';
	return true;
}
function RemoveProgressbar(dvID){
	document.body.removeChild(document.getElementById(dvID));
	return true;
}
function ChangeContentProgressBar(dvID,dvText){
	document.getElementById(dvID).innerHTML=dvText;
	return true;
}

function LoadChartTrackList(dtID){
	var chObject=getHTTPObject();
	if (dtID=="" || typeof(dtID)=='undefined'){
		dtID=0;
	}
	var dvID=CreateProgressBar();
	chObject.open("GET","cTracksListXML.asp?MGID="+dtID,true);
	chObject.onreadystatechange=function (){
		switch(chObject.readyState){
			case 1:
				ChangeContentProgressBar(dvID,"Connecting");
				break;
			case 2:
				ChangeContentProgressBar(dvID,"Connected");
				break;
			case 3:
				ChangeContentProgressBar(dvID,"Getting Information");
				break;
			case 4:
					ChangeContentProgressBar(dvID,"Loading");
					ShowHideProgressBar(dvID);
					RemoveProgressbar(dvID);
				if(chObject.status==200){
					SetingPageForTrackList(chObject);
				}else{
					alert("Internal Error : " + chObject.statusText);
					return false;
				}
				break;
			default:
				alert("Internet Explorer Error!");
				return false;		
		}		
	}
	chObject.send(null);
}

function SetingPageForTrackList(hObject){
	var Trk="";
	var Lnk="";
	if(hObject.responseText==""){
		alert("Data Not Found!");
		return false;
	}
	var xmlObject=hObject.responseXML.documentElement;
	var rootObject=xmlObject.getElementsByTagName("chart");
	RemoveList();
	for(var rtRec=0; rtRec<rootObject.length;rtRec++){		
		for(var recElem=0;recElem<rootObject[rtRec].childNodes.length;recElem++){
			switch(rootObject[rtRec].childNodes[recElem].nodeName){
				case "genre":
				//alert(rootObject[rtRec].childNodes[recElem].childNodes[0].nodeValue);
					PuttingDataOnPage("H",rootObject[rtRec].childNodes[recElem].childNodes[0].nodeValue);
					break;
				default:					
				}
			for(var chText=0;chText<rootObject[rtRec].childNodes[recElem].childNodes.length;chText++){				
				switch(rootObject[rtRec].childNodes[recElem].childNodes[chText].nodeName){
				case "track":
					Trk=rootObject[rtRec].childNodes[recElem].childNodes[chText].childNodes[0].nodeValue;
					break;
				case "url" :
					Lnk=rootObject[rtRec].childNodes[recElem].childNodes[chText].childNodes[0].nodeValue;
				  //PuttingDataOnPage("L",'<a href="#" onclick="LoadPageLocation('+String("'") +Lnk+String("'")+');">'+Trk+'</a>');
					PuttingDataOnPage("L",'<a href="'+RemoveNoData(Lnk)+'" target="_blank">'+Trk+'</a>');
					break;
				default:					
				}
			}
		}
	}

}

function PuttingDataOnPage(txtMode,lstText){
	if(txtMode=="L"){
		var lstObject=document.getElementById("listleftalign");
		var liObject=document.createElement("li");
		liObject.style.marginBottom="5px";
		liObject.innerHTML=lstText;
		lstObject.appendChild(liObject);
	}else if(txtMode=="H"){
		var hObject=document.getElementById("trackHeading");
		hObject.innerHTML=lstText;
	}
}

function LoadPageLocation(urlLoc){
	window.open(urlLoc);
	return false;
}

function RemoveList(){
	var lstObject=document.getElementById("listleftalign");
		lstObject.innerHTML="";		
}

function RemoveNoData(NData){
	if(NData=='nodata')
		return "";
	else
		return NData; 
}