/*
	Company:	SIFFM
	Author:		Thomas Smith
	Comment:	Standard Javascript Functions
	Parameters:
	
	----------
	Change History:
	
*/

// - Testing Purposes -- Delete after Production
function nolink()
{
	alert ("This link is currently not active.\n\nFor assistance, please contact Tom Smith.");
}

// - Creates a confirmation alert box
function confirm_alert(title,mess,icon,defbut,mods) 
{
	if (document.all)
	{
		icon = (icon==0) ? 0 : 2;
		defbut = (defbut==0) ? 0 : 1;
		retVal = makeMsgBox(title,mess,icon,4,defbut,mods);
		retVal = (retVal==6);
	}
	else { retVal = confirm(mess); }
	
	return retVal;
}

// - Change the class name for a given ID
function chg_class(cl,id)
{
	var el;
	
	if (document.all) { el = document.all[id]; }
	else { el = document.getElementById(id); }
	
	el.className = cl;
}

// - Change the class name for a given ID for rows with checkboxes
function chg_class_sel(cl,id)
{
	var el;
	
	if (document.all) { el = document.all[id]; }
	else { el = document.getElementById(id); }
	
	if (el.className != "row_select") { el.className = cl; }
}

// - Retrieve the appropriate key code value
function retV(keyc)
{
	rt = "";
	
	switch (keyc)
	{
		case 65:
			rt = "a";
			break;
		case 66:
			rt = "b";
			break;
		case 67:
			rt = "c";
			break;
		case 68:
			rt = "d";
			break;
		case 69:
			rt = "e";
			break;
		case 70:
			rt = "f";
			break;
		case 71:
			rt = "g";
			break;
		case 72:
			rt = "h";
			break;
		case 73:
			rt = "i";
			break;
		case 74:
			rt = "j";
			break;
		case 75:
			rt = "k";
			break;
		case 76:
			rt = "l";
			break;
		case 77:
			rt = "m";
			break;
		case 78:
			rt = "n";
			break;
		case 79:
			rt = "o";
			break;
		case 80:
			rt = "p";
			break;
		case 81:
			rt = "q";
			break;
		case 82:
			rt = "r";
			break;
		case 83:
			rt = "s";
			break;
		case 84:
			rt = "t";
			break;
		case 85:
			rt = "u";
			break;
		case 86:
			rt = "v";
			break;
		case 87:
			rt = "w";
			break;
		case 88:
			rt = "x";
			break;
		case 89:
			rt = "y";
			break;
		case 90:
			rt = "z";
			break;
	}
	
	return rt;
}

// - Sort Column
function sort_column(col)
{	
	if ((current_sort == "asc") && (current_column == col)) { new_sort = 2; }
	else { new_sort = 1; }
		
	window.location.href = current_page + "&t=" + new_sort + "&c=" + col + search;
}

// - Change cursor
function chg_cursor(cur)
{
	document.body.style.cursor = cur;
}

// - Mark the Save Tag for changes made
function mark_changes()
{
	var el;
	
	if (document.all) { el = document.all['save_pointer']; }
	else { el = document.getElementById('save_pointer'); }
	
	if (!changes_made)
	{
		el.innerHTML = "<b>Save (Change Made)</b>";
		changes_made = true;
	}
}

// - Check the password strength
function pswd_strength(obj)
{
	var el;
	
	if (document.all) { el = document.all['strength']; }
	else { el = document.getElementById('strength'); }
		
	var str = obj.value;
	var bars = 0;
	
	var lwcs = "abcdefghijklmnopqrstuvwxyz";
	var upcs = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";;
	var numb = "1234567890";
	var spch = "!@#$%^&*()-_+=|:;,.<>";
	
	if (str.length>1) { bars++; }
	
	for (x=0;x<str.length;x++)
	{ 
		var chr = str.charAt(x);
		
		if (upcs.indexOf(chr)!=-1) { bars++; }
		else if (numb.indexOf(chr)!=-1) { bars++; }
		else if (spch.indexOf(chr)!=-1) { bars++; }
	}
	
	if (bars>3) { bars = 4; }
	
	if (str.length>6) { bars++; }
	
	el.innerHTML = bars;
}

