	var http = getHTTPObject(); 
	var httpRating = getHTTPObject(); 

	var timeOut = setInterval("songRead()", 30000);
	var blendTimer;
	var first = true;
	var currentArtwork = '';
	var flipper = 0;

	function rand (n) {
		return (Math.floor (Math.random () * n + 1 ));
	}
              
	function getHTTPObject() { 
		var xmlhttp; 
		/*@cc_on @if (@_jscript_version >= 5) 
		try { 
			xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
		} 
		catch (e) { 
			try { 
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
			} 
			catch (E) { 
				xmlhttp = false; 
			} 
		} 
		@else xmlhttp = false; 
		@end @*/  
		if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { 
			try { 
				xmlhttp = new XMLHttpRequest(); 
			} 
			catch (e) { 
				xmlhttp = false; 
			} 
		} 
		return xmlhttp; 
	} 
    
	function rdsInfo () {
		if (document.getElementById && document.all) { 
			var Stamp = new Date();
			var myURL = url + "?" + Stamp.getSeconds() + Stamp.getMinutes() + Stamp.getHours();
		}
		else
			myURL = url;
        
		http.open("GET", myURL, true); 
		http.onreadystatechange = handleHttpResponse; 
		http.send(null);
	}
                
	function handleHttpResponse() {
		if (http.readyState == 4) {
			var oldDomain = document.domain;
			document.domain = "radiofreedavid.com";
			var Stamp = new Date();    
			var info_array = http.responseText.split("/*/");

			var myID = document.getElementById('songdata');
			var info = '<h3>' + info_array[0] + '<br />' + info_array[1] + ' ' + info_array[2] + '</h3>';
				myID.innerHTML = info;

			info = '';
			var rating = Math.round(info_array[4] / 2);
			if (rating != 0) {
				info+= '<img src="http://www.radiofreedavid.com/images/star_' + rating + '.gif" alt="Song Rating" /><br />';
			}
			
			info+= '<p>Album: ' + info_array[13].replace(/^\s*|\s*$/g, "") + '<br />';
			
        //var ratingImage = 'http://www.radiofreedavid.com/images/pixel';
        //var displayType = 'none';
        //if (rating == 0 && songText != '') {
        //  ratingImage = 'http://www.radiofreedavid.com/images/rateme';
        //  displayType = "none";
        //}
        //else if (rating != 0) {
        //  ratingImage = 'http://www.radiofreedavid.com/images/rating_' + rating;
        //  displayType = "block";
        //}
          
        //ratingImage+= ".gif";
        //if (document.getElementById && document.all) { 
        //  ratingImage+= "?" + Stamp.getSeconds() + Stamp.getMinutes() + Stamp.getHours();
        //}     

        //myID = document.getElementById('ratingimage');
        //myID.src = ratingImage;

        //var rateID = document.getElementById('ratelink');        
        //rateID.style.display = displayType;
        
			if (info_array[15] != '')
				info+= 'Year: ' + info_array[15] + '<br />';
			info+= 'Duration: ' + info_array[17] + '<br />';
			if (info_array[16] != '')
				info+= 'Label: ' + info_array[16] + '<br />';
			if (info_array[14] != '')
				info+= 'Composer: ' + info_array[14] + '<br />';
			if (info_array[6] != '') {
				info+= '<img src="images/small_cd.gif" alt="Buy CD" />' +
				//Priced from $2.48 to $15.98 (
				'<a href="' + info_array[6] + '" id="buycd" >Buy CD</a>'
			}
			info+= '</p>';

			document.getElementById('albumdata').innerHTML = info;

			myID = document.getElementById('lyricsdata');
			myID.innerHTML = info_array[18];

			myID = document.getElementById('last_played');
			myID.innerHTML = '<p class="historylist"><strong>' + info_array[20] + '</strong><br />' + info_array[21] + '</p>' + 
				'<p class="historylist"><strong>' + info_array[22] + '</strong><br />' + info_array[23] + '</p>' +
				'<p class="historylist"><strong>' + info_array[24] + '</strong><br />' + info_array[25] + '</p>' +
				'<p class="historylist"><strong>' + info_array[26] + '</strong><br />' + info_array[27] + '</p>' +
				'<p class="historylist"><strong>' + info_array[28] + '</strong><br />' + info_array[29] + '</p>';
        
			document.getElementById('songid').innerHTML = info_array[3].replace(/^\s*|\s*$/g, "");
			
			//alert (info_array[19]);
			for (var i = 0; i < document.ratingform.rating.length; i++) {
				if (info_array[19] == i + 1)
					document.ratingform.rating[i].checked = true;
				else
					document.ratingform.rating[i].checked = false;
			}

        //rating = Math.round(info_array[4] / 2);
        //var ratingImage = 'http://www.radiofreedavid.com/images/pixel';
        //var displayType = 'none';
        //if (rating == 0 && songText != '') {
        //  ratingImage = 'http://www.radiofreedavid.com/images/rateme';
        //  displayType = "none";
        //}
        //else if (rating != 0) {
        //  ratingImage = 'http://www.radiofreedavid.com/images/rating_' + rating;
        //  displayType = "block";
        //}
          
        //ratingImage+= ".gif";
        //if (document.getElementById && document.all) { 
        //  ratingImage+= "?" + Stamp.getSeconds() + Stamp.getMinutes() + Stamp.getHours();
        //}     

        //myID = document.getElementById('ratingimage');
        //myID.src = ratingImage;

        //var rateID = document.getElementById('ratelink');        
        //rateID.style.display = displayType;
        
			var artwork = info_array[5].replace(/^\s*|\s*$/g,""); 
			if (artwork != '')
				artwork = "http://www.radiofreedavid.com/images/albumart/" + artwork;
			else
				artwork = "http://www.radiofreedavid.com/images/pixel.gif";
			if (document.getElementById && document.all)  
				artwork+= "?" + Stamp.getSeconds() + Stamp.getMinutes() + Stamp.getHours();
			myID = document.getElementById('coverart');

        //var requestID = document.getElementById('requestblock');        
        //if (info_array[7] != 0) {
        //  myID = document.getElementById('requestdata'); 
        //  myID.innerHTML = info_array[12];
        //  requestID.style.display = 'block';          
        //}
        //else
        //  requestID.style.display = 'none';          

        currentArtwork = artwork;				// Set this up for later
        clearInterval (timeOut);
        var interval = parseInt(info_array[10]);
        
        //fader = setTimeout ("opacity('coverart', 100, 0, 1000)", interval - 1000);
        timeOut = setInterval("rdsInfo()", interval);
        //flipper = setTimeout ("setArtwork('" + myID + "')", interval + 1000);
        //if (first)
          myID.src = artwork;
        //opacity('coverart', 0, 100, 1000);
        //alert ("Interval set to " + interval + " seconds\nSong Duration: " + info_array[8] + 
        //  "\nTime Left: " + info_array[10] + "\nArtwork:" + artwork);

		first = false;
		
        try {
          document.domain = oldDomain;
        } catch (e) {}        
      }
    }

	function doRating() {
		var myID = document.getElementById('songid');
		var songID = myID.innerHTML;
		rating = -1;
		for (var i = 0; i < document.ratingform.rating.length; i++) {
			if (document.ratingform.rating[i].checked)
				rating = i;
		}
		rating++;
		
		if (rating > 0) {
			myURL = ratingURL + "?s=" + songID + "&r=" + rating;
			httpRating.open("GET", myURL, true); 
			httpRating.onreadystatechange = handleHttpResponseRating; 
			httpRating.send(null);
		}
		else
			alert ('You need to select a button that relfects how you feel about this song, then click the "Rating" button.');
	}
	
	function handleHttpResponseRating() {
		if (httpRating.readyState == 4) {
			var result = httpRating.responseText;
			if (result == 'OK')
				alert ('Thank you for your rating!');
			else {
				alert ('Unfortunately, there was an error saving your rating. Please try again soon, and we are sorry for the inconvenience.');
				alert (result);
			}
		}
	}
		
