/*
 Pops up a separate window.
*/
function pop(page,windowName,winWidth,winHeight) {
   var sizeSpec = 'toolbar=0,location=0,directories=0,left=200,top=80,status=no,menubar=0,scrollbars=1,resizable=yes,width=' + winWidth + ',height=' + winHeight;
   var SideOneWin;
SideOneWin = window.open(page,windowName,sizeSpec);
}

/* Determines if a textfield is empty or not */
function isEmpty(textfield) {
	
	var empty = false ;
	var s = textfield.value ;
	if (s!=null) {
		if (s.length==0) {
			empty = true ;
		}
		else {
			for (var i=0;i<s.length; i++) {
				if(s.charAt(i)==' ') {
					empty = true ;
				}					
				else {
					empty = false ;
					break ;
				}
			}
		}
	}
	else {
		empty = true ;
	}
	return empty ;
}



/*else if ((field.type.toString().charAt(0)=="s")&&(field.selectedIndex==0)) {
	return false ;
}
else {
	return true ;
}
*/

function removeNonNumeric(s){
   var retStr = "";
   var c = "";
   for (i = 0; i < s.length; i++){
     c = s.charAt(i) ;
     
     switch (c){
       case "0":
         retStr += c ;
         break ;
       case "1":
         retStr += c ;
         break ;
       case "2":
         retStr += c ;
         break ;
       case "3":
         retStr += c ;
         break ;
       case "4":
         retStr += c ;
         break ;
       case "5":
         retStr += c ;
         break ;
       case "6":
         retStr += c ;
         break ;
       case "7":
         retStr += c ;
         break ;
       case "8":
         retStr += c ;
         break ;
       case "9":
         retStr += c ;
         break ;
     }
   }
   return(retStr) ;
}
function checkdate(objName) {
var datefield = objName;
if (chkdate(objName) == false) {
datefield.select();
confirm("That date is invalid.  Please try again. (Entry Format - mmddyyyy)");
datefield.focus();
return false;
}
else {
return true;
   }
}
function format(field, fmt){
     switch(fmt){
          case 'phone' :
               var s = removeNonNumeric(field.value) ;
               if (s != "") {
                    s = "(" + s.substr(0, 3) + ") " + s.substr(3, 3) + "-" + s.substr(6) ;
                    field.value = s ;
               }
               break ;
          case 'upper' :
               field.value = field.value.toUpperCase() ;
               break ;
          case 'lower' :
               field.value = field.value.toLowerCase() ;
               break ;
          case 'MM/DD/YYYY' :
               checkdate(field, 'MM/DD/YYYY') ;
			   break ;
		/* not functional yet */	   
		 case 'MM/YY' :
               checkdate(field.name, 'MM/YY') ;
			   break ;
         case 'date' :
               checkdate(field.name) ;
			   break ;

		  default :
               break ;
     }
}

/* Check fields for required values.  Consolidation of multiple check methods
*/
function hasRequiredValue(field) {
    if (field==null) return false ;        
	switch(field.type) {
		case 'text':
		case 'hidden':
			if (field.value == '') return false;
			break;
		case 'select-one':
		case 'select-multiple':
			if (field.selectedIndex < 0) return false;
			if (field.selectedIndex >= field.length) return false;
			if (field.options[field.selectedIndex].value == '') return false;
			break;
		default: //		case 'radio':
			for (i=0; i<field.length; i++) if (field[i].checked) return true;
			return false;
			break;
	}
	return true;
}
//////////////////////////////////////
// get a javascript Date object.
// In	d: a date value as "mm/dd/yyyy hh:mm:ss"
// Out	a Javascript Date object on succeed; "error" on errors.
//////////////////////////////////////
function getDate( d ) {

	var strDate;
	var strDateArray;
	var strDay;
	var strMonth;
	var strYear;
	var strHour;
	var strMinute;
	var intday;
	var intMonth;
	var intYear;
	var intHour;
	var intMinute;

	err = "error";
	strSeparatorArray = /[\s\t\/,.:]/g;
	
	strDateArray = d.split(strSeparatorArray);
	if (strDateArray.length != 3 && strDateArray.length < 5) {
		return err;
	}
	else {
		strMonth = strDateArray[0];
		strDay = strDateArray[1];
		strYear = strDateArray[2];
		if ( strDateArray.length >= 5) {
			strHour = strDateArray[3];
			strMinute = strDateArray[4];
		}
	}
	intday = parseInt(strDay, 10);
	if (isNaN(intday)) {
		return err;
	}
	intmonth = parseInt(strMonth, 10);
	if (isNaN(intmonth)) {
		return err;
	}
	intyear = parseInt(strYear, 10);
	if (isNaN(intyear)) {
		return err;
	}
	strHour = parseInt(strHour, 10);
	if (isNaN(strHour)) {
		strHour = 0;
	}
	strMinute = parseInt(strMinute, 10);
	if (isNaN(strMinute)) {
		strMinute = 0;
	}
	return (new Date(intyear, intmonth, intday, strHour, strMinute, 0));
}



