/***********************************************
* Dynamic Ajax Content- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/

var bustcachevar=1 //bust potential caching of external pages after initial request? (1=yes, 0=no)
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""
var comment_location

function ajaxpage(url, containerid, ts, tzOffset){
if(!tzOffset) var tzOffset = 0
if(!ts) var ts = 0
var page_request = false
if (window.XMLHttpRequest) // if Mozilla, Safari etc
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){ // if IE
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
} 
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid, ts, tzOffset)
}
if (bustcachevar) //if bust caching of external page
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}

function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1)) {
  document.getElementById(containerid).innerHTML=page_request.responseText
}
}

function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
if (file.indexOf(".js")!=-1){ //If object is a js file
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){ //If object is a css file
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" " //Remember this object as being already added to page
}
}
}


/* ************************************************************
	The Functions below submit a form through the AJAX DIV
		in the blog section. This includes:
			- Change Genre in Admin Control Panel (djs.php)
   ********************************************************* */

function ajaxcombo(selectobjID, loadarea){
var selectobj=document.getElementById? document.getElementById(selectobjID) : ""
if (selectobj!="" && selectobj.options[selectobj.selectedIndex].value!="") {
var genre = selectobj.options[selectobj.selectedIndex].value
ajaxpage('_shows.php?genre='+genre, loadarea)
}
}

function sendShowSearch(){
var params = Form.serialize($('searchShows'));
new Ajax.Updater('show_list', '../admin/_shows.php', {asynchronous:true, parameters:params});
}

function submitenter(myfield,e){
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   sendShowSearch();
   return false;
   }
else
   return true;
}

function submitenter_login(myfield,e){
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
else return true;

if (keycode == 13)
   {
   document.forms["login_form"].submit();
   return false;
   }
else
   return true;
}


/* ************************************************************
	The function below submits the form to donate to paypal
	(original form is located in the top navigation of the site)
   ********************************************************* */

function radio_update_inputs()
{
   var s_form = document.schedule_form
   if (s_form.editInputs[1].checked) {
      s_form.es1.disabled=true
      s_form.es2.disabled=true
      s_form.right.disabled=true
      s_form.left.disabled=true
   } else {
      s_form.es1.disabled=false
      s_form.es2.disabled=false
      s_form.right.disabled=false
      s_form.left.disabled=false
   }
}

/* ************************************************************
	The function below sends an alert box asking the user
	to confirm deleting an object
   ********************************************************* */

function confirmDelete()  {
var agree=confirm("Are you sure you wish to DELETE?");
if (agree) {
	sendFriends();
	return true ;
} else
	return false ;
}

/* ************************************************************
	The function below is used to hide and show a DIV
   ********************************************************* */

function togglediv() {
	var ele = document.getElementById("hideShow");
	if(ele.style.display == "block") {
    		ele.style.display = "none";
  	}
	else {
		ele.style.display = "block";
	}

} 

/* ************************************************************
	The function below should help the smilies perform
	their function inside an AJAX div
   ********************************************************* */

function insert_smilies(id) { 
	comment_location.value+=' '+id+' ' 
}


/* ************************************************************
	The functions below are used to control the schedule
	page and articles page in the Admin Panel
   ********************************************************* */

function showChange() {
  var mylist=document.getElementById("sid");
  var genre=document.forms.schedule_form.genre.value=mylist.options[mylist.selectedIndex].id;
  document.forms.schedule_form.djs.value=mylist.options[mylist.selectedIndex].title;
  if(genre == "") {
    document.forms.schedule_form.type[0].disabled = true; 
    document.forms.schedule_form.type[1].disabled = true; 
    document.forms.schedule_form.type[2].disabled = true; 
    document.forms.schedule_form.type[3].disabled = true; 
    document.getElementById("datetime").style.display="none";
  } else {
    document.forms.schedule_form.type[0].disabled = false; 
    document.forms.schedule_form.type[1].disabled = false; 
    document.forms.schedule_form.type[2].disabled = false; 
    document.forms.schedule_form.type[3].disabled = false; 
    document.getElementById("datetime").style.display="block";
  }
}

function typeChange(type) {
  document.getElementById("daily").style.display="none";
  document.getElementById("weekly").style.display="none";
  document.getElementById("monthly").style.display="none";
  switch(type) {
    case 'daily':
      document.getElementById("daily").style.display="block";
      break;
    case 'weekly':
      document.getElementById("weekly").style.display="block";
      break;
    case 'monthly':
      document.getElementById("monthly").style.display="block";
      break;
  }
}