// - Show/Hide div tag
function chg_div(id,vis)
{
	var obj = "";
	
	if (document.all) { obj = document.all[id]; }
	else { obj = document.getElementById(id); }
	
	if (vis) { obj.style.display = "block"; }
	else { obj.style.display = "none"; }
}

// - Show/Hide Text Entry Options
function chg_txtlist(obj)
{
	var id = obj.options[obj.selectedIndex].value;
	var ex,br;
	
	if (document.all)
	{
		ex = document.all['row_extra'];
		br = document.all['row_bar'];
	}
	else
	{
		ex = document.getElementById('row_extra');
		br = document.getElementById('row_bar');
	}
	
	if ((id<5) || (id=='6')) { ex.style.display = "block"; }
	else { ex.style.display = "none"; }
		
	if (id>4) { br.style.display = "none"; }
	else { br.style.display = "block"; }
}

// - Show/Hide Rows on standard list
function chg_slist(obj,row,listid)
{
	var id = obj.options[obj.selectedIndex].value;
	var rw;
	
	if (document.all) { rw = document.all[row]; }
	else { rw = document.getElementById(row); }
	
	if (id==listid) { rw.style.display = "block"; }
	else { rw.style.display = "none"; }
}

// - Show/Hide values when Trial field is changed
function chg_trial(id,order)
{
	if (document.all)
	{
		for (x=1;x<3;x++)
		{
			block = document.all["trial" + x];
			
			if (id.options[id.selectedIndex].value == '0') { block.style.display = "none"; }
			else { block.style.display = "block"; }
		}
		
		if (order)
		{
			for (x=1;x<3;x++)
			{
				block = document.all["order" + x];
				
				if (id.options[id.selectedIndex].value == '0') { block.style.display = "block"; }
				else { block.style.display = "none"; }
			}
		}
	}
	else
	{
		for (x=1;x<3;x++)
		{
			block = document.getElementById("trial" + x);
			
			if (id.options[id.selectedIndex].value == '0') { block.style.display = "none"; }
			else { block.style.display = "block"; }
		}
		
		if (order)
		{
			for (x=1;x<3;x++)
			{
				block = document.getElementById("order" + x);
				
				if (id.options[id.selectedIndex].value == '0') { block.style.display = "block"; }
				else { block.style.display = "none"; }
			}
		}
	}
}

// - Show/Hide fields based upon a selection
function select_show_hide(fields,obj)
{
	var flds = fields.split(",");

	if (document.all)
	{
		for (x=0;x<flds.length;x++)
		{
			els = document.all[flds[x]];
		
			if (obj.options[obj.selectedIndex].value == '0') { els.style.display = "none"; }
			else { els.style.display = "block"; }
		}
	}
	else
	{
		for (x=0;x<flds.length;x++)
		{
			els = document.getElementById(flds[x]);
		
			if (obj.options[obj.selectedIndex].value == '0') { els.style.display = "none"; }
			else { els.style.display = "block"; }
		}
	}
}

// - Show/Hide fields that are the opposite
function show_hide_switch(fields,obj,opposite)
{
	var flds = fields.split(",");
	var oflds = opposite.split(",");

	if (document.all)
	{
		for (x=0;x<flds.length;x++)
		{
			els = document.all[flds[x]];
		
			if (obj.options[obj.selectedIndex].value == '0') { els.style.display = "none"; }
			else { els.style.display = "block"; }
		}
		
		for (x=0;x<oflds.length;x++)
		{
			els = document.all[oflds[x]];
		
			if (obj.options[obj.selectedIndex].value == '0') { els.style.display = "block"; }
			else { els.style.display = "none"; }
		}
	}
	else
	{
		for (x=0;x<flds.length;x++)
		{
			els = document.getElementById(flds[x]);
		
			if (obj.options[obj.selectedIndex].value == '0') { els.style.display = "none"; }
			else { els.style.display = "block"; }
		}
		
		for (x=0;x<oflds.length;x++)
		{
			els = document.getElementById(oflds[x]);
		
			if (obj.options[obj.selectedIndex].value == '0') { els.style.display = "block"; }
			else { els.style.display = "none"; }
		}
	}
}

