	var contacts_sorted;
	var calendars_sorted;
	var ringtones_sorted;
	var texts_all_sorted;
	var texts_sent_sorted;
	var texts_rec_sorted;
	var trash_sorted;
	var call_logs_sorted;
	var emails_sorted;
	
	function popup(target){
		actual_target = "/interface/show_file.php?file="+target;
		window.open(actual_target, 
			'PlayMedia', 
			'width=400,height=350,status=no,scrollbars=no,directories=no,location=no,toolbar=no,menubar=no,resizable=yes');
	}
	
	function start_sorting(type) {
		switch (type) {
			case "emails":
				window.contacts_sorted = new SortedTable("sorted_emails");	break;
			case "contacts":
				window.contacts_sorted = new SortedTable("sorted_contacts");	break;
			case "calendars":
				window.calendars_sorted = new SortedTable("sorted_calendars"); 	break;
			case "ringtones":
				window.ringtones_sorted = new SortedTable("sorted_ringtones"); 	break;
			case "call_logs":
				window.call_logs_sorted = new SortedTable("sorted_call_logs"); 	break;	
			case "texts":
				window.texts_all_sorted = new SortedTable("sorted_texts_all");
				window.texts_sent_sorted = new SortedTable("sorted_texts_sent");	
				window.texts_rec_sorted = new SortedTable("sorted_texts_rec");
				break;
			case "trash":
				window.trash_sorted = new SortedTable("sorted_trash"); break;
			default:
				break;
		}
		
		color();
	}
	
	function color(){
		colorize(window.emails_sorted);
		colorize(window.contacts_sorted);
		colorize(window.texts_all_sorted);
		colorize(window.texts_sent_sorted);
		colorize(window.texts_rec_sorted);
		colorize(window.calendars_sorted);
		colorize(window.ringtones_sorted);
		colorize(window.call_logs_sorted);
		colorize(window.trash_sorted);	
	}
	
	function get_selected (type,is_delete,photo) {
		var table = null;
		var table_txt_sent = null;
		var table_txt_rec = null;

		switch (type){
			case "emails":
				table = window.emails_sorted;					break;
			case "contacts":
				table = window.contacts_sorted;					break;
			case "calendars":
				table = window.calendars_sorted;				break;	
			case "call_logs":
				table = window.call_logs_sorted;				break;	
			case "ringtones":
				table = window.ringtones_sorted;				break;		
			case "trash":
				table = window.trash_sorted;					break;	
			case "texts":
				table = window.texts_all_sorted;
				table_txt_sent = window.texts_sent_sorted;
				table_txt_rec = window.texts_rec_sorted;		break;	
			default: 											break;
		}
		
//		table = type;
		
		var count = 0;
		if (table != null)
			count += table.selectedElements.length;
		if (table_txt_sent != null)
			count += table_txt_sent.selectedElements.length;
		if (table_txt_rec != null)
			count += table_txt_rec.selectedElements.length;
		if (type == "videos"){
			var videos = getElementsByClass('videos',document,'*');
			for(var i = 0; i < videos.length; i++)
				if(check_border(videos[i]) == false) // is the border orange?
					count ++;
		}
		if ((type == "photos")&&(photo != null)){
			count++;
		}
		
		// a little grammer
		var these;
		var s;
		var del;
		
		if (is_delete == true)
			del = "delete";
		else if (is_delete == false)
			del = "restore";
		
		if (count == 1){
			these = "this";
			s = "";
		}else{
			these = "these";
			s = "s";
		}
		var trash_class = "";
		
		if(count > 0){		
			// confirm deletion
			if (confirm("Are you sure you want to "+del+" "+these+" "+count+" record"+s+" from "+type+"?")) {
				if (table != null){
					for (var i=0;i<table.selectedElements.length;i++){
						if(is_delete == true){
							if(delete_record(type, table.selectedElements[i].id)){
								table.selectedElements[i].style.display = 'none';
							}else{
								alert('There was an error deleting one of the records.');
							}
						}
						else if(is_delete == false){
							trash_class = table.selectedElements[i].className.split(" ");						
							if(restore_record(trash_class[0], table.selectedElements[i].id)){
								table.selectedElements[i].style.display = 'none';
							}else{
								alert('There was an error restoring one of the records.');
							}
						}
					}
//					colorize(table);
				}
				//special case for texts since it has multiple tables associated with a single delete button
				if (table_txt_sent != null){
					for (var i=0;i<table_txt_sent.selectedElements.length;i++){
						if(is_delete == true){
							if(delete_record(type, table_txt_sent.selectedElements[i].id)){
								table_txt_sent.selectedElements[i].style.display = 'none';
							}else{
								alert('There was an error deleting one of the records.');
							}
						}
					}
//					colorize(table_txt_sent);
				}
				if (table_txt_rec != null){
					for (var i=0;i<table_txt_rec.selectedElements.length;i++){
						if(is_delete == 1){
							if(delete_record(type, table_txt_rec.selectedElements[i].id)){
								table_txt_rec.selectedElements[i].style.display = 'none';
							}else{
								alert('There was an error deleting one of the records.');
							}
						}					
					}
//					colorize(table_txt_rec);
				}
				if (type == "videos"){
					for (var i=0;i<videos.length;i++){
						if(check_border(videos[i]) == false){ // if orange
							if(is_delete == 1){ 
								if(delete_record(type, videos[i].id)){
									videos[i].style.display = 'none';
								}else{
									alert('There was an error deleting one of the records.');	
								}
							}	
						}
					}						
				}
				if (type == "photos"){
					var photos = getElementsByClass('photos',document,'*');
					if(is_delete == 1){ 
						for(var i = 0; i < photos.length; i++){
							if (photo == (photos[i].parentNode.href+',')){
								if(delete_record(type,photos[i].id)){
									photos[i].style.display = 'none';
								}else{
									alert('There was an error deleting one of the records.');	
								}
							}
						}	
					}
				}
			}
		} // count > 0
		else{
			alert('Cannot delete. No records are currently selected.');	
		}
	}
	
	function colorize (sorted) {
		if ((sorted) && (sorted.elements)){ // if a valid object with elements.
			for (var i=0;i<sorted.elements.length;i++) {
				if (i%2){
					sorted.changeClass(sorted.elements[i],'even','odd');
				} else {
					sorted.changeClass(sorted.elements[i],'odd','even');
				}
			}
		}
	}
	
	function swap_border (element) {		
		if (check_border(element) == true)
			element.style.borderColor = "orange orange orange orange";
		else if (check_border(element) == false)
			element.style.borderColor = "white white white white";
	}
	
	function check_border (element){
		var white_orange = null; // true for white, false for orange
		if ((element.style.borderColor == "white white white white")||(element.style.borderColor == "#ffffff")||(element.style.borderColor == "white"))
			white_orange = true;
		else if ((element.style.borderColor == "orange orange orange orange")||(element.style.borderColor == "#ffa500")||(element.style.borderColor == "orange"))
			white_orange = false;
		
		return white_orange;
	}
	
	function getElementsByClass(searchClass,node,tag) {
		var classElements = new Array();
		if ( node == null )
			node = document;
		if ( tag == null )
			tag = '*';
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp("(^|\\\\s)"+searchClass+"(\\\\s|$)");
		for (i = 0, j = 0; i < elsLen; i++) {
			if ( pattern.test(els[i].className) ) {
				classElements[j] = els[i];
				j++;
			}
		}
		return classElements;
	}