function changeMonthly(type) {
  var daysOp = document.getElementById("daysMon");
  var weeksOp = document.getElementById("onMon");
  switch(type) {
    case 'days':
      daysOp.style.display = "block";
      weeksOp.style.display = "none";
      break;
    case 'weeks':
      daysOp.style.display = "none";
      weeksOp.style.display = "block";
      break;
    default:
      break;
  }
}

function articleChange(type) {
  document.getElementById("single").style.display="none";
  document.getElementById("various").style.display="none";
  document.getElementById("event").style.display="none";
  switch(type) {
    case 'single':
      document.getElementById("single").style.display="block";
      break;
    case 'various':
      document.getElementById("various").style.display="block";
      break;
    case 'event':
      document.getElementById("event").style.display="block";
      break;
  }
}

var trackCount = 0;
var guestCount = 0;
var djCount = 0;

function articleTracks(divID) {
  var tracksDiv = document.getElementById(divID)
  var trackNum = 0
  var returnDIV = ""

  if(divID == 'stracks') tracksNum = document.forms.article_form.s3.value
    else tracksNum = document.forms.article_form.v2.value

  if(tracksNum > 50 || tracksNum < 1) {
    trackCount = 0
    tracksDiv.innerHTML = returnDIV;
    return;
  }

  var trackChange = trackCount - tracksNum
  if(trackChange < 0) incrementCount(tracksNum,divID)
    else decCount(tracksNum,divID)
}

function incrementCount(numFields,divID,title,mix,link,artist) {
  var formID = document.getElementById(divID);
  if(!title) var title = ""
  if(!artist) var artist = ""
  if(!mix) var mix = ""
  if(!link) var link = ""
  
  for(n=trackCount;n<numFields;n++) {
    trackCount = trackCount + 1
    formID.appendChild(document.createElement('div')).innerHTML = "<table width=\"650px\">"
      + "<tr><td width=\"160px\"></td><td><input type=\"text\" name=\"track"+n+"\" value=\""+title+"\" /></td>"
      + "<td><input type=\"text\" name=\"mix"+n+"\" value=\""+mix+"\" /></td>"
      + "<td><input type=\"text\" name=\"link"+n+"\" value=\""+link+"\" /></td></tr>"
      + "</table>";
  }
}

function decCount(numFields,divID) {
  var formID = document.getElementById(divID);

  for(n=trackCount;n>numFields;n--) {
    trackCount = trackCount - 1
    if (formID.lastChild.nodeName.toLowerCase() == 'div')
      formID.removeChild(formID.lastChild);
  }
}

function incGuestCount(admin,name,desc,link,linkt,tracks,id) {
  var formID = document.getElementById('guestMix');
  if(!name) var name = ""
  if(!desc) var desc = ""
  if(!link) var link = ""
  if(!link) var linkt = ""
  if(!tracks) var tracks = ""
  if(!id) var id = ""
  var field1,field2,field3,field4,field5
  var cdiv = document.createElement('div')
  
  guestCount = guestCount + 1
  if(guestCount > 1) cdiv.innerHTML += "<hr />"

  field1 = document.createElement('input')
  field1.setAttribute("type","hidden")
  field1.setAttribute("name","gID"+guestCount)
  field1.setAttribute("id","gID"+guestCount)
  field1.setAttribute("value",id)

  field2 = document.createElement('input')
  field2.setAttribute("type","text")
  field2.setAttribute("name","name"+guestCount)
  field2.setAttribute("value",name)
  field2.setAttribute("style","width:350px;")

  field3 = document.createElement('textarea')
  field3.setAttribute("name","tracks"+guestCount)
  field3.innerHTML = tracks
  field3.setAttribute("style","width:350px;height:100px;")

  field4 = document.createElement('textarea')
  field4.setAttribute("name","desc"+guestCount)
  field4.innerHTML = desc
  field4.setAttribute("style","width:350px;height:100px;")

  cdiv.appendChild(field1)
  cdiv.innerHTML += "<p><label>Guest DJ Name</label>"
  cdiv.appendChild(field2)
  cdiv.innerHTML += "</p>\n<p><label>Guest Episode Tracks</label>"
  cdiv.appendChild(field3)
  cdiv.innerHTML += "<p><label>Guest Episode Description</label>"
  cdiv.appendChild(field4)
  cdiv.innerHTML += "</p>\n"

  if(linkt == '1') link1 = "checked"; else link1 = ""
  if(linkt == '2') link2 = "checked"; else link2 = ""
  cdiv.innerHTML += "<p><label>Guest Episode Download</label>"
    + "<input type=\"radio\" name=\"type"+guestCount+"\" value=\"1\"  onclick=\"gedChange('"+guestCount+"','1','"+link+"','"+linkt+"','"+id+"')\" "+link1+" /> File Upload "
    + "<input type=\"radio\" name=\"type"+guestCount+"\" value=\"2\"  onclick=\"gedChange('"+guestCount+"','2','"+link+"','"+linkt+"','"+id+"')\" "+link2+" /> External Link"
  cdiv.innerHTML += "<p id=\"ged"+guestCount+"\"></p>"
  formID.appendChild(cdiv)
  gedChange(guestCount,linkt,link,linkt)
}