// - Show/Hide notification options
function sh_notify(obj)
{
	var evy = "";
	var sum = "";
	var tag = "";
	
	if (document.all)
	{
		evy = document.all['nf0'];
		sum = document.all['nf1'];
		tag = document.all['nf2'];
	}
	else
	{
		evy = document.getElementById('nf0');
		sum = document.getElementById('nf1');
		tag = document.getElementById('nf2');
	}
	
	evy.style.display = "none";
	sum.style.display = "none";
	tag.style.display = "none";
	
	if (obj.options[obj.selectedIndex].value == '0') { evy.style.display = "block"; }
	else if (obj.options[obj.selectedIndex].value == '1') { sum.style.display = "block"; }
	else { tag.style.display = "block"; }
}	

// - Show/Hide particular fields
function show_hide(showid,hideid)
{
	var show_a = showid.split(",");
	var show_n = 0;
	var hide_a = hideid.split(",");
	var hide_n = 0;

	if (document.all)
	{
		for (x=0;x<show_a.length;x++)
		{
			els = document.all[show_a[x]];
			els.style.display = "inline";
		}
		
		for (x=0;x<hide_a.length;x++)
		{
			elh = document.all[hide_a[x]];
			elh.style.display = "none";
		}
	}
	else
	{
		for (x=0;x<show_a.length;x++)
		{
			els = document.getElementById(show_a[x]);
			els.style.display = "block";
		}
		
		for (x=0;x<hide_a.length;x++)
		{
			elh = document.getElementById(hide_a[x]);
			elh.style.display = "none";
		}
	}
}

// - Determine the position of the object
function obj_position(o)
{
	obj = new Object();
	obj.x = o.offsetLeft;
	obj.y = o.offsetTop;
	par = o.offsetParent;

	while(par !=null)
	{
		obj.y += par.offsetTop;
		obj.x += par.offsetLeft;
		par = par.offsetParent;
	}

	return obj;
}

// - Check the IP address
function check_ip(v)
{	
	valid = true;

	ip = v.split(".");

	if(ip.length!=4) { return false; }

	for (x=0;x<ip.length;x++)
	{
		if(isNaN(parseFloat(ip[x])) || ip[x]>255) { valid = false; }
	}

	return valid;
}

// - Add an option to a selection box
function add_option(vfrom,vto)
{		 
	var from;
	var to;
	
	if (document.all)
	{
		from = document.all[vfrom];
		to = document.all[vto];
	}
	else
	{
		from = document.getElementById(vfrom);
		to = document.getElementById(vto);
	}

	if (!has_options(to)) { var index = 0; }
	else { var index=to.options.length; }
	
	valid = true;
	
	if (arguments.length == 4)
	{
		var type = arguments[2];
		var desc = arguments[3];
		
		if (type == "ip")
		{
			if (!check_ip(from.value)) { valid = false; }
		}
		else if (type == "port")
		{
			if (isNaN(from.value)) { valid = false; }
		}
		else
		{
			alert ("Invalid Argument");
			valid = false;
		}
	}

	if (valid)
	{
		to.options[index] = new Option( from.value, from.value, false, false);
		sort_select(to);
		to.selectedIndex = -1;
		from.value = "";
		mark_changes();
	}
	else
	{
		alert ("The "+desc+" is not valid.");
		from.focus();
	}
}

