 //These functions allow for the expansion of text on the MP3 Previews

function showHide(elementID) {
    var desc = null;

    if (document.getElementById) {
      desc = document.getElementById("cnt_desc_" + elementID);
    } else if (document.all) {
      desc = document.all["cnt_desc_" + elementID];
    } else if (document.layers) {
      desc = document.layers["cnt_desc_" + elementID];
    }

    if (desc) {
      if (desc.style.display == 'none') {
        expand(elementID);
      } else {
        collapse(elementID);
      }
    }
  }

  function expand(elementID) {
    var cnt = null;
    var desc = null;
    var icon = null;

    if (document.getElementById) {
      cnt = document.getElementById("cnt_" + elementID);
      desc = document.getElementById("cnt_desc_" + elementID);
      desc_short = document.getElementById("cnt_desc_short_" + elementID);
	  //title = document.getElementById("cnt_title_" + elementID);
    } else if (document.all) {
      cnt = document.all["cnt_" + elementID];
      desc = document.all["cnt_desc_" + elementID];
      desc_short = document.all["cnt_desc_short_" + elementID];
	  //title = document.all["cnt_title_" + elementID];
    } else if (document.layers) {
      cnt = document.layers["cnt_" + elementID];
      desc = document.layers["cnt_desc_" + elementID];
      desc_short = document.layers["cnt_desc_short_" + elementID];
	  //title = document.layers["cnt_title_" + elementID];
    }

    if (desc.style.display == 'none') {
      //cnt.style.backgroundColor = '#EEEEEE';
      //cnt.style.border = '1px solid #DDDDDD';
      cnt.style.padding = '0px';
      cnt.style.marginBottom = '5px';
	  cnt.style.marginLeft = '0px';
      desc.style.display = 'block';
	  desc_short.style.display = 'none';
      //icon.src = "images/icon_minus.gif"
	  //title.style.color = '#666666';
    }
  }

  function collapse(elementID) {
    var cnt = null;
    var desc = null;
    var icon = null;

    if (document.getElementById) {
      cnt = document.getElementById("cnt_" + elementID);
      desc = document.getElementById("cnt_desc_" + elementID);
      desc_short = document.getElementById("cnt_desc_short_" + elementID)
	  //title = document.getElementById("cnt_title_" + elementID);
    } else if (document.all) {
      cnt = document.all["cnt_" + elementID];
      desc = document.all["cnt_desc_" + elementID];
      desc_short = document.all["cnt_desc_short_" + elementID];
      //title = document.all["cnt_title_" + elementID];
    } else if (document.layers) {
      cnt = document.layers["cnt_" + elementID];
      desc = document.layers["cnt_desc_" + elementID];
      desc_short = document.layers["cnt_desc_short_" + elementID];
	  //title = document.layers["cnt_title_" + elementID];
    }

    if (desc.style.display != 'none') {
      cnt.style.backgroundColor = '';
      cnt.style.border = '';
      cnt.style.padding = '';
      cnt.style.marginBottom = '';
      desc.style.display = 'none';
	  desc_short.style.display = 'block';
      //icon.src = "images/icon_plus.gif"
	  //title.style.color = '#FFFFFF';
    }
  }

  function expandAll() {
    var cnt = null;

    if (document.body.getElementsByTagName) {
      cnt = document.body.getElementsByTagName('DIV');
    } else if (document.body.all) {
      cnt = document.body.all.tags('DIV');
    }

    if (cnt) {
      for (var i=0; i<cnt.length; i++) {
        if (cnt[i].id.substring(0, 4) == 'cnt_') {
          if (cnt[i].id.substring(0, 5) != 'cnt_d') {
            expand(cnt[i].id.substring(4));
          }
        }
      }
    }
  }

  function collapseAll() {
    var cnt = null;

    if (document.body.getElementsByTagName) {
      cnt = document.body.getElementsByTagName('DIV');
    } else if (document.body.all) {
      cnt = document.body.all.tags('DIV');
    }

    if (cnt) {
      for (var i=0; i<cnt.length; i++) {
        if (cnt[i].id.substring(0, 4) == 'cnt_') {
          if (cnt[i].id.substring(0, 5) != 'cnt_d') {
            collapse(cnt[i].id.substring(4));
          }
        }
      }
    }
  }

function popupWindow(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=500,height=450,screenX=150,screenY=150,top=150,left=150')
}


function popupWindowLyrics(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=500,height=450,screenX=150,screenY=150,top=150,left=150')
}

function popupWindow2(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=520,height=320,screenX=150,screenY=150,top=150,left=150')
}

function popupWindowRateSong(url) {
  window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no,width=420,height=320,screenX=150,screenY=150,top=150,left=150')
}


/*******************************************************************************
Custom functions added for updating track listens and views
********************************************************************************/
var currentState = "NONE"; 
var previousState = "NONE"; 

var player = null;
function playerReady(thePlayer) {
	player = document.getElementById(thePlayer.id);
	addListeners();
}


function addListeners() {
	if (player) { 
		player.addModelListener("STATE", "stateListener");
	} else {
		setTimeout("addListeners()",100);
	}
}
// This function gets pinged when the track begins.
function stateListener(obj) { //IDLE, BUFFERING, PLAYING, PAUSED, COMPLETED
	currentState = obj.newstate; 
	previousState = obj.oldstate; 

	var id = document.getElementById("id").value;
	var type = document.getElementById("type").value;



	var tmp = document.getElementById("stat");
	if (tmp) { 
		tmp.innerHTML = "current state: " + currentState + 
		"<br>previous state: " + previousState; 
	}

	if ((currentState == "PLAYING")&&(previousState != "PAUSED")) {
		callServerUpdate(id,type)
	}
}



/* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
try {
  xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
  try {
    xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (e2) {
    xmlHttp = false;
  }
}
 

if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
  xmlHttp = new XMLHttpRequest();
}



function callServerUpdate(id, type) {
//alert("id = " + id + "Type = " + type)
    // Build the URL to connect to
    var url = "/update_listens_views.php?id=" + id + "&type=" + type;

//alert(url)

	// Open a connection to the server
    xmlHttp.open("GET", url, true);
  
    // Setup a function for the server to run when it's done
    //xmlHttp.onreadystatechange = updatePage;
  
    // Send the request
    xmlHttp.send(null);
  
}//ends callServer() Function
 
function updatePage() {
  if (xmlHttp.readyState == 4) {
    var response = xmlHttp.responseText;
    document.getElementById("aaron").innerHTML = response;
  }
}