function decGuestCount() {
  var formID = document.getElementById('guestMix');

  if(guestCount > 0) {
    guestCount = guestCount - 1
    if (formID.lastChild.nodeName.toLowerCase() == 'div')
      formID.removeChild(formID.lastChild);
  }
}

function edChange(id,type,link,linkt) {
  var divid = document.getElementById("epdownload")
  switch(type) {
    case '1':
      divid.innerHTML = "<label>&nbsp;</label>"
      if(linkt==1) divid.innerHTML += "<input type=\"file\" name=\"p5\" size=\"55\" value=\""+link+"\" />"
        else divid.innerHTML += "<input type=\"file\" name=\"p5\" size=\"55\" />"
		if(link != "" && link.substring(0,39)=="http://download.pure.fm/filescraper.php") divid.innerHTML += "<p><label>&nbsp;</label><a href=\""+link+"\">"+link+"</a> <a href=\"showsv.php?episode=delfile&eid="+id+"\" onclick=\"return confirmDelete()\">Delete</a></p>"
      break;
    case '2':
      divid.innerHTML = "<label>&nbsp;</label>"
      if(linkt==2) divid.innerHTML += "<input type=\"text\" name=\"p5\" size=\"55\" value=\""+link+"\" />"
        else divid.innerHTML += "<input type=\"text\" name=\"p5\" size=\"55\" value=\""+link+"\" />"
      break;
    default:
      break;
  }
}

function gedChange(id,type,link,linkt,gid) {
  var divid = document.getElementById("ged"+id)

  field5 = document.createElement('input')
  field5.setAttribute("type","text")
  field5.setAttribute("name","link"+guestCount)
  field5.setAttribute("id","link"+guestCount)
  field5.setAttribute("style","width:350px;")

  switch(type) {
    case '1':
      if(linkt==1) field5.setAttribute("value",link)
        else field5.setAttribute("value","")
      field5.setAttribute("readonly","readonly")
      divid.innerHTML="<label>&nbsp;</label>";
      divid.appendChild(field5)
      divid.innerHTML += " <a href=\"_upload.php?fileBox="+guestCount+"&gid="+gid+"&placeValuesBeforeTB_=savedValues&TB_iframe=true&height=225&width=400&modal=true\" class=\"thickbox\">Upload</a>"
      if(link!="") divid.innerHTML += " | <a href=\"showsv.php?episode=delfile&gid="+id+"\" onclick=\"return confirmDelete()\">Delete</a>"
      tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to apply thickbox
      break;
    case '2':
      if(linkt==2) field5.setAttribute("value",link)
        else field5.setAttribute("value","")
      divid.innerHTML="<label>&nbsp;</label>";
      divid.appendChild(field5)
      break;
    default:
      divid.innerHTML="<label>&nbsp;</label>";
      break;
  }
}

