/**********************************************************************

 * SPS: Sam's Publishing System

 * Copyright (C) 1999-2002 by Sam Nelson sam@clevernamehere.com

 *

 * This program is free software; you can redistribute it and/or modify

 * it under the terms of the GNU General Public License as published by

 * the Free Software Foundation; either version 2 of the License, or

 * (at your option) any later version.

 *

 * This program is distributed in the hope that it will be useful,

 * but WITHOUT ANY WARRANTY; without even the implied warranty of

 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the

 * GNU General Public License for more details.

 *

 * You should have received a copy of the GNU General Public License

 * along with this program; if not, write to the Free Software

 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

 **********************************************************************

 * $Header: /sps/SPS/clipboard.cgi 1     9/22/03 1:15p Laptop $

 * $NoHeaders: $

 **********************************************************************/



function doMove(f, t, v, h) 

{

	from_widget = document.main[f];

	to_widget = document.main[t];

	hidden_widget = document.main[h];

	value_widget = document.main[v];

	

	for (i=0; i<from_widget.length; ++i)

	{

		if (from_widget.options[i].selected)

		{

			var newoption = new Option(from_widget.options[i].text, from_widget.options[i].value);

			to_widget.options[to_widget.length] = newoption;

			from_widget.options[i] = null;

			i=-1; // Removing changed the length; just to be on the safe side, go back a bit. 

		}

	}

	

	h_val = "";

	for (i=0; i<value_widget.length; ++i)

	{

		if (i>0)

		{

			h_val += "|";

		}

		h_val += value_widget[i].value;

	}

	hidden_widget.value = h_val;



//	alert(hidden_widget.value);

}



function doMoveUp(t,h)

{

	to_widget = document.main[t];

	hidden_widget = document.main[h];

	

	dbMultiSelect_up(to_widget);



	h_val = "";

	for (i=0; i<to_widget.length; ++i)

	{

		if (i>0)

		{

			h_val += "|";

		}

		h_val += to_widget[i].value;

	}

	hidden_widget.value = h_val;

}





function doMoveDown(t,h)

{

	to_widget = document.main[t];

	hidden_widget = document.main[h];

	

	dbMultiSelect_down(to_widget);



	h_val = "";

	for (i=0; i<to_widget.length; ++i)

	{

		if (i>0)

		{

			h_val += "|";

		}

		h_val += to_widget[i].value;

	}

	hidden_widget.value = h_val;

}



function swap(obj) { 

	obj = (typeof obj == "string") ? document.getElementById(obj) : obj;

	if (obj.tagName.toLowerCase() != "select" && obj.length < 2)

		return false;

	var first_element = false;

	var last_element = false;

	for (var i=0; i<obj.length; i++) {

		if (obj[i].selected) {

			if (first_element === false) {

				first_element = i;

			} else {

				last_element = i;

			}

		}

	}



	if (first_element === false || last_element === false)

		return false;



	var tmp = new Array((document.body.innerHTML ? obj[first_element].innerHTML : obj[first_element].text), obj[first_element].value, obj[first_element].style.color, obj[first_element].style.backgroundColor, obj[first_element].className, obj[first_element].id, obj[first_element].selected);

	if (document.body.innerHTML) obj[first_element].innerHTML = obj[last_element].innerHTML;

	else obj[first_element].text = obj[last_element].text;

	obj[first_element].value = obj[last_element].value;

	obj[first_element].style.color = obj[last_element].style.color;

	obj[first_element].style.backgroundColor = obj[last_element].style.backgroundColor;

	obj[first_element].className = obj[last_element].className;

	obj[first_element].id = obj[last_element].id;

	obj[first_element].selected = obj[last_element].selected;

	if (document.body.innerHTML) obj[last_element].innerHTML = tmp[0];

	else obj[last_element].text = tmp[0];

	obj[last_element].value = tmp[1];

	obj[last_element].style.color = tmp[2];

	obj[last_element].style.backgroundColor = tmp[3];

	obj[last_element].className = tmp[4];

	obj[last_element].id = tmp[5];

	obj[last_element].selected = tmp[6];

}





function dbMultiSelect_top(obj) { 

	obj = (typeof obj == "string") ? document.getElementById(obj) : obj;

	if (obj.tagName.toLowerCase() != "select" && obj.length < 2)

		return false;

	var elements = new Array();

	for (var i=0; i<obj.length; i++) {

		if (obj[i].selected) {

			elements[elements.length] = new Array((document.body.innerHTML ? obj[i].innerHTML : obj[i].text), obj[i].value, obj[i].style.color, obj[i].style.backgroundColor, obj[i].className, obj[i].id, obj[i].selected);

		}

	}

	for (i=0; i<obj.length; i++) {

		if (!obj[i].selected) {

			elements[elements.length] = new Array((document.body.innerHTML ? obj[i].innerHTML : obj[i].text), obj[i].value, obj[i].style.color, obj[i].style.backgroundColor, obj[i].className, obj[i].id, obj[i].selected);

		}

	}

	for (i=0; i<obj.length; i++) {

		if (document.body.innerHTML) obj[i].innerHTML = elements[i][0];

		else obj[i].text = elements[i][0];

		obj[i].value = elements[i][1];

		obj[i].style.color = elements[i][2];

		obj[i].style.backgroundColor = elements[i][3];

		obj[i].className = elements[i][4];

		obj[i].id = elements[i][5];

		obj[i].selected = elements[i][6];

	}

}



