// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults


/** OLD JAVASCRIPT **/

/* GENERAL FUNCTION */

function element(id){
 if(document.getElementById != null){
  return document.getElementById(id);
 }
 if(document.all != null){
  return document.all[id];
 }
 if(document.layers != null){
  return document.layers[id];
 }
 return null;
}

function DL_GetElementLeft(eElement) {
 var nLeftPos = eElement.offsetLeft;
 var eParElement = eElement.offsetParent;
 while (eParElement != null) {
  nLeftPos += eParElement.offsetLeft;
  eParElement = eParElement.offsetParent;
 }
 return nLeftPos;
}

function DL_GetElementTop(eElement) {
 var nTopPos = eElement.offsetTop;
 var eParElement = eElement.offsetParent;
 while (eParElement != null) {
  nTopPos += eParElement.offsetTop;
  eParElement = eParElement.offsetParent;
 }
 return nTopPos;
}


/* TABLE ROW HOVER FUNCTION */

function lu(str) {
 var mVar1 = 'td1' + str;
 var mVar2 = 'td2' + str;
 var mVar3 = 'td3' + str;
 var mVar4 = 'td4' + str;

 var myEl1 = element(mVar1);
 var myEl2 = element(mVar2);
 var myEl3 = element(mVar3);
 var myEl4 = element(mVar4);

 if(myEl1) {
  myEl1.style.backgroundColor = '#005A94';
  myEl1.style.color = '#ffffff';
 }
 if(myEl2) {
  myEl2.style.backgroundColor = '#005A94';
  myEl2.style.color = '#ffffff';
 }
 if(myEl3) {
  myEl3.style.backgroundColor = '#005A94';
  myEl3.style.color = '#ffffff';
 }
 if(myEl4) {
  myEl4.style.backgroundColor = '#005A94';
  myEl4.style.color = '#ffffff';
 }
}

function lo(str) {
 var mVar1 = 'td1' + str;
 var mVar2 = 'td2' + str;
 var mVar3 = 'td3' + str;
 var mVar4 = 'td4' + str;

 var myEl1 = element(mVar1);
 var myEl2 = element(mVar2);
 var myEl3 = element(mVar3);
 var myEl4 = element(mVar4);

 if(myEl1) {
  myEl1.style.backgroundColor = '#f1f1f1';
  myEl1.style.color = '#005A94';
 }
 if(myEl2) {
  myEl2.style.backgroundColor = '#f1f1f1';
  myEl2.style.color = '#005A94';
 }
 if(myEl3) {
  myEl3.style.backgroundColor = '#f1f1f1';
  myEl3.style.color = '#005A94';
 }
 if(myEl4) {
  myEl4.style.backgroundColor = '#f1f1f1';
  myEl4.style.color = '#005A94';
 }
}


/* TABBED NAVIGATION FUNCTION */

function sM(id,tog) {
 var obj=element("sub" + id);
 var idE=element(id);
 var idA=element(id+'a');

 if(tog=="off") {
  obj.style.display = "none";
  idA.style.backgroundColor = "#003366";
 }
 else {
  var lN = DL_GetElementLeft(idE);
  var tN = DL_GetElementTop(idE);
  var h = parseInt(idE.style.height);
  leftNum=parseInt(lN);
  tN=parseInt(tN);
  tN=tN+(h+2);
  lN=lN-2;
  obj.style.display = 'block';
  obj.style.top = tN + 'px';
  obj.style.left = lN + 'px';
  obj.style.zIndex = 8;
  idA.style.backgroundColor = "#0D3D6E";
 }
}


Event.observe(window, "load", function() {
	if($('user_nickname')) {
  	Event.observe("user_nickname","keyup", user_nickname);
	}
});


function user_nickname() {
	var url = "/users/nickname/"+$('user_nickname').value;
	new Ajax.Request(url, {
    method: 'get', 
		evalJSON: true,
    onSuccess: function(response) { }
  });
}

/* 
This function integrates with the auto_complete_for plugin.
Basically, auto_complete_for only works when you click on an item in the drop down. 
This functionality allows onBlur of the field to set the id to the currently highlighted item in the drop down.
*/

function auto_complete_tab_key_press(id) {
	// console.log('id clicked: ' + id);
  $$("#"+id+" li").each(function update(item) {		
		if(item.className == 'thisuser selected') {
			var idstring = item.title;
			// console.log("idstring: " + idstring);
			obj = idstring.split("^");
			id = obj[0];
			idonpage = obj[1];
			// console.log('settings idonpage: ' + idonpage + ' to ' + id);
			$(idonpage).value=id;			
		}
	});
}


function play_itune(id) {
	var url = "/itunes/"+id;
	new Ajax.Request(url, {
    method: 'get', 
		evalJSON: true,
    onSuccess: function(response) { }
  });
}