// JavaScript Document
// CHECKS IS REAL NUMBER
// November 10, 2004	Sindy Law    Added DateCheck function

function checkIsNumber(field,maxNum) {
    if (((field.value / field.value) != 1) && (field.value != 0)) {
		field.value = field.value.replace(/[^0-9 .]+/g,'');
		if (field.value == '') field.value = '1';
		alert('Please enter only a number into this text box.');
		field.focus();
	} else {
		if ((maxNum != '') && (field.value > maxNum)){
			field.value = maxNum;
			alert('The maximum number for this field is '+maxNum+'!');
		}
	}
}

function isAlphaNumeric(string) {
	var valid = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; // define valid characters
	for (var i=0; i< string.length; i++) {
       if (valid.indexOf(string.charAt(i)) == -1)
          return false;
    }
    return true;
}


var obj = new Array();

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_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_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];}
}

function calculateButton(image,defaultVal) {
	if (!obj[image]) {
		obj[image] = new Object;
			obj[image].enabled = true;
			if (defaultVal == 'disabled') obj[image].enabled = false; 
	}
	
	if (obj[image].enabled) { 
		obj[image].enabled = false;
		MM_swapImage(image,'','images/btn_disabled_nm.gif',1);
		return 'disabled';
	} else {
		obj[image].enabled = true;
		MM_swapImage(image,'','images/btn_enabled_nm.gif',1);
		return 'enabled';
	}
}

var chasm = screen.availWidth;
var mount = screen.availHeight;
function openWindowCenter(fileName,w ,h ,scrollb) {
	putItThere = window.open(fileName,fileName.substring(0,4),'scrollbars='+scrollb+',resizable,status=no,width='+w+',height='+h+',left=' + ((chasm - w - 10) * .5) + ',top=' + ((mount - h - 30) * .5));
	putItThere.focus();
}

function getSelectBoxValue(thisSelectBox) {
	return (thisSelectBox.options[thisSelectBox.selectedIndex].value);
}

function getSelectBoxIndex(thisSelectBox) {
	return (thisSelectBox.options.selectedIndex);
}



function cent(amount) {
	// returns the amount in the .99 format
    amount -= 0;
    return (amount == Math.floor(amount)) ? amount + '.00' : (  (amount*10 == Math.floor(amount*10)) ? amount + '0' : amount);
}

function round(number,X) {
	// rounds number to X decimal places, defaults to 2
    X = (!X ? 2 : X);
    return Math.round(number*Math.pow(10,X))/Math.pow(10,X);
}

function openNamedWindowCenter(fileName,winName, w ,h ,scrollb) {
	putItThere = window.open(fileName, winName,'scrollbars='+scrollb+',resizable,status=no,width='+w+',height='+h+',left=' + ((chasm - w - 10) * .5) + ',top=' + ((mount - h - 30) * .5));
	putItThere.focus();
}

// This function will open a new window even if the passed in name is the same as one just previously opened
// Added 1/23/2004 K. Kimura
function opennewNamedWindowCenter(fileName,winName, w ,h ,scrollb) {
        var rn = Math.random();
        var newwinName = winName + String(rn);
	putItThere = window.open(fileName, (newwinName.replace('.','')),'scrollbars='+scrollb+',resizable,status=no,width='+w+',height='+h+',left=' + ((chasm - w - 10) * .5) + ',top=' + ((mount - h - 30) * .5));
	putItThere.focus();
}


function IsNull (objValue)
{
  var return_value;
	
  if (objValue == "")
  {
  	alert("Please complete the missing fields!")	
	return_value = false;
  }
  else
  {
  	return_value = true;
  }
  
  return return_value;
}


function DateCheck(objName)
{
   var returnval;

   if (objName == "")
   {
	returnval = true;
   }
   else
   {
   	var datetested = new String(objName);
	var date_array = datetested.split("/");

	var month;
	var date;
	var year;
	var remainder;

	month = parseInt(date_array[0]);
	date = parseInt(date_array[1]);
	year = parseInt(date_array[2]);

	if ((month == 4) || (month == 6) || (month == 9) || (month == 11)) 
	{
		if (((date >=1) && (date <= 30)) && ((year >= 1900) && (year <= 2200)))
		{ 
   			returnval = true;
		}
		else
		{   
			alert("You entered an invalid date.  Please enter the date again in M/D/YYYY format.");
			returnval = false;
		}
	}
	else if ((month == 1) || (month == 3) || (month == 5) || (month == 7) || (month == 8) || (month == 10) || (month == 12)) 
	{
  		if (((date >=1) && (date <= 31)) && ((year >= 1900) && (year <= 2200)))
		{
			returnval = true;
		}
		else
		{
   			alert("You entered an invalid date.  Please enter the date again in M/D/YYYY format.");
   			returnval = false;
		}
	}
	else if (month == 2)
	{
		remainder = year % 4;

		if (remainder == 0) //if year is completely divisible by 4, it's a tentative leap year
		{
  			if ((year > 1900) && (year < 2200) && (year != 2100)) 
			//when the year ends with 00, it's not a leap year unless it's divisible by 400.  Years 1900, 2100, and 2200 are not leap years.  Only 2000 is a leap year.
			{
				if ((date >=1) && (date <= 29))
				{
					returnval = true;
				}
				else
				{
   					alert("You entered an invalid date.  Please enter the date again in M/D/YYYY format.");
   					returnval = false;
				}
			}
			else
			{
				if ((date >=1) && (date <= 28))			
				{
					returnval = true;
				}
				else
				{
   					alert("You entered an invalid date.  Please enter the date again in M/D/YYYY format.");
   					returnval = false;
				}
			}
		}
		else
		{
	  		if (((date >=1) && (date <= 28)) && ((year >= 1900) && (year <= 2200)))
			{
				returnval = true;
			}
			else
			{
   				alert("You entered an invalid date.  Please enter the date again in M/D/YYYY format.");
   				returnval = false;
			}
		}
	}
	else
	{
   		alert("You entered an invalid date.  Please enter the date again in M/D/YYYY format.");
   		returnval = false;
	}

   }

   return returnval;
}