// - Move option from one select box to another
function move_option(vfrom,vto)
{
	var from;
	var to;
	
	if (document.all)
	{
		from = document.all[vfrom];
		to = document.all[vto];
	}
	else
	{
		from = document.getElementById(vfrom);
		to = document.getElementById(vto);
	}

	for (var i=0; i<from.options.length; i++)
	{
		var o = from.options[i];

		if (o.selected)
		{
			if (!has_options(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; }
	}

	if (arguments.length>2)
	{
		if (arguments[2])
		{
			sort_select(from);
			sort_select(to);
		}
		else
		{
			sort_select_text(from);
			sort_select_text(to);
		}
	}
	else
	{
		sort_select(from);
		sort_select(to);
	}

	from.selectedIndex = -1;
	to.selectedIndex = -1;
}

// - Delete an option from the selection box
function delete_option(vfrom)
{
	var from;
	
	if (document.all) { from = document.all[vfrom]; }
	else { from = document.getElementById(vfrom); }

	for (var i=(from.options.length-1); i>=0; i--)
	{
		var o = from.options[i];

		if (o.selected) { from.options[i] = null; }
	}

	sort_select(from);
	from.selectedIndex = -1;
}

// - Sort a selection box
function sort_select(obj)
{
	var o = new Array();

	if (!has_options(obj)) { return; }

	for (var i=0; i<obj.options.length; i++)
	{
		o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;
	}

	if (o.length==0) { return; }

	o = o.sort(
		function(a,b) {
			if ((a.value+"") < (b.value+"")) { return -1; }
			if ((a.value+"") > (b.value+"")) { return 1; }
			return 0;
			}
		);

	for (var i=0; i<o.length; i++)
	{
		obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	}
}

// - Sort a selection box by the text value
function sort_select_text(obj)
{
	var o = new Array();

	if (!has_options(obj)) { return; }

	for (var i=0; i<obj.options.length; i++)
	{
		o[o.length] = new Option( obj.options[i].text, obj.options[i].value, obj.options[i].defaultSelected, obj.options[i].selected) ;
	}

	if (o.length==0) { return; }

	o = o.sort(
		function(a,b) {
			if ((a.text+"") < (b.text+"")) { return -1; }
			if ((a.text+"") > (b.text+"")) { return 1; }
			return 0;
			}
		);

	for (var i=0; i<o.length; i++)
	{
		obj.options[i] = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);
	}
}

// - Check if the selection box has option values
function has_options(obj)
{
	if (obj!=null && obj.options!=null) { return true; }

	return false;
}

// - Explode an array
function array_explode(str,del) 
{
	arr_temp = new Array(1);
	
	var cnt = 0;
	var str_temp = new String(str);

	while (str_temp.indexOf(del) > 0) 
	{
		arr_temp[cnt] = str_temp.substr(0,str_temp.indexOf(del));
		str_temp = str_temp.substr(str_temp.indexOf(del)+1,str_temp.length-str_temp.indexOf(del)+1); 
		cnt = cnt+1
	}

	arr_temp[cnt] = str_temp;
  
	return arr_temp;
}

// - Set the selected packages
function set_packages(num)
{
	arr = array_explode(packages[num],":");
	
	for (x=1;x<17;x++)
	{
		obj = document.frmData["pkg_"+x];
		
		if (packages[num] == '') { obj.checked = false; }
		else
		{
			if (arr[x-1] == '1') { obj.checked = true; }
			else { obj.checked = false; }
		}
		
		if (num == '0') { obj.disabled = false; }
		else { obj.disabled = true; }
	}
}

// - Confirm a deletion before submitting
function submit_delete()
{
	var subject = document.frmDelete.subject.value;
	
	if (confirm_alert("Confirm Delete", subject + "\nDo you want to continue?\n\nNOTE: This cannot be UNDONE...", 2,1,0))
	{
		document.frmDelete.submit();
	}
}

// - Confirm a password reset before submitting
function submit_pswd_reset()
{	
	if (confirm_alert("Confirm Delete", "You are about to reset the password for the login account.\nDo you want to continue?\n\nNOTE: This cannot be UNDONE...", 2,1,0))
	{
		document.frmPswd.submit();
	}
}

// - Load summary notification times before submitting
function submit_policy()
{
	var tmpstr = "";
	var tmpfnd = false;
	
	with (document.frmData)
	{
		for (x=0; x<24; x++)
		{
			if (x>0) { tmpstr += ":"; }
			
			tmpfnd = false;
			
			for (y=0; y<notify_hours.length; y++)
			{
				tmpval = (notify_hours.options[y].value*1);
				
				if (x == tmpval) 
				{ 
					tmpstr += "1"; 
					tmpfnd = true; 
				}
			}
			
			if (!tmpfnd) { tmpstr += "0"; }
		}
	
		nf1_times.value = tmpstr;
		
		submit();
	}
}			

// - Load multi list values before submitting
function load_multilist()
{
	with (document.frmData)
	{		
		for (x=0; x<arguments.length; x++)
		{
			var txt = arguments[x].toLowerCase();
			var lst = txt+"_list";
			eval(txt).value = load_field(eval(lst)); 
		}
		
		submit();
	}
}

// - Return a list of values from a selection box
function load_field(list)
{
	var hold = "";
	var comma = "";
	
	for (x=0;x<list.length;x++)
	{
		if (comma) { hold += ","; }
			
		comma = true;
		hold += list.options[x].value;
	}
	
	return hold;
}

// - Show the highlighter on the help page
function show_highlighter(e,obj)
{	
	var mark = "";
	var help = "";
	
	if (document.all)
	{
		mark = document.all["marker"];
		help = document.all["helper"];
	
		mark.style.visibility = "hidden";
		help.style.visibility = "hidden";

		if (!posX_1)
		{
			posX_1 = (window.event.x-2);
			posY_1 = (window.event.y-2);
	
			mark.style.visibility = "visible";
			mark.style.posLeft = (posX_1-5);
			mark.style.posTop = (posY_1-5);
		}
		else if (!posX_2)
		{
			posX_2 = (window.event.x-2);
			posY_2 = (window.event.y-2);

			help.style.visibility = "visible";
			help.style.posLeft = posX_1;
			help.style.posTop = posY_1;
			help.style.width = (posX_2-posX_1);
			help.style.height = (posY_2-posY_1);
		}
		else
		{
			posX_1 = 0;
			posX_2 = 0;
			posY_1 = 0;
			posY_2 = 0;
		}
	}
	else
	{
		mark = document.getElementById("marker");
		help = document.getElementById("helper");
	
		mark.style.visibility = "hidden";
		help.style.visibility = "hidden";

		if (!posX_1)
		{
			posX_1 = (e.pageX-obj.offsetLeft-2);
			posY_1 = (e.pageY-obj.offsetTop-2);
	
			mark.style.visibility = "visible";
			mark.style.left = (posX_1-5);
			mark.style.top = (posY_1-5);
		}
		else if (!posX_2)
		{
			posX_2 = (e.pageX-obj.offsetLeft-2);
			posY_2 = (e.pageY-obj.offsetTop-2);

			help.style.visibility = "visible";
			help.style.left = posX_1;
			help.style.top = posY_1;
			help.style.width = (posX_2-posX_1);
			help.style.height = (posY_2-posY_1);
		}
		else
		{
			posX_1 = 0;
			posX_2 = 0;
			posY_1 = 0;
			posY_2 = 0;
		}
	}
	
	return;
}

// - Move the guides within the help editor
function move_guides(e,obj)
{	
	var vg = "";
	var hg = "";
	
	if (document.all)
	{
		vg = document.all["vguide"];
		hg = document.all["hguide"];
		
		vg.style.posLeft = (window.event.x-2);
		hg.style.posTop = (window.event.y-2);
	}
	else
	{
		vg = document.getElementById("vguide");
		hg = document.getElementById("hguide");
		
		vg.style.left = (e.pageX-obj.offsetLeft-2);
		hg.style.top = (e.pageY-obj.offsetTop-2);
	}
	
	vg.style.visibility = "visible";
	hg.style.visibility = "visible";
}

// - Select or Deselect the check boxes
function sdcbox(tobj)
{
	var obj = document.frmData;
	var tmp = "";
	var sty = "";
	
	for (var i=0;i<obj.length;i++)
	{
		tmp = obj.elements[i].name;
		sty = tmp.split("_");
		
		if ((obj.elements[i].type == "checkbox") && (tmp != "main_top"))
		{
			if (tobj.checked)
			{
				obj.elements[i].checked = true;
				chg_class("row_select","data_"+sty[1]);
			}
			else
			{
				obj.elements[i].checked = false;
				chg_class("row_clear","data_"+sty[1]);
			}
		}
	}
}

// - Select or Deselect the main check boxes
function sdmbox(tobj,robj)
{
	var obj = document.frmData.main_top;
			
	if (tobj.checked)
	{
		chg_class("row_select",robj);
		
		var objs = document.frmData;
		$cnt_t = 0;
		$cnt_s = 0;
	
		for (var i=0;i<objs.length;i++)
		{		
			if (objs.elements[i].type == "checkbox")
			{			
				if (objs.elements[i].name != "main_top")
				{
					$cnt_t++;
					
					if (objs.elements[i].checked)
					{
						$cnt_s++;
					}
				}
			}
		}
		
		if ($cnt_t == $cnt_s) { obj.checked = true; }
	}
	else
	{
		obj.checked = false;
		chg_class("row_clear",robj);
	}
}

// - Delete selection from the page view and submit the delete form
function delete_selections()
{
	var obj = document.frmData;
	var comma = false;
	var holding = "";
	var ct = 0;
	
	for (var i=0;i<obj.length;i++)
	{
		if (obj.elements[i].type == "checkbox")
		{			
			if (obj.elements[i].name != "main_top" && obj.elements[i].name != "main_bottom")
			{
				if (obj.elements[i].checked)
				{
					ct++;
					
					if (comma) { holding += ","; }
						
					comma = true;
						
					holding += obj.elements[i].value;
				}
			}
		}
	}
	
	if (ct>0)
	{
		var subject = document.frmDelete.subject.value;	
		subject = subject.replace(/<num>/g,ct);

		document.frmDelete.ids.value = holding;
	
		if (confirm_alert("Confirm Delete", subject + "\nDo you want to continue?\n\nNOTE: This cannot be UNDONE...", 2,1,0))
		{
			document.frmDelete.submit();
		}
	}
}

// - Approve selection from the page view and submit the approve form
function approve_selections()
{
	var obj = document.frmData;
	var comma = false;
	var holding = "";
	var ct = 0;
	
	for (var i=0;i<obj.length;i++)
	{
		if (obj.elements[i].type == "checkbox")
		{			
			if (obj.elements[i].name != "main_top" && obj.elements[i].name != "main_bottom")
			{
				if (obj.elements[i].checked)
				{
					ct++;
					
					if (comma) { holding += ","; }
						
					comma = true;
						
					holding += obj.elements[i].value;
				}
			}
		}
	}
	
	if (ct>0)
	{
		var subject = document.frmApprove.subject.value;	
		subject = subject.replace(/<num>/g,ct);

		document.frmApprove.ids.value = holding;
	
		if (confirm_alert("Confirm Approve", subject + "\nDo you want to continue?\n\nNOTE: This cannot be UNDONE...", 2,1,0))
		{
			document.frmApprove.submit();
		}
	}
}

// - Turn On/Off the employee list
function emp_list(val)
{
	var obj = document.frmData;
	var subject = document.frmActivate.subject.value;
	
	if (val) { subject = subject.replace(/<activate>/g,"ON"); }
	else { subject = subject.replace(/<activate>/g,"OFF"); }

	document.frmActivate.val.value = val;
	
	if (confirm_alert("Confirm", subject + "\nDo you want to continue?\n\nNOTE: This cannot be UNDONE...", 2,1,0))
	{
			document.frmActivate.submit();
	}
}

// - Perform an action on the threat list
function threat_action(threat)
{
	var obj = document.frmData;
	var comma = false;
	var holding = "";
	var ct = 0;
	var frm = "";
	var til = "";
	var sbj = "";
	
	for (var i=0;i<obj.length;i++)
	{
		if (obj.elements[i].type == "checkbox")
		{			
			if (obj.elements[i].name != "main_top" && obj.elements[i].name != "main_bottom")
			{
				if (obj.elements[i].checked)
				{
					ct++;
					
					if (comma) { holding += ","; }
						
					comma = true;
						
					holding += obj.elements[i].value;
				}
			}
		}
	}
	
	if (ct>0)
	{
		switch (threat)
		{
			case "delete":
				frm = document.frmDelete;
				til = "Confirm Delete";
				break;
			case "release":
				frm = document.frmRelease;
				til = "Confirm Release";
				break;
			case "send":
				frm = document.frmSend;
				til = "Confirm Send";
				break;
			case "notspam":
				frm = document.frmNotSpam;
				til = "Confirm Report Not Spam";
				break;
		}
		
		sbj = frm.subject.value;	
		sbj = sbj.replace(/<num>/g,ct);
		frm.ids.value = holding;
	
		if (confirm_alert(til, sbj + "\nDo you want to continue?\n\nNOTE: This cannot be UNDONE...", 2,1,0))
		{
			frm.submit();
		}
	}
}

// - Perform an action on the threat view
function threat_action_single(threat)
{
	var frm = "";
	var til = "";
	var sbj = "";
	
	switch (threat)
	{
		case "delete":
			frm = document.frmDelete;
			til = "Confirm Delete";
			break;
		case "release":
			frm = document.frmRelease;
			til = "Confirm Release";
			break;
		case "send":
			frm = document.frmSend;
			til = "Confirm Send";
			break;
		case "notspam":
			frm = document.frmNotSpam;
			til = "Confirm Report Not Spam";
			break;
	}
		
	sbj = frm.subject.value;
	
	if (confirm_alert(til, sbj + "\nDo you want to continue?\n\nNOTE: This cannot be UNDONE...", 2,1,0))
	{
		frm.submit();
	}
}

// - Move the step within the scanning order either up or down within the list.
function move_step(dir,num)
{
	var num_next = 0;
	var field = "";
	var field_next = "";
	var row = "";
	var row_next = "";
	
	mark_changes();
	
	if (dir) { num_next = (num-1); }
	else { num_next = (num+1); }

	if (document.all)
	{
		field = document.all['val_'+num];
		field_next = document.all['val_'+num_next];
		
		for (x=0;x<ar_name.length;x++)
		{
			row = document.all['row_'+x];
			row.bgColor = "";
		}
		
		row_next = document.all['row_'+num_next];
	}
	else
	{
		field = document.getElementById('val_'+num);
		field_next = document.getElementById('val_'+num_next);
		
		for (x=0;x<ar_name.length;x++)
		{
			row = document.getElementById('row_'+x);
			row.bgColor = "";
		}
		
		row_next = document.getElementById('row_'+num_next);
	}

	hold_name = ar_name[num_next];
	ar_name[num_next] = ar_name[num];
	ar_name[num] = hold_name;

	hold_id = ar_id[num_next];
	ar_id[num_next] = ar_id[num];
	ar_id[num] = hold_id;

	field.innerHTML = ar_name[num];
	field_next.innerHTML = ar_name[num_next];
	
	var hold_val = "";
	
	for (x=0;x<ar_id.length;x++)
	{
		if (x > 0) { hold_val += ","; }
		
		hold_val += ar_id[x];
	}
	
	document.frmData.scan_order.value = hold_val;
	
	row_next.bgColor = "#f4f5f7";
}

/***************************************************************
* The section below contains all pop-up window configurations
***************************************************************/

// - Open new window for sending an email
function posting_win(page,hgt)
{
	wParam = "height="+hgt+",width=520,left=100,top=100,resizable=0,scrollbars=1";
	wWin = open(page,"_posting_win",wParam);
}

// - Open new window for stat tracking
function stattrack_win(page,wdth)
{
	wParam = "height=400,width="+wdth+",left=100,top=100,resizable=0,scrollbars=1";
	wWin = open(page,"_stats_win",wParam);
}