function incTrackCount(formId,id,name,desc,link) {
  var formID = document.getElementById(formId);
  if(!id) var id = ""
  if(!name) var name = ""
  if(!desc) var desc = ""
  if(!link) var link = ""
  if(formId.substring(0,8) == "guestDiv") {
    guestCount = guestCount + 1
    formID.appendChild(document.createElement('div')).innerHTML = "<input type=\"hidden\" name=\"gi"+guestCount+"\" value=\""+id+"\" />"
      + "<p><label>Title / Artist</label><input type=\"text\" name=\"gt"+guestCount+"\" style=\"width:350px\" /> "
      + "<input type=\"text\" name=\"ga"+guestCount+"\" style=\"width:250px\" /></p>"
  } else {
    trackCount = trackCount + 1
    formID.appendChild(document.createElement('div')).innerHTML = ""
      + "<p><label>Title / Artist</label><input type=\"text\" name=\"tt"+trackCount+"\" style=\"width:350px\" /> "
      + "<input type=\"text\" name=\"ta"+trackCount+"\" style=\"width:250px\" /></p>"
  }
}

function decTrackCount(formId) {
  var formID = document.getElementById(formId);
  if(formId.substring(0,8) == "guestDiv") guestCount = guestCount - 1
  if(formId == "trackDiv") trackCount = trackCount - 1

  if (formID.lastChild.nodeName.toLowerCase() == 'div')
    formID.removeChild(formID.lastChild);
}

function incDjCount(start,hour,min,dj) {
  var formID = document.getElementById('events_djs');
  if(!start) var start = ""
  if(!hour) var hour = ""
  if(!min) var min = ""
  if(!dj) var dj = ""
  var hr = ""
  var d_type = ""
  var hourAr = Array("00","01","02","03","04","05","06","07","08","09","10","11","12","13","14","15","16","17","18","19","20","21","22","23")
  
  djCount = djCount + 1
  tempm = djCount-1
  if(djCount > 1 && start == "") {
    start = document.events_form["start"+tempm].value
    hour = document.events_form["hour"+tempm].selectedIndex+1
  }
  if(dj!="") {
    if(isNaN(dj)) 
      d_type = 'no' 
    else 
      d_type = 'yes'
  }
  hr = hr + ""
    + "<p><label>Start Time</label><input type=\"text\" name=\"start"+djCount+"\" value=\""+start+"\" readonly=\"readonly\" onclick=\"A_TCALS['myID"+djCount+"'].f_toggle()\" style=\"width:150px\" />"
    + "<img title=\"Open Calendar\" class=\"tcalIcon\" onclick=\"A_TCALS['myID"+djCount+"'].f_toggle()\" id=\"tcalico_myID" + djCount + "\" src=\"../images/cal/cal.gif\" /> "
	+ "<select name=\"hour"+djCount+"\">"
  for(var i=0;i<hourAr.length;i++) {
    hr = hr + "<option"
    if(i==hour) hr = hr + " selected=\"selected\""
	hr = hr + ">"+hourAr[i]+"</option>"
  }
  hr = hr + "</select> <select name=\"min"+djCount+"\"><option>00</option><option>15</option><option>30</option><option>45</option></select></p>\n"
    + "<p><label>Is DJ from Pure.fm?</label><input type=\"radio\" name=\"is_dj"+djCount+"\" onclick=\"change_dj('dj"+djCount+"div','yes',djCount)\" value=\"yes\""
  if(d_type=='yes')
    hr = hr + "checked=\"checked\""
  hr = hr + " /> Yes "
    + "<input type=\"radio\" name=\"is_dj"+djCount+"\" value=\"no\" onclick=\"change_dj('dj"+djCount+"div','no',djCount)\""
  if(d_type=='no')
    hr = hr + "checked=\"checked\""
  hr = hr + " /> No</p>\n"
    + "<div id=\"dj"+djCount+"div\"></div>"
  if(dj!="")
    hr = hr + "<p><label>Delete User?</label><input type=\"checkbox\" name=\"del"+djCount+"\" /> Yes</p>"
  formID.appendChild(document.createElement('div')).innerHTML = hr + "<hr />"
  if(dj!="")
    change_dj('dj'+djCount+'div',d_type,djCount,dj)

  new tcal ({ 'formname': 'events_form','controlname': 'start'+djCount,'id': 'myID'+djCount })
}

function decDjCount() {
  var formID = document.getElementById('events_djs');

  if(djCount > 0) {
    djCount = djCount - 1
    if (formID.lastChild.nodeName.toLowerCase() == 'div')
      formID.removeChild(formID.lastChild);
  }
}

/* ************************************************************
	The function below controls the clock seen in the
	schedule section on the homepage
   ********************************************************* */

