/* -*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

	Function	: miscscripts.js
	Version 	: 1.00
	Last Update	: 29-01-2012
	Latest CCNo	:
	----------------------------*/

function change_display(obj,placeholder,tabindex)
{
	var enum_patt	= /enum\s*\(/i;
	var set_patt	= /set\s*\(/i;
	var out;
	var newtabindex = tabindex + 2;

	objct = document.getElementsByName(obj);
	plchld= document.getElementById(placeholder);
	valname = objct[0].value;
	ivar = document.getElementsByName(valname);

	if ( ivar.length > 0 )
	{
		replacement		= ivar[0].value;
		Str_replacement	= replacement.toString();

		if ( enum_patt.exec(Str_replacement) )
		{
			var out = Str_replacement.replace(/(enum)(\s*\()(["',\w]+)(\s*\))/i,"$3");
			eval ('sels = new Array('+ out + ')');

			Str_out = "<select name='" + placeholder + "' tabindex='" + 
						newtabindex + "'>";
			for ( t=0; t < sels.length; t++ )
			{
				Str_out = Str_out + "<option value='" + sels[t] + 
							"'>" + sels[t] + "</option>";
			}
			Str_out = Str_out + "</select>";
			plchld.innerHTML = Str_out;
		}
		else if ( set_patt.exec(Str_replacement) )
		{
			var out = Str_replacement.replace(/(set)(\s*\()(["',\w]+)(\s*\))/i,"$3");
			eval ('sels = new Array('+ out + ')');

			for ( t=0; t < sels.length; t++ )
			{
				Str_out = Str_out + sels[t] + "<input type='checkbox' name='" + 
							placeholder + "' value='" + sels[t] + 
							"' " + "tabindex='" + newtabindex + "'/>";
			}
			plchld.innerHTML = Str_out;
		}
	}
	else	
		plchld.innerHTML = "&nbsp;<input type='text' name='" + placeholder + 
							"' size='30' " + 
							"maxlength='30' value='Type here' tabindex='"
							+ newtabindex + "'/>";
}

function SendField()
{
	arg_in	= arguments.length;

	for ( a=0;a < arg_in; a=a+2 )
	{
		s1 = arguments[a];
		p1 = document.getElementsByName(arguments[a+1]);
		p1[0].value = s1;	
	}
}

function hide_obj(val)
{
	document.getElementById(val).hidden = true;
}

function show_obj(val)
{
	document.getElementById(val).hidden = false;
}

// =================
function flip_visibility(val,linkid,txtchng)
{
	// Associated changing field
	arg_in	= arguments.length;
	othfld = false;
	if ( arg_in > 3 )
	{
		its = document.getElementsByName(arguments[3]);
		othfld = true;
	}

	// Associated changing link
	lnkbj = document.getElementById(linkid);
	lnkbj.innerHTML = txtchng;

	abj = document.getElementById(val);
	if (  abj.hidden )
	{
		abj.hidden = false;
		if ( othfld )
		{
			its[1].selected = true;
			its[1].checked = true;
		}
	}
	else
	{
		abj.hidden = true;
		if ( othfld )
		{
			its[0].selected = true;
			its[0].checked = true;
		}
	}
}

function DisableOnAction(item,val)
{
	axnfld = document.getElementsByName(item);
	arg_in	= arguments.length;
	exp_arg = arguments.callee.length;

	if ( axnfld[0].checked )
	{
		// disable fields
		for ( i=exp_arg;i < arg_in; i++)
		{
			tt = document.getElementsByName(arguments[i]);
			tt[0].disabled = true;
		}
	}
	else
	{
		// enable fields
		for ( i=exp_arg;i < arg_in; i++)
		{
			tt = document.getElementsByName(arguments[i]);
			tt[0].disabled = false;
		}
	}
}

function is_jenabled(val)
{
    return document.state.value = 'true';
}

function setfocuson(next)
{
  // find  obj
 	itm2 = document.getElementsByName(next);
	itm2[0].focus();
	itm2[0].select();
}

function goback($buttonval)
{
	document.writeln("<input type='button' value='" + $buttonval + 
					"' alt ='Click this OK Button' onclick='history.back()'/>")
}

//	----------------------------------

function writeclose(mode)
{
	txt = '[ ';
	switch (mode)
	{
		case 'cp':				
			if ( window.history.length > 1 )
				txt = txt + "<b>&laquo</b><a href='javascript:history.back();' title='Back'>Back</a> | ";
			txt =  txt + "<a href='javascript:window.print();' title='Print this document'>Print</a> | ";
			txt = txt + "<a href='javascript:window.close();' title='Close window'>Close</a>";
			break;

		default:					
			txt = txt + "<a href='javascript:window.close();' title='Close window'>Close</a>";
			break;
	}
	txt = txt + ' ]';
	document.writeln(txt);
}

//	----------------------------------

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 = 400;
			hei = 300;
			break;

		case 'm':				//	--	medium
			wid = 550;
			hei = 450;
			break;

		default:					//	-- large
			wid = 750;
			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;
}

function changetrivia(dyvar,itemcnt1,itemcnt2,speed,lstcnt)
{
	var msg;
	var cnt;

	if ( lstcnt >= itemcnt2 )
		cnt = 0;
	else
		cnt = lstcnt;

	msg = newsarray[itemcnt1][cnt];

	a = document.getElementById(dyvar);
	a.innerHTML = msg;
		
	cnt++;
	writespeed=setTimeout('changetrivia("'+ dyvar + '",' + itemcnt1 + 
				',' + itemcnt2 + ',' + speed + ',' + cnt + ')',speed);
}


