/*------------------------------------------------------------------------------------------------------------------------------------------------
Created By: Steve Holland
Description: This is a library of all my common javascript that I use on a regular basis.
USAGE: <script language="JavaScript" src="javascript/SteveJSLibrary.js"></script>
------------------------------------------------------------------------------------------------------------------------------------------------*/

/*------------------------------------------------------------------------------------------------------------------------------------------------
Open a browser window.
USAGE:
<a href="Javascript:openBrWindow('filename.htm','windowName','toolbar=no,location=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=500,height=400');">Link Name or Image</a>
------------------------------------------------------------------------------------------------------------------------------------------------*/
function openBrWindow(theURL,winName,features){
  window.open(theURL,winName,features);
}


/*------------------------------------------------------------------------------------------------------------------------------------------------
Confirmation prompt. To call this JS, simply insert this code into the event handler you are using.
USAGE:
<input type="Submit" onEvent="return sure('The message prompt you wish to display');">
------------------------------------------------------------------------------------------------------------------------------------------------*/
function sure(message)
{
returnval = confirm(message);
if (returnval == false) 
	{
	return false
	} 
	else 
	{
	return true
	}
}


/*------------------------------------------------------------------------------------------------------------------------------------------------
Submit Once script. Will not work in CFFORM
USAGE:
<form name="" onSubmit="submitonce(this)">
------------------------------------------------------------------------------------------------------------------------------------------------*/
function submitonce(theform){
  //if IE 4+ or NS 6+
    if (document.all||document.getElementById){
    //screen thru every element in the form, and hunt down "submit" and "reset"
    for (i=0;i<theform.length;i++){
    var tempobj=theform.elements[i]
    if(tempobj.type.toLowerCase()=="submit"||tempobj.type.toLowerCase()=="reset")
    //disable em
    tempobj.disabled=true
    }
  }
}


/*------------------------------------------------------------------------------------------------------------------------------------------------
Check all check boxes
USAGE:
<input type="checkbox" name="checkalldepts" value="Check all" onClick="this.value=check(document.form1.departments)">
<input type="checkbox" name="departments" value="Accounting">
<input type="checkbox" name="departments" value="Finance">
------------------------------------------------------------------------------------------------------------------------------------------------*/
var checkflag = "false";
function check(field) {
if (checkflag == "false") {
  for (i = 0; i < field.length; i++) {
  field[i].checked = true;}
  checkflag = "true";
  return "uncheck all"; }
else {
  for (i = 0; i < field.length; i++) {
  field[i].checked = false; }
  checkflag = "false";
  return "check all"; }
}


/*------------------------------------------------------------------------------------------------------------------------------------------------
Auto Maximize Window Script
USAGE:
<input type="Button" name="max" value="Maximize Window" onclick="autoMaximize();">
------------------------------------------------------------------------------------------------------------------------------------------------*/
function autoMaximize(){
  top.window.moveTo(0,0);
  if (document.all) {
  top.window.resizeTo(screen.availWidth,screen.availHeight);
  }
  else if (document.layers||document.getElementById) {
  if (top.window.outerHeight<screen.availHeight||top.window.outerWidth<screen.availWidth){
  top.window.outerHeight = screen.availHeight;
  top.window.outerWidth = screen.availWidth;
  }
  }
}


/*------------------------------------------------------------------------------------------------------------------------------------------------
Font resizer
USAGE:
<a href="javascript:ts('body',1)">+ Larger Font</a> | <a
href="javascript:ts('body',-1)">+ Smaller Font</a>
------------------------------------------------------------------------------------------------------------------------------------------------*/
//Specify affected tags. Add or remove from list:
var tgs = new Array( 'div','td','tr');

//Specify spectrum of different font sizes:
var szs = new Array( 'xx-small','x-small','small','medium','large','x-large','xx-large' );
var startSz = 2;

function ts( trgt,inc ) {
	if (!document.getElementById) return
	var d = document,cEl = null,sz = startSz,i,j,cTags;
	
	sz += inc;
	if ( sz < 0 ) sz = 0;
	if ( sz > 6 ) sz = 6;
	startSz = sz;
		
	if ( !( cEl = d.getElementById( trgt ) ) ) cEl = d.getElementsByTagName( trgt )[ 0 ];

	cEl.style.fontSize = szs[ sz ];

	for ( i = 0 ; i < tgs.length ; i++ ) {
		cTags = cEl.getElementsByTagName( tgs[ i ] );
		for ( j = 0 ; j < cTags.length ; j++ ) cTags[ j ].style.fontSize = szs[ sz ];
	}
}


/*------------------------------------------------------------------------------------------------------------------------------------------------
Disable "Enter" key in Form script
USAGE:
<input type="text" onkeypress="return handleEnter(this, event)"><br>
<input type="text" onkeypress="return handleEnter(this, event)">
------------------------------------------------------------------------------------------------------------------------------------------------*/                
function handleEnter(field, event) {
		var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
		if (keyCode == 13) {
			var i;
			for (i = 0; i < field.form.elements.length; i++)
				if (field == field.form.elements[i])
					break;
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		} 
		else
		return true;
	}      

/*------------------------------------------------------------------------------------------------------------------------------------------------
Display date and time
USAGE:
<script language="JavaScript">DateStamp();</script> <script language="JavaScript">TimeStamp();</script>
------------------------------------------------------------------------------------------------------------------------------------------------*/
function DateStamp() {
var d = new Array(
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
);

var m = new Array(
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
);

var today = new Date();
var day = today.getDate();
var year = today.getYear();
if (year < 2000) year += 1900; 
document.write(d[today.getDay()]+", "+m[today.getMonth()]+" "+day+", " + year);
//return d[today.getDay()]+", "+m[today.getMonth()]+" "+day+", " + year;
}

function TimeStamp() {
	var Stamp = new Date();
	var Hours;
	var Mins;
	var Time;
	Hours = Stamp.getHours();
	Mins = Stamp.getMinutes();
	if (Hours >= 12) Time = " P.M.";
		else Time = " A.M.";
	if (Hours > 12) Hours -= 12;
	if (Hours == 0) Hours = 12;
	if (Mins < 10) Mins = "0" + Mins;
	document.write(Hours + ":" + Mins + Time);
}

/*------------------------------------------------------------------------------------------------------------------------------------------------
Image rollover
USAGE:
<a href="http://www.link.com" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('david','','/sysimages/davidpierce_on.jpg',1)" target="_blank"><img src="sysimages/davidpierce_off.jpg" alt="Master David Pierce" name="david" width="96" height="96" border="0"></a>
------------------------------------------------------------------------------------------------------------------------------------------------*/
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}