// JavaScript Document//// Misc//function scrollWindowTo(id) {  element = $(id)  x = ( element.x ? element.x : element.offsetLeft )  y = ( element.y ? element.y : element.offsetTop )  window.scrollTo(x,y)}//// Navigation//function toggleNav(navigationParent, contentParent, sender, target) {	// hide all pages	var pages = $(contentParent).getElementsByTagName('div');	//pages.push("page1", "page2", "page3", "page4", "page5");	for (i = 0; i<pages.length; i++) {		if (pages[i].parentNode == $(contentParent)) {			Element.hide(pages[i]);		}	}		//reset highlighting	var navLinks = $(navigationParent).getElementsByTagName('a');	for (i = 0; i<navLinks.length; i++) {		navLinks[i].className = '';	}		//show current	Element.show(target);		//$(target).focus();	sender.className = "selected";}////Load included page//function loadPage(target, page) {	new Ajax.Updater(		target, 		page , {			onLoading:				function(){						Element.show('navigation_indicator');				},			onComplete:				function(){						Element.hide('navigation_indicator');				},			evalScripts:true, 			asynchronous:true		}		)}////Reordering//function startReordering(listName, tagName) {	Element.hide("tracksList_" + listName + "_form");	Element.show("tracksList_" + listName + "_reorder");	Sortable.create("tracksList_" + listName + "_reorder",{tag:tagName});	var list = $("tracksList_" + listName + "_reorder");	Element.show('finish_reordering_' + listName);	Element.hide('start_reordering_' + listName);}function finishReordering(listName, tagName) {	var list = $("tracksList_" + listName + "_reorder");	Element.hide('finish_reordering_' + listName);	Element.show('start_reordering_' + listName);		var params = Sortable.serialize("tracksList_" + listName + "_reorder");	params += "&action=reorder";	params += "&playlist_id=" + listName;		var options = {		method: 'post',		postBody: params,		onSuccess: function(t) {			//if t.responseText			alert(t.responseText);			Element.hide("tracksList_" + listName + "_reorder");			Element.show("tracksList_" + listName + "_form");			new Effect.Highlight("tracksList_" + listName + "_form");		},		on404: function(t) {			alert('Error 404: location "' + t.statusText + '" was not found.');		},		onFailure: function(t) {			alert('Error ' + t.status + ' -- ' + t.statusText);		}	}		//new Ajax.Request('includes/processor.inc.php', options);		new Ajax.Updater(			"tracks_" + listName, 			'includes/functions.inc.php', {				onLoading:					function(request){						Element.show('reorder_indicator' + listName) 					}, 				onComplete:					function(request){ 						Element.hide('reorder_indicator_' + listName) 						Element.hide("tracksList_" + listName + "_reorder");						Element.show("tracksList_" + listName + "_form");						new Effect.Highlight("tracksList_" + listName + "_form");											}, 				parameters: params,				evalScripts:true, 				asynchronous:true			}					)		Sortable.destroy("tracksList_" + listName + "_reorder",{tag:tagName});}//PLAYLIST BUILDERfunction addToPlaylist(sender){	 var params = Form.serialize(sender);	 //alert(params);	//var params = "section=" + section;	//params += "&" + $(field).name + "=" + $(field).value;	new Ajax.Updater(		"currentPlaylistItems", 		'includes/playlist.inc.php', {			onLoading:				function(request){					//Element.show('reorder_indicator' + listName) 				}, 			onComplete:				function(request){ 				      var updated_items = request.getResponseHeader("updated_items").split(",");					  //alert(updated_items);					  for (var i=0; i<updated_items.length; i++) {						  //alert(updated_items[i]);						  new Effect.Highlight(updated_items[i]);					  }					//Element.hide('reorder_indicator_' + listName) 					//Element.hide("tracksList_" + listName + "_reorder");					//Element.show("tracksList_" + listName + "_form");					//new Effect.Highlight("tracksList_" + listName + "_form");										}, 			parameters: params,			evalScripts:true, 			asynchronous:true,		}			)}
