// -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
//
//	Function 	: miscscripts.js
//	Version 		: 1.00
// Last Update	: 14/6/09
//	Latest CCNo	:
//	----------------------------
//

function is_jenabled()
{

    return document.form.state.value = 'true';
}

function goback($buttonval)
{
	document.writeln("<input type='button' value='" + $buttonval + "' alt ='Click this OK Button' onclick='history.back()'>")
}

//	----------------------------------

function writeclose(mode)
{
	switch (mode)
	{
		case 'cp':				
			txt = "[ <a href='javascript:window.print();' title='Print this document'>Print</a> | "
					+ "<a href='javascript:window.close();' title='Click to close this window'>Close Window</a> ]";
			document.writeln(txt);
			break;

		default:					
			txt = "[ <a href='javascript:window.close();' title='Click to close this window'>Close Window</a> ]";
			document.writeln(txt);
			break;
	}
}
//	----------------------------------

function closeWindow()
{

window.open('','_parent','');

window.close();

}

//	----------------------------------

function tabfocus(obj)
{
	obj.style.border = '2px dashed #FFD700';
}

//	----------------------------------

function nofocus(obj)
{
	obj.style.border = 'none';
}

//	----------------------------------

function viewer(pageurl,size)
{

	if (arguments.length != 2)
		size = 'b';

	switch (size)
	{
		case 's':				//	--	small
			wid = 300;
			hei = 300;
			break;

		case 'm':				//	--	medium
			wid = 500;
			hei = 450;
			break;

		default:					//	-- large
			wid = 700;
			hei = 650;
			break;
	}

 	OpenWin = window.open(pageurl, "new",
			"toolbar=No, menubar=No, location=No, scrollbars=Yes, resizable=Yes, width=" + wid +
			", height=" + hei);

}

//	----------------------------------

function resizewin(ww,hh)
{
	rewin=this.resizeTo(ww,hh)
}

//	----------------------------------

function is_spaces(txt)
{
	pattern = /^\s+$/;

	result = pattern.test(txt);
	if (!result)
		return false;
	else
		return true;
}

function tickAll(form_name,name,col,itemcount)
{
// ---- put a tick in all checkboxes

	var max = itemcount + 1;
	var obj = document.forms[form_name];
	var itm, itemname,a;

  	for( i=1; i < max; i++ ) 
	{
		if ( col > 0 )
			itm = name + i + '_' + col;
		else
			itm = name + i;

		obj[itm].checked = true;
	}

 	return true;
}

function untickAll(form_name,name,col,itemcount)
{
// ---- remove a tick in all checkboxes

	var max = itemcount + 1;
	var obj = document.forms[form_name];
	var itm, itemname,a ;

  	for( i=1; i < max; i++ ) 
	{
		if ( col > 0 )
			itm = name + i + '_' + col;
		else
			itm = name + i;
		obj[itm].checked = false;
	}

	return true;
}

//	----------------------------------
// Generic form input field validation

function isvalid_infield(inptxt,fieldtype,maxlength)
{
   if (arguments.length != 3)
	{
		fieldtype = 'text';
		maxlength = 255;
	}

	if (inptxt.length > maxlength)
		return false;

	if (inptxt.length == 0)
		return true;

	switch (fieldtype)
	{
		case 'email' :
			pattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9])+$/;
			break;

		case 'addr' :
			// check an address entry is valid - uppercase, lowercase letters,
			//	digits 0-9, fullstops, hyphens and underscore only (used on address lines and pstcd)
			pattern = /[^-a-zA-Z0-9_ ,@#&\*\+\.\/) (]+/i;
			break;

		case 'pstcd' :
			// check a postcode entry is valid - uppercase, lowercase letters,
			//	digits 0-9 and spaces only (used on address lines and pstcd)
			pattern = /[^a-zA-Z0-9 ]+/i;
			break;

		case 'phone' :
			// check phone number entry is valid
			pattern = /[^-0-9 \(\+\)]+/i;
			break;

		case 'file' :
			// check an upload file name to ensure that the format is correct
			//	ie. xxx.xxx
			pattern = /^([-a-zA-Z0-9\/_\\ :])+\.([a-zA-Z]){3,4}$/i;
			break;

		case 'pwd' :
			// check password entry is valid - uppercase, lowercase letters and digits 0-9 only & max len = 20
			pattern = /[^a-zA-Z0-9]+/i;
			break;

		case 'user' :
			// check username entry is valid - uppercase, lowercase letters and digits 0-9 only & min = 2 & max len = 20
			if (inptxt.length < 2)
				return false;
			else
			{
				pattern = /[^-a-zA-Z0-9_@.]+/i;
			}
			break;

		default:
//			pattern = /[a-zA-Z0-9_ £!"%&-,';@\t\n\r\$\*\(\)\/\+\?\=\:\.]+/im;
			pattern = /[\f\0\v]+/m;
			break;
	}

	if (fieldtype == 'email' || fieldtype == 'file' )
	{
		result = pattern.test(inptxt);
		if (!result)
			return false;
	}
	else
	{
		result = inptxt.match(pattern);

		if (result != null)
			return false;
	}

	return true;
}

function changetrivia()
{
	var changespeed = 8000;
	var message;

	if (cnt > arraycnt) {cnt=0}

	message=newsarray[cnt];

	a = document.getElementById("stuff");
	a.innerHTML=message;
		
	cnt++;
	writespeed=setTimeout('changetrivia()',changespeed)
}