function checkTimeZone(ts,tzOffset) {
   var rightNow = new Date();
   var b1 = new Boolean(false);
   var date1 = new Date(rightNow.getFullYear(), 0, 1, 0, 0, 0, 0);
   var date2 = new Date(rightNow.getFullYear(), 6, 1, 0, 0, 0, 0);
   var temp = date1.toGMTString();
   var date3 = new Date();
  date3.setTime(Number(ts)*1000);
   var temp = date2.toGMTString();
   var date4 = new Date();
  date4.setTime(Number(ts)*1000);
   var hoursDiffStdTime = (date1 - date3) / (1000 * 60 * 60);
   var hoursDiffDaylightTime = (date2 - date4) / (1000 * 60 * 60);
   if (hoursDiffDaylightTime == hoursDiffStdTime) {
      b1 = false;
   } else {
      b1 = true;
   }
   return b1;
}

function formatTime(ts) {
  now = new Date();
  now.setTime(Number(ts)*1000);
  hour = now.getHours() + now.getTimezoneOffset()/60
  if (hour >= 24)  hour -= 24
  if (hour < 0) hour += 24
  min = now.getMinutes();
  sec = now.getSeconds();

  if (min <= 9) {
    min = "0" + min; }
  if (sec <= 9) {
    sec = "0" + sec; }
  if (hour < 10) {
    hour = "0" + hour; }

  document.getElementById("clock").innerHTML = hour + ':' + min + ':' + sec;
  newts = ts+1
  setTimeout("formatTime("+newts+")", 1000);
}

function setClock(ts,tzOffset){
if (document.all||document.getElementById)
setTimeout("formatTime("+ts+","+tzOffset+")",1000)
}

/* ************************************************************
	The function below opens the new window containing why
	a visitor should be a member of the site
   ********************************************************* */

function windowWhyMember() {
   var load = window.open('http://www.pure.fm/purefm_v2/windowWhyMember.html','','scrollbars=yes,menubar=no,height=500,width=526,resizable=no,toolbar=no,location=no,status=no');
}

/* ************************************************************
	The functions below control the default text in the
	search box on admin/schedules.php
   ********************************************************* */

function change_default_text(b) {
   var serField = document.forms["search_form"].search
   if(b==true) {
      serField.value=""
      serField.style.fontStyle="normal"
   }
   else if(serField.value=="") {
      serField.value="Show Name (optional)"
      serField.style.fontStyle="italics"
   }
}

function check_default_text() {
   var serField = document.forms["search_form"].search
   if(serField.value=="Show Name (optional)")
      serField.value=""
}

// ===================================================================
// Author: Matt Kruse <matt@mattkruse.com>
// WWW: http://www.mattkruse.com/


// -------------------------------------------------------------------
// hasOptions(obj)
//  Utility function to determine if a select object has an options array
// -------------------------------------------------------------------
function hasOptions(obj) {
	if (obj!=null && obj.options!=null) { return true; }
	return false;
	}

// -------------------------------------------------------------------
// selectUnselectMatchingOptions(select_object,regex,select/unselect,true/false)
//  This is a general function used by the select functions below, to
//  avoid code duplication
// -------------------------------------------------------------------
function selectUnselectMatchingOptions(obj,regex,which,only) {
	if (window.RegExp) {
		if (which == "select") {
			var selected1=true;
			var selected2=false;
			}
		else if (which == "unselect") {
			var selected1=false;
			var selected2=true;
			}
		else {
			return;
			}
		var re = new RegExp(regex);
		if (!hasOptions(obj)) { return; }
		for (var i=0; i<obj.options.length; i++) {
			if (re.test(obj.options[i].text)) {
				obj.options[i].selected = selected1;
				}
			else {
				if (only == true) {
					obj.options[i].selected = selected2;
					}
				}
			}
		}
	}
		
// -------------------------------------------------------------------
// selectMatchingOptions(select_object,regex)
//  This function selects all options that match the regular expression
//  passed in. Currently-selected options will not be changed.
// -------------------------------------------------------------------
function selectMatchingOptions(obj,regex) {
	selectUnselectMatchingOptions(obj,regex,"select",false);
	}
// -------------------------------------------------------------------
// selectOnlyMatchingOptions(select_object,regex)
//  This function selects all options that match the regular expression
//  passed in. Selected options that don't match will be un-selected.
// -------------------------------------------------------------------
function selectOnlyMatchingOptions(obj,regex) {
	selectUnselectMatchingOptions(obj,regex,"select",true);
	}

