var remote = null;
function sps_popup(url, width, height)
{
	remote = window.open(url, '','width=' + width + ',height=' + height +',resizable=yes,scrollbars=yes');
	if (remote != null)
	{
		if (remote.opener == null)
		{
			remote.opener = self;
		}
		remote.location.href = url;
	}
}

function sps_checkbox_values(id, pk)
{
	var form = document.getElementById(id);
	var field = form[pk];
	var c_value = new Array();
	
	if (field)
	{
		var count = 0;
		for (var i=0; i<field.length; i++)
		{
			if (field[i].checked)
			{
				c_value[count] = field[i].value;
				++count
			}
		}
	}
	return c_value;
}
function sps_dojo_edit(url, pk, id)
{
	var w=dojo.widget.byId(id);
	if(w)
	{
		var value=w.getSelectedData();
		if (value.length > 0)
		{
			for (i=0; i<value.length; ++i)
			{
				sps_popup(url + "&" + pk + "=" + value[i].Id, 800, 500);
			}
		}
		else
		{
			alert("Please select a row to edit.");
		}
	}
	else
	{
		alert("Unable to find the list!");
	}
}



function sps_simple_merge(url, pk, id)
{
	if (!confirm("Really merge?"))
	{
		return 0;
	}
	
	value = sps_checkbox_values(id, pk);
	if(value)
	{
		if (value.length == 2)
		{
			url = url + "&merge_" + pk + "=";
			for (i=0; i<value.length; ++i)
			{
				url = url + value[i] + ",";
			}
			
			form = document.getElementById(id);
			form.action = url;
			form.submit();
			// window.location = url;
		}
		else if (value.length > 0)
		{
			alert("Please select exactly two rows to merge.");
		}
		else
		{
			alert("Please select exactly two rows to merge.");
		}
	}
}


function sps_simple_edit(url, pk, id)
{
	value = sps_checkbox_values(id, pk);
	if (value.length > 0)
	{
		for (i=0; i<value.length; ++i)
		{
			sps_popup(url + "&" + pk + "=" + value[i], 800, 500);
		}
	}
	else
	{
		alert("Please select a row to edit.");
	}
}


function sps_simple_email(url, pk, id)
{
	value = sps_checkbox_values(id, pk);
	if (value.length > 0)
	{
		for (i=0; i<value.length; ++i)
		{
			sps_popup(url + "&" + pk + "=" + value[i], 800, 500);
		}
	}
	else
	{
		alert("Please select a row to edit.");
	}
}

function sps_simple_print(url, pk, id)
{
	value = sps_checkbox_values(id, pk);
	if (value.length > 0)
	{
		for (i=0; i<value.length; ++i)
		{
			sps_popup(url + "&" + pk + "=" + value[i], 800, 500);
		}
	}
	else
	{
		alert("Please select a row to edit.");
	}
}


function sps_dojo_email(url, pk, id)
{
	if (id)
	{
		var w=dojo.widget.byId(id);
		if(w)
		{
			var value=w.getSelectedData();
			if (value.length > 0)
			{
				for (i=0; i<value.length; ++i)
				{
					sps_popup(url + "&" + pk + "=" + value[i].Id, 800, 500);
				}
			}
			else
			{
				alert("Please select a row to email.");
			}
		}
	}
	else
	{	
		// URL is hardcoded
		sps_popup(url, 800, 500);
	}
}

function sps_dojo_print(url, pk, id)
{
	var w=dojo.widget.byId(id);
	if(w)
	{
		var value=w.getSelectedData();
		if (value.length > 0)
		{
			for (i=0; i<value.length; ++i)
			{
				sps_popup(url + "&" + pk + "=" + value[i].Id, 800, 500);
			}
		}
		else
		{
			alert("Please select a row to print.");
		}
	}
}


function sps_dojo_delete(url, pk, id)
{
	if (!confirm("Are you sure that you want to permanently delete these records?"))
	{
		return 0;
	}
	var w=dojo.widget.byId(id);
	if(w)
	{
		var value=w.getSelectedData();
		if (value.length > 0)
		{
			url = url + "&delete_" + pk + "=";
			for (i=0; i<value.length; ++i)
			{
				url = url + value[i].Id + ",";
			}
			window.location = url;
		}
		else
		{
			alert("Please select a row to delete.");
		}
	}
}

function sps_simple_delete(url, pk, id)
{
	if (!confirm("Are you sure that you want to permanently delete these records?"))
	{
		return 0;
	}
	value = sps_checkbox_values(id, pk);
	if(value)
	{
		if (value.length > 0)
		{
			url = url + "&delete_" + pk + "=";
			for (i=0; i<value.length; ++i)
			{
				url = url + value[i] + ",";
			}
			
			window.location = url;
		}
		else
		{
			alert("Please select a row to delete.");
		}
	}
}

function sps_dojo_merge(url, pk, id)
{
	if (!confirm("Really merge?"))
	{
		return 0;
	}
	var w=dojo.widget.byId(id);
	if(w)
	{
		var value=w.getSelectedData();
		if (value.length == 2)
		{
			url = url + "&merge_" + pk + "=";
			for (i=0; i<value.length; ++i)
			{
				url = url + value[i].Id + ",";
			}
			window.location = url;
		}
		else if (value.length > 0)
		{
			alert("Please select exactly two rows to merge.");
		}
		else
		{
			alert("Please select exactly two rows to merge.");
		}
	}
}

function sps_dojo_new(url)
{
	sps_popup(url, 800, 500);
}

function sps_refresh()
{
	window.location.reload(true);
}

function sps_toggle_field(field, on_src, off_src)
{
	var d = document.getElementById(field);
	var i = document.getElementById(field + "_img");
	var f = document.getElementById(field + "_passthrough");
	
	if (d != null)
	{
		if (d.style.display == "block")
		{
			d.style.display = "none";
			if (i != null)
			{
				i.src = off_src;
			}
			if (f != null)
			{
				f.value = 0;
			}
		}
		else
		{
			d.style.display = "block";
			if (i != null)
			{
				i.src = on_src;
			}
			if (f != null)
			{
				f.value = 1;
			}
		}
	}
}

function sps_toggle_field_on(field, on_src, off_src)
{
	var d = document.getElementById(field);
	var i = document.getElementById(field + "_img");

	if (d != null)
	{
		d.style.display = "block";
		if (i != null)
		{
			i.src = on_src;
		}
	}
}

function sps_toggle_field_off(field)
{
	var d = document.getElementById(field);
	var i = document.getElementById(field + "_img");

	if (d != null)
	{
		d.style.display = "none";
		if (i != null)
		{
			i.src = off_src;
		}
	}
}

var sps_is_changed = false;

function sps_careful_close()
{
	if (sps_is_changed)
	{
		if (confirm("Close without saving?"))
		{
			self.close();
		}
		else
		{
			return void(0);
		}
	}
	else
	{
		self.close();
	}
}

function sps_careful_submit()
{
	if (sps_is_changed)
	{
		if (! confirm("Close without saving?"))
		{
			return false;
		}
	}
}

function sps_form_changed()
{
	sps_is_changed = true;
}

function sps_careful_link(h)
{
		
	if (sps_is_changed)
	{
		if (! confirm("Close without saving?"))
		{
			return void(0);
		}
	}
	
	self.location = h;
}

function sps_careful()
{
		
	if (sps_is_changed)
	{
		if (!confirm("Close without saving?"))
		{
			return false;
		}
	}
	
	return true;
}

