function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}

var songInfoReq = GetXmlHttpObject();

var popup_W = 800;
var popup_H = screen.height - 70;

var winPlayer = null;
var checkPopupLoaded = false;
var songsCache = [];

function $2(id , bdocument){
	if (!bdocument) bdocument = document;
	if (bdocument.getElementById) {
		return (bdocument.getElementById(id));
	} else if (bdocument.all) {
		return (bdocument.all[id]);
	} else {
		if ((navigator.appname.indexOf("Netscape") != -1) && parseInt(navigator.appversion == 4)) {
			return (bdocument.layers[id]);
		}
	}
}

function toggleVisible(obj)
{
	if (typeof(obj) != "object")
	{
		obj = $2(obj);
	}
	
	if (obj)
	{
		
		if (obj.style.display == "none")
		{
			obj.style.display = "block";
		}
		else
		{
			obj.style.display = "none";
		}
	}
}

function checkall(id,value)
{	
	var i = 0;
	var k=0;
	while (true)
	{
		t = $2(id + i.toString());
		if (!t)
		{
			if (k >= 10) break;
			k++;
			i++;
			continue;
		}
		k=0;
		t.checked = value;
		i++;
	}
}

function checkall_fix(id,value)
{
	checkall(id,value);
}

function randomID(l)
{
	if (!l) l = 20;
	
	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	var string_length = l;
	var randomstring = '';
	for (var i=0; i<string_length; i++)
	{
		var rnum = Math.floor(Math.random() * chars.length);
		randomstring += chars.substring(rnum,rnum+1);
	}
	
	return randomstring;
}

function openWin(u,w,h,wid)
{
	if (!wid) wid = "new_window";
	return window.open(u,wid,'toolbar=0,menubar=0,scrollbars=0,status=1,resizable=1,width=' + w + ',height=' + h);
}

function createPlaylist(type,url,prefix,surfix)
{
	ids = '';
	i = 0;
	k = 0;
	
	while (true)
	{
		o = $2('entry_' + i);
		if (!o)
		{
			if (k >= 10) break;
			k++;
			i++;
			continue;
		}
		if (o.checked) ids += o.value + ',';
		i++;
	}
	
	if (ids == '')
	{
		alert("Please select some songs first.");
		return;
	}
	
	html = "<html>";
	html += "<form id='myFRM' action=\"" + url + "\" method=post>";
	html += "<input type=hidden name='type' value='" + type + "'/>";
	html += "<input type=hidden name='id' value='" + ids + "'/>";
	
	if (typeof(XKEY) != 'undefined')
	{
		html += "<input type=hidden name=xkey value='" + XKEY + "'/>";
	}
	
	html += "<input type=hidden name=prefix value='" + prefix + "'/>";
	html += "<input type=hidden name=surfix value='" + surfix + "'/>";
	html += "</form>";
	html += "</html>";
	
//	alert('Create player ');

	winPlayer = open( "", "player_window", 'toolbar=0,menubar=0,scrollbars=0,status=1,resizable=1,width=' + popup_W + ',height=' + popup_H );

	if( !winPlayer || winPlayer.closed || !winPlayer.baseURL )
	{
		winPlayer = window.open( "http://www.indiafms.com/player/bridge/player/popup", "player_window", 'toolbar=0,menubar=0,scrollbars=0,status=1,resizable=1,width=' + popup_W + ',height=' + popup_H );
		checkPopupLoaded = false;
	}
	
	getSongsInfo(url + '/ids/' + ids);
}


function getSongsInfo(url) {
//	alert('getSongsInfo');
	if (songInfoReq.readyState == 4 || songInfoReq.readyState == 0) {
//		alert('make Request');
		songInfoReq.open("GET", url, true);
		songInfoReq.onreadystatechange = handleSongsInfo; 
		songInfoReq.send(null);
	}		
}

function handleSongsInfo() {
	if (songInfoReq.readyState == 4) {
		
		var SongsInfoResponse = songInfoReq.responseText;
		var songs = SongsInfoResponse.split("\n");
		var songs_url,songs_name,songsTemp="";
		
		for(i=0; i < songs.length - 1; i++) {			
			var songData = songs[i].split("|");
//			alert(' append :'+songData[1]);
			
//			if( typeof winPlayer.addSong == 'function' && winPlayer.popupLoaded=='1' ) {
//				alert('Adding song');
//				winPlayer.addSong(songData[1],songData[0]);
//			} else {
				var songsTemp = [];
				songsTemp[0] = songData[0]; // song URL
				songsTemp[1] = songData[1]; // song name
				songsCache[i]= songsTemp;		
//			}
		}
		
		
		setTimeout('loadSongs()', 1000);
	}
}

function loadSongs()
{
	// delay
/* typeof(winPlayer.addSong) != 'function' ||  */
	if (!winPlayer || !winPlayer.popupLoaded)
	{
		setTimeout('loadSongs()', 1000);
		return;
	}
		for (var i = 0; i < songsCache.length; i++) {
//			alert ("loading song - "+songsCache[i][1]);
			winPlayer.addSong(songsCache[i][1],songsCache[i][0]);
		}	
		checkPopupLoaded = true;
		songsCache = [];		
		winPlayer.focus();
}