// -------------------------------------------------------------------
// moveSelectedOptions(select_object,select_object[,autosort(true/false)[,regex]])
//  This function moves options between select boxes. Works best with
//  multi-select boxes to create the common Windows control effect.
//  Passes all selected values from the first object to the second
//  object and re-sorts each box.
//  If a third argument of 'false' is passed, then the lists are not
//  sorted after the move.
//  If a fourth string argument is passed, this will function as a
//  Regular Expression to match against the TEXT or the options. If 
//  the text of an option matches the pattern, it will NOT be moved.
//  It will be treated as an unmoveable option.
//  You can also put this into the <SELECT> object as follows:
//    onDblClick="moveSelectedOptions(this,this.form.target)
//  This way, when the user double-clicks on a value in one box, it
//  will be transferred to the other (in browsers that support the 
//  onDblClick() event handler).
// -------------------------------------------------------------------
function moveSelectedOptions(from,to) {
	// Unselect matching options, if required
	if (arguments.length>3) {
		var regex = arguments[3];
		if (regex != "") {
			unSelectMatchingOptions(from,regex);
			}
		}
	// Move them over
	if (!hasOptions(from)) { return; }
	for (var i=0; i<from.options.length; i++) {
		var o = from.options[i];
		if (o.selected) {
			if (!hasOptions(to)) { var index = 0; } else { var index=to.options.length; }
			to.options[index] = new Option( o.text, o.value, false, false);
			}
		}
	// Delete them from original
	for (var i=(from.options.length-1); i>=0; i--) {
		var o = from.options[i];
		if (o.selected) {
			from.options[i] = null;
			}
		}
	from.selectedIndex = -1;
	to.selectedIndex = -1;
	}

// -------------------------------------------------------------------
// removeSelectedOptions(select_object)
//  Remove all selected options from a list
//  (Thanks to Gene Ninestein)
// -------------------------------------------------------------------
function removeSelectedOptions(from) { 
	if (!hasOptions(from)) { return; }
	if (from.type=="select-one") {
		from.options[from.selectedIndex] = null;
		}
	else {
		for (var i=(from.options.length-1); i>=0; i--) { 
			var o=from.options[i]; 
			if (o.selected) { 
				from.options[i] = null; 
				} 
			}
		}
	from.selectedIndex = -1; 
	} 

// -------------------------------------------------------------------
// addOption(select_object,display_text,value,selected)
//  Add an option to a list
// -------------------------------------------------------------------
function addOption(obj,text,value,selected) {
	if (obj!=null && obj.options!=null) {
		obj.options[obj.options.length] = new Option(text, value, false, selected);
		}
	}


// -------------------------------------------------------------------
// auto_moveSelectedOption(object_value,select_object,select_object)
//  My own function to preload DJs into form
// -------------------------------------------------------------------
function auto_moveSelectedOption(uid,from,to) {
	// Move them over
	if (!hasOptions(from)) { return; }
	for (var i=0; i<from.options.length; i++) {
		var o = from.options[i];
		if (o.value == uid) {
			if (!hasOptions(to)) { var index = 0; } else { var index=to.options.length; }
			to.options[index] = new Option( o.text, o.value, false, false);
			}
		}
	// Delete them from original
	for (var i=(from.options.length-1); i>=0; i--) {
		var o = from.options[i];
		if (o.value == uid) {
			from.options[i] = null;
			}
		}
	from.selectedIndex = -1;
	to.selectedIndex = -1;
	}


// -------------------------------------------------------------------
// select_all(select_object)
//  My own function to select all DJs in list2
// -------------------------------------------------------------------
function select_all(from) {
	// Move them over
	if (!hasOptions(from)) { return; }
	for (var i=(from.options.length-1); i>=0; i--) {
		from.options[i].selected = true;
		}
	}

function showDiv() {
if (document.getElementById) { // DOM3 = IE5, NS6
document.getElementById('submitbutton').style.display="none";
document.getElementById('uploadprogressbar').style.display="block";
}
else {
if (document.layers) { // Netscape 4
document.submitbutton.style.display="none";
document.uploadprogressbar.style.display="block";
}
else { // IE 4
document.all.submitbutton.style.display="none";
document.all.uploadprogressbar.style.display="block";
}
}
}
