function showcalendar(page,pwidth,pheight) {
	createPopUp(page,"ActiveCalendarWindow",pwidth,pheight,"no","no");
}
function createPopUp(theURL, Name, popW, popH, scroll, resize) {
	var winleft = (screen.width - popW) / 2;
	var winUp = (screen.height - popH) / 2;
	winProp = 'width='+popW+',height='+popH+',left='+winleft+',top='+winUp+',scrollbars='+scroll+',resizable='+resize+'';
	Win = window.open(theURL, Name, winProp);
	Win.window.focus();
}
function getStartDate(year,month,day) {
	self.close();
	opener.setStartDates(day,month,year);
}
function getEndDate(year,month,day) {
	self.close();
	opener.setEndDates(day,month,year); 
}
function getEUDate(year,month,day){
	self.close();
	opener.setEUDates(day,month,year);
}
function getUSDate(year,month,day){
	self.close();
	opener.setUSDates(day,month,year);
}

function getRptDateFrom(year,month,day){
	self.close();
	opener.setRptDateFrom(day,month,year);
}
function getRptDateTo(year,month,day){
	self.close();
	opener.setRptDateTo(day,month,year);
}

function getTransferDateFrom(year,month,day){
	self.close();
	opener.setTransferDateFrom(day,month,year);
}
function getTransferDateTo(year,month,day){
	self.close();
	opener.setTransferDateTo(day,month,year);
}
function getTransferDate(year,month,day){
	self.close();
	opener.setTransferDate(day,month,year);
}
function getNewTransDate(year,month,day){
	self.close();
	opener.setNewTransDate(day,month,year);
}
function getTransDate(year,month,day){
	self.close();
	opener.setTransDate(day,month,year);
}
function getTransDateDoBulkSuccess(year,month,day){
	self.close();
	opener.setTransDateDoBulkSuccess(day,month,year);
}
function getTransDateDoBulkSepSuccess(year,month,day){
	self.close();
	opener.setTransDateDoBulkSepSuccess(day,month,year);
}
function getTransDateDoBlendSuccess(year,month,day){
	self.close();
	opener.setTransDateDoBlendSuccess(day,month,year);
}
function getDateTrans(year,month,day){
	self.close();
	opener.setDateTrans(day,month,year);
}
function getProdDate(year,month,day){
	self.close();
	opener.setProdDate(day,month,year);
}
function getProductionDate(year,month,day){
	self.close();
	opener.setProductionDate(day,month,year);
}
function getNTransDate(year,month,day){
	self.close();
	opener.setNTransDate(day,month,year);
}
function getNewTransDt(year,month,day){
	self.close();
	opener.setNewTransDt(day,month,year);
}
function getEntTransDt(year,month,day){
	self.close();
	opener.setEntTransDt(day,month,year);
}
function getChkActDate(year,month,day){
	self.close();
	opener.setChkActDate(day,month,year);
}
function getDateSelect(year,month,day){
	self.close();
	opener.setDateSelect(day,month,year);
}
function getDateOfSale(year,month,day){
	self.close();
	opener.setDateOfSale(day,month,year);
}



function setStartDates(day,month,year) {
    for (i=0; i<document.calform.StartDay.length; i++) {
        if (document.calform.StartDay.options[i].value == day){
		document.calform.StartDay.selectedIndex = i;
        }
    }
    for (i=0; i<document.calform.StartMonth.length; i++) {
        if (document.calform.StartMonth.options[i].value == month){
		document.calform.StartMonth.selectedIndex = i;
        }
    }
    for (i=0; i<document.calform.StartYear.length; i++) {
        if (document.calform.StartYear.options[i].value == year){
		document.calform.StartYear.selectedIndex = i;
        }
    }
}
function setEndDates(day,month,year) {
    for (i=0; i<document.calform.EndDay.length; i++) {
        if (document.calform.EndDay.options[i].value == day){
		document.calform.EndDay.selectedIndex = i;
        }
    }
    for (i=0; i<document.calform.EndMonth.length; i++) {
        if (document.calform.EndMonth.options[i].value == month){
		document.calform.EndMonth.selectedIndex = i;
        }
    }
    for (i=0; i<document.calform.EndYear.length; i++) {
        if (document.calform.EndYear.options[i].value == year){
		document.calform.EndYear.selectedIndex = i;
        }
    }
}
function setEUDates(day,month,year) {
	date=day+'-'+month+'-'+year;
	document.calform.eu.value = date;
}
function setUSDates(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.calform.test.value = date;
}
 
