//Javascript Doc
<!-- 
//strip bad chars function
function strip(filter,str){
  var i,curChar;
  var retStr = '';
  var len = str.length;
  for(i=0; i<len; i++){
	 curChar = str.charAt(i);
	 if(filter.indexOf(curChar)<0) 
	   //not in filter, keep it
		retStr += curChar;
  }
  return retStr;
 }
//check for fields containing only whitespace
function whitespaceOnly(str){
	return strip(" \n\r\t",str).length==0;
}

function badUser(fieldValue){
	if ((fieldValue=="") || (fieldValue.indexOf(" ") > -1) || (fieldValue.length > 10) || (fieldValue.length < 5))
		return true;
	else {
		return !numbersLetters(fieldValue);
	}	
}
function badPass(fieldValue){
	if ((fieldValue=="") || (fieldValue.indexOf(" ") > -1) || (fieldValue.length > 15) || (fieldValue.length < 5))
		return true;
	else 
		return !numbersLetters(fieldValue);
		
}
function lettersOnly(fieldValue){
	if(whitespaceOnly(fieldValue)) return false;
	var goodChars= /^[ A-Za-z]+$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;

}
function lettersOnlyWithSpaces(fieldValue){
	if(whitespaceOnly(fieldValue)) return false;
	var goodChars= /^[A-Za-z ]+$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;

}
function numbersOnly(fieldValue){
	if(whitespaceOnly(fieldValue)) return false;
	var goodChars= /^[0-9]+$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;
}

function numbersLetters(fieldValue){
	if(whitespaceOnly(fieldValue)) return false;
	var goodChars= /^[ 0-9A-Za-z]+$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;
}
function numbersLetterszip(fieldValue){
	if(whitespaceOnly(fieldValue)) return false;
	var goodChars= /^[-. 0-9A-Za-z]{2,10}$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;
}
function phoneNos(fieldValue){
			if(whitespaceOnly(fieldValue)) return false;
            var goodChars = /^[- 0-9().]{10,20}$/;
            var testVar =goodChars.test(fieldValue);
            return testVar;
}
function isCity(fieldValue){
	if (fieldValue=="")
		return false;

	var goodChars= /^[ . A-Za-z]+$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;
} 
function isEmail(fieldValue){
	if ((fieldValue=="") || (fieldValue.indexOf(" ") > -1) || (fieldValue.length < 6))
		return false;

	var goodChars= /^[\-\._0-9A-Za-z]+@([\-\._0-9A-Za-z]+)(\.\w{2,6})$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;
}
function getYear(d) { 
  return (d < 1000) ? d + 1900 : d;
}
function isDate(day,month,year) {
  // month argument must be in the range 1 - 12
  month = month - 1;  // javascript month range : 0- 11

  var tempDate = new Date(year,month,day);
  if ( (year  == getYear(tempDate.getYear())) &&
       (month == tempDate.getMonth()) &&
       (day   == tempDate.getDate()))
      return true;
  else
     return false
}
function isDateWithin(day,month,year,numOfDays) {
  if (!isDate(day,month,year))
    return true;
  // month argument must be in the range 1 - 12
  month = month - 1;  // javascript month range : 0- 11
  var tempDate = new Date(year,month,day);

  var today = new Date();
  today = new Date(today.getYear(), today.getMonth() , today.getDate());  //set hh:mm:ss to 0
  var timediff = tempDate.getTime() - today.getTime();
  var days = Math.floor(timediff / (1000 * 60 * 60 * 24)); 
  //alert("diff: " + days + " day(s)");
  
  if (days <= numOfDays)
    return true;
  else
    return false;
}
function isZip(fieldValue){
	var goodChars= /^[ -. 0-9A-Za-z]{2,10}$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;
}
function isUsaZip(fieldValue){
	var goodChars= /^\d{5}(-\d{4})?$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;
}
function isCanadaZip(fieldValue){
	var goodChars= /^[A-Za-z][0-9][A-Za-z][0-9][A-Za-z][0-9]$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;
}
function isCClub(fieldValue){
	var goodChars= /^\d{9,9}$/;
	var testVar =goodChars.test(fieldValue)
	return testVar;
}
function trim(fieldValue){
	var goodChars=fieldValue;
	var c=goodChars.substring(0,1);
	while(c==' '){
		goodChars = goodChars.substring(1);
		c=goodChars.substring(0,1);
	}
	if (goodChars==' ')
		return goodChars;
	c=goodChars.substring(goodChars.length-1,1);
	while(c==' '){
		goodChars = goodChars.substring(0, goodChars.length-2);
		c=goodChars.substring(goodChars.length-1,1);
	}
	return goodChars;
}
function isFutureDate(myDayStr,myMonthStr,myYearStr){
	var today=new Date();
	var bday = new Date( myYearStr.value, myMonthStr.selectedIndex-1,myDayStr.value);	
	return (  
	(bday.getYear()>today.getYear()) || 
	( (bday.getYear()==today.getYear()) && ( bday.getMonth()>today.getMonth() ) ) || 
	( (bday.getYear()==today.getYear()) && ( bday.getMonth()==today.getMonth() ) && ( bday.getDate()>today.getDate() ) )  
	);
}
function addressChars(fieldValue){
	if(whitespaceOnly(fieldValue)) return false;
	var goodChars = /^[\w\s\.\-# \/]+$/;
  	var testVar = goodChars.test(fieldValue);
	return testVar;//
}
function brochureOrderNos(fieldValue){
	if(whitespaceOnly(fieldValue)) return false;
    var goodChars= /^[- 0-9]{2,}$/;;
    var testVar =goodChars.test(fieldValue);
    return testVar;
}

var genders = new Array("M","F");
var male_titles = new Array("ADML", "CAPT", "DR", "GEN", "LORD", "MAJ", "PROF", "REV", "MR", "SIR", "MAS", "MSTR");
var female_titles = new Array("ADML", "CAPT", "DR", "GEN", "LADY", "MAJ", "PROF", "REV", "MISS", "MRS", "MS");

function is_title_gender_match(title, gender){
	if (genders[0] == gender)
		return testMatch(title, male_titles);
	else if (genders[1] == gender) 
		return testMatch(title, female_titles);
	else
		return false;
}

function testMatch(title, titles){
	for(var i=0; i<titles.length;i++){
		if (title == titles[i])
			return true;
	}
	return false;
}

//This function checks for issue date with date of expiry
function isValidIssueDate(date1day,date1month,date1year,date2day,date2month,date2year){
	var date1 = new Date();
	var date2 = new Date();
	date1.setDate(date1day);
	date1.setMonth(date1month);
	date1.setFullYear(date1year);
	date2.setDate(date2day);
	date2.setMonth(date2month);
	date2.setFullYear(date2year);
	if(date1 < date2)
	  return true;
	else
	  return false;  
}
//-->