function dbMultiSelect_bottom(obj) { 

	obj = (typeof obj == "string") ? document.getElementById(obj) : obj;

	if (obj.tagName.toLowerCase() != "select" && obj.length < 2)

		return false;

	var elements = new Array();

	for (var i=0; i<obj.length; i++) {

		if (!obj[i].selected) {

			elements[elements.length] = new Array((document.body.innerHTML ? obj[i].innerHTML : obj[i].text), obj[i].value, obj[i].style.color, obj[i].style.backgroundColor, obj[i].className, obj[i].id, obj[i].selected);

		}

	}

	for (i=0; i<obj.length; i++) {

		if (obj[i].selected) {

			elements[elements.length] = new Array((document.body.innerHTML ? obj[i].innerHTML : obj[i].text), obj[i].value, obj[i].style.color, obj[i].style.backgroundColor, obj[i].className, obj[i].id, obj[i].selected);

		}

	}

	for (i=obj.length-1; i>-1; i--) {

		if (document.body.innerHTML) obj[i].innerHTML = elements[i][0];

		else obj[i].text = elements[i][0];

		obj[i].value = elements[i][1];

		obj[i].style.color = elements[i][2];

		obj[i].style.backgroundColor = elements[i][3];

		obj[i].className = elements[i][4];

		obj[i].id = elements[i][5];

		obj[i].selected = elements[i][6];

	}

}



function dbMultiSelect_up(obj) { 

	obj = (typeof obj == "string") ? document.getElementById(obj) : obj;

	if (obj.tagName.toLowerCase() != "select" && obj.length < 2)

		return false;

	var sel = new Array();

	for (var i=0; i<obj.length; i++) {

		if (obj[i].selected == true) {

			sel[sel.length] = i;

		}

	}

	for (i in sel) {

		if (sel[i] != 0 && !obj[sel[i]-1].selected) {

			var tmp = new Array((document.body.innerHTML ? obj[sel[i]-1].innerHTML : obj[sel[i]-1].text), obj[sel[i]-1].value, obj[sel[i]-1].style.color, obj[sel[i]-1].style.backgroundColor, obj[sel[i]-1].className, obj[sel[i]-1].id);

			if (document.body.innerHTML) obj[sel[i]-1].innerHTML = obj[sel[i]].innerHTML;

			else obj[sel[i]-1].text = obj[sel[i]].text;

			obj[sel[i]-1].value = obj[sel[i]].value;

			obj[sel[i]-1].style.color = obj[sel[i]].style.color;

			obj[sel[i]-1].style.backgroundColor = obj[sel[i]].style.backgroundColor;

			obj[sel[i]-1].className = obj[sel[i]].className;

			obj[sel[i]-1].id = obj[sel[i]].id;

			if (document.body.innerHTML) obj[sel[i]].innerHTML = tmp[0];

			else obj[sel[i]].text = tmp[0];

			obj[sel[i]].value = tmp[1];

			obj[sel[i]].style.color = tmp[2];

			obj[sel[i]].style.backgroundColor = tmp[3];

			obj[sel[i]].className = tmp[4];

			obj[sel[i]].id = tmp[5];

			obj[sel[i]-1].selected = true;

			obj[sel[i]].selected = false;

		}

	}

}



function dbMultiSelect_down(obj) {

	obj = (typeof obj == "string") ? document.getElementById(obj) : obj;

	if (obj.tagName.toLowerCase() != "select" && obj.length < 2)

		return false;

	var sel = new Array();

	for (var i=obj.length-1; i>-1; i--) {

		if (obj[i].selected == true) {

			sel[sel.length] = i;

		}

	}

	for (i in sel) {

		if (sel[i] != obj.length-1 && !obj[sel[i]+1].selected) {

			var tmp = new Array((document.body.innerHTML ? obj[sel[i]+1].innerHTML : obj[sel[i]+1].text), obj[sel[i]+1].value, obj[sel[i]+1].style.color, obj[sel[i]+1].style.backgroundColor, obj[sel[i]+1].className, obj[sel[i]+1].id);

			if (document.body.innerHTML) obj[sel[i]+1].innerHTML = obj[sel[i]].innerHTML;

			else obj[sel[i]+1].text = obj[sel[i]].text;

			obj[sel[i]+1].value = obj[sel[i]].value;

			obj[sel[i]+1].style.color = obj[sel[i]].style.color;

			obj[sel[i]+1].style.backgroundColor = obj[sel[i]].style.backgroundColor;

			obj[sel[i]+1].className = obj[sel[i]].className;

			obj[sel[i]+1].id = obj[sel[i]].id;

			if (document.body.innerHTML) obj[sel[i]].innerHTML = tmp[0];

			else obj[sel[i]].text = tmp[0];

			obj[sel[i]].value = tmp[1];

			obj[sel[i]].style.color = tmp[2];

			obj[sel[i]].style.backgroundColor = tmp[3];

			obj[sel[i]].className = tmp[4];

			obj[sel[i]].id = tmp[5];

			obj[sel[i]+1].selected = true;

			obj[sel[i]].selected = false;

		}

	}

}