function setRptDateFrom(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.RptReportForm.RptDateFrom.value = date;
}

function setRptDateTo(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.RptReportForm.RptDateTo.value = date;
}
function setTransferDateFrom(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.CreateReportForm.TransferDateFrom.value = date;
}
function setTransferDateTo(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.CreateReportForm.TransferDateTo.value = date;
}
function setTransferDate(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.RetireForm.TransferDate.value = date;
}
function setNewTransDate(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.BulkTrans.NewTransDate.value = date;
}
function setTransDate(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.CorrectionForm.TransDate.value = date;
}
function setDateTrans(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.OptionsForm.DateTrans.value = date;
}
function setTransDateDoBulkSuccess(day,month,year) {
	month=(parseInt(month)<10)?'0'+month:month; 
	day=(parseInt(day)<10)?'0'+day:day; 
	date=year+'-'+month+'-'+day;
	document.DisplayRepeat.calTransferDate.value = month+'/'+day+'/'+year;	
}
function setTransDateDoBulkSepSuccess(day,month,year) {
	month=(parseInt(month)<10)?'0'+month:month; 
	day=(parseInt(day)<10)?'0'+day:day; 
	date=year+'-'+month+'-'+day;
	document.DisplayRepeat.calTransferDate.value = month+'/'+day+'/'+year;	
}
function setTransDateDoBlendSuccess(day,month,year) {
	month=(parseInt(month)<10)?'0'+month:month; 
	day=(parseInt(day)<10)?'0'+day:day; 
	date=year+'-'+month+'-'+day;
	document.DisplayRepeat.calTransferDate.value = month+'/'+day+'/'+year;	
}
function setProdDate(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.CorrectionForm.ProdDate.value = date;
}
function setProductionDate(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.AddRecordForm.ProductionDate.value = date;
}
function setNTransDate(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.BulkSepTrans.NTransDate.value = date;
}
function setNewTransDt(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.OutsideGrinForm.NewTransDt.value = date;
}
function setEntTransDt(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.AddGrinEntire.EntTransDt.value = date;
}
function setChkActDate(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.DupUtil.ChkActDate.value = date;
}

function setDateSelect(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.date_select.DateSelect.value = date;
}
function setDateOfSale(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.FinalizeTradeForm.DateOfSale.value = date;
}
function setUSDates(day,month,year) {
	date=month+'/'+day+'/'+year;
	document.calform.us.value = date;
}