function setArtwork (id) {
  //id.src = currentArtwork
  opacity('coverart', 0, 100, 1000);
  //alert ("Faded: " + currentArtwork);
}

function blendimage(divid, imageid, imagefile, millisec) {
    var speed = Math.round(millisec / 100);
    var timer = 0;
    
    //set the current image as background
    //document.getElementById(divid).style.backgroundImage = "url(" + document.getElementById(imageid).src + ")";
    var theurl = 'channelimages/cover_art.jpg';
    //document.getElementById(divid).style.backgroundImage = "url(" + theurl + ")";
    
    //make image transparent
    changeOpac(0, imageid);
    
    //make new image
    //document.getElementById(imageid).src = imagefile;

    //fade in image
    //for(i = 0; i <= 100; i++) {
    //    setTimeout("changeOpac(" + i + ",'" + imageid + "')",(timer * speed));
    //    timer++;
    //}
}

var timer = 0;

function fadetoNext (id, millisec, artwork) {
  var speed = Math.round(millisec / 100);
  opacity (id, 100, 0, millisec);
  setTimeout("changeArtwork('" + id + "','" + artwork + "')",(timer * speed));
  timer++;
  opacity (id, 0, 100, millisec);
}

function changeArtwork (id, artwork) {
  document.getElementById(id).src = artwork;
}

function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')", (timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
} 

