//===================JavaScript function=====================================================		
function ContactUs(){
	var strURL = '/eservices/ContactUs.asp';
	var strWinName = 'ContactUs';
	var strWinOption = 'menubar=no,scrollbars=no,resizable=no,width=450,height=240,status=no,toolbar=no,directories=no;'; //,screenX=2000,screenY=1000";

	window.open(strURL, strWinName, strWinOption);
}
//===================JavaScript function=====================================================		
function isEmpty(strInput){
  if (strInput == null || strInput == '') {
		return true;
  }
  
  return false;
}
//===================JavaScript function=====================================================		
function isInteger(strInput){
  var i;
  var OneChar;
  
  for (i = 0; i < strInput.length; i++) {
    OneChar = strInput.charAt(i);
    if (OneChar < '0' || OneChar > '9') {
      return false;
    }
  }

  return true;
}
//===================JavaScript function=====================================================		
function isNumber(strInput){
  var i;
  var OneChar;
  var CharsAllowed = '0123456789.,';
  var NumDecimal = 0;

  for (i = 0; i < strInput.length; i++) {
    OneChar = strInput.charAt(i);

    if (OneChar == '.'){
			NumDecimal = NumDecimal + 1;
    }
    
    if (inString(CharsAllowed, OneChar) == false) {
      return false;
    }
  }

  if (NumDecimal > 1){
		return false;
	}

  return true;
}
//===================JavaScript function=====================================================		
function checkPhone(strInput){
  var i;
  var OneChar;
  var CharsAllowed = '0123456789-()';

  for (i = 0; i < strInput.length; i++) {
    OneChar = strInput.charAt(i);

    if (inString(CharsAllowed, OneChar) == false) {
      return false;
    }
  }

  return true;    
}
//===================JavaScript function=====================================================		
function checkPhoneFormat(strInput){
  var PhoneNo = strInput.value;
  
  PhoneNo = PhoneNo.replace('(', '');
  PhoneNo = PhoneNo.replace(')', '');
  PhoneNo = PhoneNo.replace('-', '');

  if(PhoneNo.length == 10)
  {
	return true;
  }

  return false;
}
//===================JavaScript function=====================================================		
function checkPhoneFreeText(strInput){   
  var i;
  var OneChar;
  var CharsAllowed = '0123456789-() ';

  for (i = 0; i < strInput.length; i++) {
    OneChar = strInput.charAt(i);

    if (inString(CharsAllowed, OneChar) == false) {
      return false;
    }
  }

  return true;    
}
//===================JavaScript function=====================================================		
function checkEmail(m){
  var Email = m.value;

  if (Email.indexOf('@') == -1){
    alert ('Please enter your e-mail address!');
    return false;
  }    

  if (Email.indexOf('.') == -1)
  {
    alert ('Please enter your e-mail address!');
    return false;
  }    

  return true;
}
//===================JavaScript function=====================================================		
function Trim(orgString){
  return LTrim(RTrim(orgString));
}
//===================JavaScript function=====================================================		
function LTrim(orgString){
  return orgString.replace(/^\s+/,'');
}
//===================JavaScript function=====================================================		
function RTrim(orgString){
  return orgString.replace(/\s+$/,'');
}
//===================JavaScript function=====================================================		
function inString(String1, String2){
//returns true if String2 is found in String1
  var myString = new String(String1);

  if (myString.indexOf(String2) != -1){
    return true;
	}
	
  return false;
}
//===================JavaScript function=====================================================		
function inStrCount(str1, str2){
//returns number of occurrences of str2 in str1
	var Count = 0;
	var Posit = 0;

	while (Posit != -1){
		Posit = str1.indexOf(str2, Posit);
		
		if (Posit == -1) break;
		
		Count += 1;
		Posit += str2.length;
	}

	return Count;
}
//===================JavaScript function=====================================================		
function StepSubmitPage(strNextPage, intStep, strFormName, IfLink){
  var ValidInput = true;    
  var Form = strFormName;
  var strmenu = GetMenuNavQstring();
	var steps = new String(document.forms[Form].txtValidate.value);
	var arrSteps = new String();
	var bVisited = false;

	arrSteps = steps.split(',');

	for (i = 0; i < arrSteps.length; i++) {
    if (arrSteps[i] >= intStep){
			bVisited = true;
			break;
		}
  }

  if (IfLink == undefined){
		IfLink = false;
	}

	if (IfLink != 'true'){
		ValidInput = ValidateInput();

		if (ValidInput == true){
			document.forms[Form].txtValidate.value = document.forms[Form].txtValidate.value + ',' + intStep;
		}
	}
	else{
		if (bVisited == true){
			ValidInput = ValidateInput();
		}
	}
    
	if (ValidInput == true){
		document.forms[Form].txtSteps.value = document.forms[Form].txtSteps.value + ',' + intStep;
    document.forms[Form].action = strNextPage + '&ex=' + strmenu;
		document.forms[Form].submit();
	}
	else{
		if (ValidInput != false){ 
			window.alert(ValidInput); 
		}
	}	
}
//===================JavaScript function=====================================================		
function comp2dates(StartDate, EndDate){
	// compares two dates
	// receive dates as strings - expected date format is 'mm-dd-yyyy'
	// split strings into arrays 
	 
	// return true if end date is greater than start date
	// return false if start date is before end date
	var DateStart = new String();
	var DateEnd   = new String();
	var arStart, arEnd;
	var nStart = Number();
	var nEnd = Number();
							
	DateStart = StartDate;
	DateEnd = EndDate;
	
	//window.alert (DateStart + " " +DateEnd);
	arStart = DateStart.split('-');	 // split date string by hyphen
	arEnd = DateEnd.split('-');
	
	if(arStart[0].length == 1) arStart[0] = '0' + arStart[0];
	if(arStart[1].length == 1) arStart[1] = '0' + arStart[1];
	if(arEnd[0].length == 1) arEnd[0] = '0' + arEnd[0];
	if(arEnd[1].length == 1) arEnd[1] = '0' + arEnd[1];
	
	arStart = arStart[2] + arStart[0] + arStart[1];
	arEnd = arEnd[2] + arEnd[0] + arEnd[1];
	nStart = arStart;  
	nEnd = arEnd;  
	
	if (nStart < nEnd) {
		return false;
	}
	else {
		return true;
	}
}
//===================JavaScript function=====================================================		
function compDates(StartDate, EndDate, Divider)
{
	// compares two dates
	// receive dates as strings - expected date format is 'mm*dd*yyyy' where * is Divider
	// split strings into arrays 
	 
	// return true if end date is greater than start date
	// return false if start date is before end date
	var DateStart = new String();
	var DateEnd = new String();
	var arStart
	var arEnd;
	var nStart = Number();
	var nEnd = Number();
							
	DateStart = StartDate;
	DateEnd = EndDate;
	arStart = DateStart.split(Divider);	 // split date string by hyphen
	arEnd = DateEnd.split(Divider);
	
	if (arStart[0].length == 1) arStart[0] ='0' + arStart[0];
	if (arStart[1].length == 1) arStart[1] ='0' + arStart[1];
	if (arEnd[0].length == 1) arEnd[0] = '0' + arEnd[0];
	if (arEnd[1].length == 1) arEnd[1] = '0' + arEnd[1];
	
	arStart = arStart[2] + arStart[0] + arStart[1];
	arEnd = arEnd[2] + arEnd[0] + arEnd[1];
	nStart = arStart;  
	nEnd = arEnd;  
	
	if (nStart <= nEnd){
		return true;
	}
	else{
		return false;
	}
}
//===================JavaScript function=====================================================		
function DiffDates(StartDate, EndDate, Divider)
{
	// compares two dates
	// receive dates as strings - expected date format is 'mm*dd*yyyy' where * is Divider
	// split strings into arrays 
	 
	// return the number of day's difference.  Will be either a positive or negative number depending if the
	// start date is >< the end date.
	var DateStart = new String();
	var DateEnd = new String();
	var arStart
	var arEnd;
	var nStart = Number();
	var nEnd = Number();
							
	DateStart = StartDate;
	DateEnd = EndDate;
	arStart = DateStart.split(Divider);	 // split date string by hyphen
	arEnd = DateEnd.split(Divider);
	
	if (arStart[0].length == 1) arStart[0] ='0' + arStart[0];
	if (arStart[1].length == 1) arStart[1] ='0' + arStart[1];
	if (arEnd[0].length == 1) arEnd[0] = '0' + arEnd[0];
	if (arEnd[1].length == 1) arEnd[1] = '0' + arEnd[1];
	
	var df = new Date(arStart[2], (arStart[0]-1), arStart[1], 0);
  var dt = new Date(arEnd[2], (arEnd[0]-1), arEnd[1], 12);

	return Math.floor(dt.valueOf()/(24*60*60*1000) - df.valueOf()/(24*60*60*1000) );	
}
//===================JavaScript function=====================================================		
function GetMenuNavQstring(){
// old code is replaced with change to template page AspPageContent.asp
	var result = document.getElementById('txtExpCount').value;

	return result;
}
//===================JavaScript function=====================================================		
function formatPhoneNumber(PhoneBox){
// phone box is an HTML (text box) that holds phone number
	var PhoneNo = PhoneBox.value;
	var PhoneLen = PhoneNo.length;
	var AreaCode;
	var Phone1, Phone2;
			
	PhoneNo = PhoneNo.replace('(', '');
	PhoneNo = PhoneNo.replace(')', '');
	PhoneNo = PhoneNo.replace('-', '');
	PhoneNo = correctPhoneNumber(PhoneNo);
	AreaCode = PhoneNo.substr(0, 3);

	if(AreaCode.length == 3){
		AreaCode = '(' + AreaCode + ')';
	}
	
	Phone1 = PhoneNo.substr(3, 3);
	
	if (Phone1.length == 3){
		Phone1 += '-';
	}
	
	Phone2 = PhoneNo.substr(6, 4);
	PhoneNo = AreaCode + Phone1 + Phone2;

	PhoneBox.value = PhoneNo;
}
//===================JavaScript function=====================================================		
function correctPhoneNumber(PhoneNumber){
	var Allowed = '0123456789';
	var CorrectNo;

	for(var i = 0; i < PhoneNumber.length; i++){
		if(Allowed.indexOf(PhoneNumber.substr(i, 1)) == -1){
			CorrectNo = PhoneNumber.substr(0, i);
			
			if (CorrectNo.length == 0){
				CorrectNo = '';
			}
			
			return CorrectNo;
		}
	}
			
	return PhoneNumber;
}		
//===================JavaScript function=====================================================		
function viewDocument(DocNumber, FormName, IfSecure, strUrl){
	with (document[FormName]){
		action = strUrl + '?DocNum=' + DocNumber +  '&s='+ IfSecure;
    window.open(action, '', '');
	}
}
//===================JavaScript function=====================================================		
function formatCurrency(num){
	num = num.toString().replace(/\$|\,/g, '');
	if(isNaN(num)){
		return num;
	}
	else{
		sign = (num == (num = Math.abs(num)));
		num = Math.floor(num * 100 + 0.50000000001);
		cents = num % 100;
		num = Math.floor(num / 100).toString();
		
		if(cents < 10) cents = '0' + cents;
   
		for (var i = 0; i < Math.floor((num.length - (1 + i))/3); i++){
			num = num.substring(0, num.length - (4 * i + 3)) + ',' + num.substring(num.length - (4 * i + 3));
		}
  
		return (((sign) ? '' : '-') + num + '.' + cents);
 }
}
//===================JavaScript function=====================================================		
function SubmitAppMenu(strNextPage, theForm){
	var s = new String();
	var surl = new String(strNextPage);
	var ss = new String();
	var q;

	surl = surl.replace(/^\s+/, '');
	surl = surl.replace(/\s+$/, '');

	var k = surl.indexOf('?', 0);

	if (k == -1){
		q = '?';
	}
	else{
		q = '&';
	}

	ss = document.getElementById('txtExpCount').value;
  surl = surl + q + 'ex=' + ss ;

	document.forms[theForm].action = surl ;
	document.forms[theForm].submit();
}
//===================JavaScript function=====================================================		
function UpdateWindowOpener(theForm, theControl, data){
    document.forms[theForm].elements[theControl].value = data;
}
//===================JavaScript function=====================================================		
function formatBCSCDate(DateString){
	var NewDate;
  var ErrMessage;
	var Today = new Date();
	var arDate = DateString.split('/');
	var MPart = arDate[0];
	var DPart = arDate[1];
	var YPart = arDate[2];

	Today = (Today.getMonth() + 1) + '/' + Today.getDate() + '/' + Today.getFullYear();
	
	if (DateString.length > 10 || 
		DateString.length < 5  ||
		inStrCount(DateString, '/') != 2 ||
		MPart.length > 2 ||
		MPart.length < 1 ||
		DPart.length > 2 ||
		DPart.length < 1 ||
		YPart.length > 4 ||
		YPart.length < 1 ||
		!isNumber(MPart) ||
		!isNumber(DPart) ||
		!isNumber(YPart) ){
		
		NewDate = formatBCSCDate(Today);
        ErrMessage = 'The date entered >>';
        ErrMessage += DateString;
        ErrMessage += '<< is not a valid date. It will be corrected to the current date >>';
        ErrMessage += NewDate;
        ErrMessage += '<<.';
        alert(ErrMessage);
	}
	else{
		if (MPart.length < 2) MPart = '0' + MPart;
		if (DPart.length < 2) DPart = '0' + DPart;
	
		if (YPart.length < 4){
			if (YPart.substring(2, 3) == '0'){
				YPart = '200' + YPart.substring(3, 4);
			}
			else{
				YPart = '200' + YPart.substring(2, 4);
			}
		}
	
		NewDate = MPart + '/' + DPart + '/' + YPart;
	}
				
	return NewDate;
}
//===================JavaScript function=====================================================		
function checkSpecChr(InputString){
	var Result = true;
	var NotAllowed = '<>';
	
	for (var i = 0; i < InputString.length; i++){
		if (NotAllowed.indexOf(InputString.charAt(i)) != -1){
			Result = false;
			break;
		}
	}
	// if Result is true, no special characters found			
	return Result;
}
//===================JavaScript function=====================================================		