function madeSelection(elem, helperMsg){
	if(elem.value == "Choose One"){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function isNeg(elem1,elem2, helperMsg){
	var avail= parseInt(elem1.value);
	var used= parseInt(elem2.value);
	if (used > avail){
		alert(helperMsg);
		elem2.focus(); 
		return false;
	}else{
		return true; 
	}
}

function isEmpty(elem, helperMsg){
	if(elem.value.length == 0){
		alert(helperMsg);
		elem.focus(); 
		return false;
	}
	return true;
}


function isNumeric(elem, helperMsg){
	var numericExpression = /^[0-9]+$/;
	if(elem.value.match(numericExpression)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphabet(elem, helperMsg){
	var alphaExp = /^[a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function isAlphanumeric(elem, helperMsg){
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.value.match(alphaExp)){
		return true;
	}else{
		alert(helperMsg);
		elem.focus();
		return false;
	}
}

function lengthRestriction(elem, min, max){
	var uInput = elem.value;
	if(uInput.length >= min && uInput.length <= max){
		return true;
	}else{
		alert("Please enter between " +min+ " and " +max+ " characters");
		elem.focus();
		return false;
	}
}



function isInvalid(elem1,elem2, helperMsg){
	var avail= parseInt(elem1.value);
	var used= parseInt(elem2.value);
	if (used > avail){
		alert(helperMsg);
		elem2.focus(); 
		return false;
	}else{
		return true; 
	}
}


function isNotInteger(elem, helperMsg){
	var numericExpression = /^-?[0-9]+$/;
	if(!elem.value.match(numericExpression)){
		alert(helperMsg);
		elem.focus();
		return false;
	}else{
		return true;
	}
}

function brin_checkdate(objName) {
var datefield = objName;
if (chkdate(objName) == false) {
datefield.select();
alert("*That date is invalid.  Please try again.");
datefield.focus();
return false;
}else{
  var strDate = datefield.value;
  var testdate = new Date(strDate);
  var entereddate = testdate.getTime();
  var curdate = new Date();
  var calcdate = curdate.getTime();
  calcdate = calcdate - (3600 *1000 *24 *7);
  if	(entereddate < calcdate){
    input_box=confirm("The date you have entered is more than 7 days in the past. Click OK to continue..Cancel to re-do the date");
    if (input_box == false){
  	  datefield.focus();
  	return false;
    }else{
  	  //create tag
  	  return true;
    }
  }
  return true;
 }
}






function checkdate(objName) {
var datefield = objName;
if (chkdate(objName) == false) {
datefield.select();
alert("That date is invalid.  Please try again.");
datefield.focus();
return false;
}
else {
return true;
   }
}

function chkdate(objName) {
var strDatestyle = "US"; //United States date style
//var strDatestyle = "EU";  //European date style
var strDate;
var strDateArray;
var strDay;
var strMonth;
var strYear;
var intday;
var intMonth;
var intYear;
var booFound = false;
var datefield = objName;
var strSeparatorArray = new Array("-"," ","/",".");
var intElementNr;
var err = 0;
var strMonthArray = new Array(12);
strMonthArray[0]  = "Jan";
strMonthArray[1]  = "Feb";
strMonthArray[2]  = "Mar";
strMonthArray[3]  = "Apr";
strMonthArray[4]  = "May";
strMonthArray[5]  = "Jun";
strMonthArray[6]  = "Jul";
strMonthArray[7]  = "Aug";
strMonthArray[8]  = "Sep";
strMonthArray[9]  = "Oct";
strMonthArray[10] = "Nov";
strMonthArray[11] = "Dec";
strDate = datefield.value;
if (strDate.length < 1) {
err = 12;	
return false;
}
for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
strDateArray = strDate.split(strSeparatorArray[intElementNr]);
if (strDateArray.length != 3) {
err = 1;
return false;
}
else {
strDay = strDateArray[0];
strMonth = strDateArray[1];
strYear = strDateArray[2];
}
booFound = true;
   }
}
if (booFound == false) {
if (strDate.length>5) {
strDay = strDate.substr(0, 2);
strMonth = strDate.substr(2, 2);
strYear = strDate.substr(4);
   }
else{
	err=11;
	return false;
}
}

if (strYear.length == 2) {
	strYear = '20' + strYear;
} else {
	if (strYear.length == 1){
		strYear = '200' + strYear;
	}
}

// US style
if (strDatestyle == "US") {
strTemp = strDay;
strDay = strMonth;
strMonth = strTemp;
}
intday = parseInt(strDay, 10);
if (isNaN(intday)) {
err = 2;
return false;
}
intMonth = parseInt(strMonth, 10);
if (isNaN(intMonth)) {
for (i = 0;i<12;i++) {
if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
intMonth = i+1;
strMonth = strMonthArray[i];
i = 12;
   }
}
if (isNaN(intMonth)) {
err = 3;
return false;
   }
}
intYear = parseInt(strYear, 10);
if (isNaN(intYear)) {
err = 4;
return false;
}
if (intMonth>12 || intMonth<1) {
err = 5;
return false;
}
if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
err = 6;
return false;
}
if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
err = 7;
return false;
}
if (intMonth == 2) {
if (intday < 1) {
err = 8;
return false;
}
if (LeapYear(intYear) == true) {
if (intday > 29) {
err = 9;
return false;
}
}
else {
if (intday > 28) {
err = 10;
return false;
}
}
}

if (strDatestyle == "US") {
datefield.value = intMonth + "/" + intday+"/" + strYear;
}
else {
datefield.value = intday + " " + strMonthArray[intMonth-1] + " " + strYear;
}
return true;
}

function LeapYear(intYear) {
if (intYear % 100 == 0) {
if (intYear % 400 == 0) { return true; }
}
else {
if ((intYear % 4) == 0) { return true; }
}
return false;
}

function doDateCheck(from, to) {
if (Date.parse(from.value) <= Date.parse(to.value)) {
alert("The dates are valid.");
}
else {
if (from.value == "" || to.value == "") 
alert("Both dates must be entered.");
else 
alert("To date must occur after the from date.");
   }
}








