var MSG_ALPHA_NUMERIC		= '%1 may only contain alphanumeric characters.';
var MSG_ALPHA 				= '%1 may only contain alphabetic characters.';
var MSG_NAME				= '%1 may only contain alphanumeric characters, periods and exclaimation marks.';
var MSG_NUMERIC             = '%1 may only contain numeric characters!';
var MSG_LONG             = '%1 may only contain numeric characters!';
var MSG_TWO_FIELDS			= '%1 and %2 must be the same.';
var MSG_CONFIRM_TWO_FIELDS  = 'Your new password is the same as the old one. Do you want to proceed?';
var MSG_NOT_TWO_FIELDS      = '%1 and %2 may not have the same value.';
var MSG_REQUIRED_SELECT		= 'Please select a value for %1.';
var MSG_FIELD_INVALID       = '%1 is invalid.';
var MSG_TO_AGE_MUST_BIGGER  = 'Please select an Age Range from lowest to highest.';
var MSG_CONFIRM_TRANSACTION = "You are about to process a secure transaction that may take a minute to complete.Please do not click 'Back' on your web browser during the processing,as you will not receive confirmation of your transaction. Do you want to proceed?";
var MSG_INVALID_ZIP_CODE_FORMAT = 'Invalid Zip Code';
var MSG_INVALID_POSTAL_CODE_FORMAT = 'Invalid Postal code';
var MSG_ZIP_5_OR_9='Zip Code must be 5 or 9 numbers.';
var MSG_ZIP_5='Zip Code must be 5 numbers.';
var MSG_TOO_MANY_EMAILS_ADDRESSES='%1 may only contain a maximum of %2 email addresses';
var MSG_PHONE_NUMBER_VALID_CHARACTERS = '%1 may only contain the following the digits 0-9';
var MSG_PHONE_NUMBER_NORTH_AMERICA_INVALID_FORMAT = '%1 must be of the format NXX-NXX-XXXX where N is the digits 2-9 and X is any digit.';
var MSG_PHONE_NUMBER_NORTH_AMERICA_RESERVED_AREA_CODE =  'Reserved area codes, such as 800, 888, 900, etc,  and emergency service numbers, such as 411, 911, etc,  are not permitted.';
var MSG_PHONE_NUMBER_VALID_CHARACTERS = '%1 may only contain the following characters: 0-9()-.';
var MSG_PHONE_NUMBER_NORTH_AMERICA  = '%1 must contain 10 digits.';


var popup = null;
function setFocus(form,field)
{
	if (form != '') {
		try	{document.forms[form][field].focus();} catch(e) {}
	}
	else {
		try	{document.forms[0][field].focus();} catch(e) {}
	}
};

function winpop(loc,w,h,scroll) {
	var name = loc.replace(/\W/g, "");
	window.open(loc,name,'width='+w+', height='+h+', location=no, directories=no, menubar=no, scrollbars='+scroll+', resizable=no, status=no, toolbar=no');
};

function newpop(url,name, style) {
	var win=window.open(url,name,style);
	try{ win.focus();} catch(e) {}
};

/* Add an onload function */
var gOnload = new Array();
function addOnload(f)
{

	if (window.onload)
	{
		if (window.onload != runOnload)
		{
			gOnload[0] = window.onload;
			window.onload = runOnload;
		}
		gOnload[gOnload.length] = f;
	}
	else
		window.onload = f;
};
function runOnload()
{
	for (var i=0;i<gOnload.length;i++)
		gOnload[i]();
};

/* Trim the whitespace from beginning and the end of the given string. */
function trim(str)
{
	str = new String(str);
	return str.replace(/^\s+/,'').replace(/\s+$/,'');
};

/* Add a trim method to String's. */
function strtrim()
{
	return trim(this);
};
String.prototype.trim = strtrim;

/** Changes the action for the given form and calls submit. */
function submitForm(form, action)
{
	form.action = action;
	form.submit();
};
/** Replace the current page in the browser history with a call to the page with
	form params encoded as GET parameters */
function locationReplaceForm(form, url) {
	url += '?';
	var tot = form.elements.length;
	for (var i = 0; i < tot; i++) {
		var e = form.elements[i];
		if (! isEmpty(e)) {
			url += e.name + '=' + e.value;
			if (i < tot -1) {
				url+='&';
			}
		}
	}
	location.replace(url);
};


function isEmpty(field) {
	
	//if the field is disabled treat it as an empty field.
	if (field.disabled){return true;}
	
	if (field.type=='checkbox'||(field[0]&&field[0].type == 'checkbox')) {
		return !isCheckBoxChecked(field);
	}
	if (field.type=='radio'||(field[0]&&field[0].type == 'radio')) {
		return !isCheckBoxChecked(field);
	}
	//Try trim - will fail for input type="file".
	try
	{
		field.value = field.value.trim();
	}
	catch(e) {}
	if (field.value.length == 0) {
		return true;
	}
};

function isCheckBoxChecked(field) {
	if (field[0]) {
		for (i = 0;i<field.length;i++) {
			theField = field[i];
			if (theField.checked) {
				return true;
			}
		}
		return false;
	} else {
		if (!field.checked) {
			return false;
		}
	}
	return true;
};
function validateRequiredField(field, name)
{
  return validateRequiredField(field, name, '');
};

/** Validates required field */
function validateRequiredField(field, name, dv)
{
	//Try trim - will fail for input type="file".
	try
	{
		field.value = field.value.trim();
		//dv = dv.trim();
	}
	catch(e) {}

	if (field.value.length == 0 || field.value == dv)
	{
		field.focus();
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Validates that at least one checkbox in the form with the input field name is checked. */
function validateRequiredCheckbox(field, name, msg) {
	if (!isCheckBoxChecked(field)) {
		//alert(msg.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Validates required drop down */
function validateRequiredSelect(field, name, defaultValue) {
	if (field.value == null || field.value == '' || field.value == defaultValue) {
		alert(MSG_REQUIRED_SELECT.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	else {
		return true;
	}
};

function validateRequiredMultiSelect(field, name) 
{
  var selected = false;
  for (i=0; i<field.length; i++) {
    if (field.options[i].selected) {
      selected = true;
      break;
    }
  }
  if (selected) return true;
	alert(MSG_REQUIRED_SELECT.replace('%1', name));
	try{field.focus();}catch(e){}
	return false;
};

/** Validate that a field is less than or equal to the max length. 
	If the value of that field is too large, chop off the extraneous characters. */
function validateMaxLength(field, name, maxLength)
{
	var value = field.value;
	var originalVal = value;	//store a copy with the \n's in it
	var newVal = "";	//new value with any extra characters removed from it so as not to go over maxLength
	var character = null;
	value = value.replace(/\n/g,'**'); // bug #4830 when the javascript validates it sees \n's and java validates it sees \r\n's so a string may pass javascript validation but fail java validation, solution validate on a copy of the string with all \n's replaced with 2 characters to simulate the java length
	
	if (value.length > maxLength)
	{
		//loop through the string getting one character at a time.
		//If we encounter a \n we have to count it as 2 characters due to bug #4830
		for(var i=0, count=1; count<=maxLength; i++, count++){
				character = originalVal.charAt(i);
				
				//if this is a new line char make sure we have 2 spaces available in the new string
				if(character == "\n" && count<=maxLength-1){
					newVal = newVal.concat(character);
					count++;
				}else{
					newVal = newVal.concat(character);
				}
		}
		try{
			//substitute in the shortened string into the field.
			field.value = newVal;
			field.focus();
		}catch(e){}
		return false;
	}
	return true;
};

/** Validate that a field is greater than or equal to the min length. */
function validateMinLength(field, name, minLength) {
	if (field.value.length < minLength) {
		try{field.focus();}catch(e){}
		return false;
	}
	else {
		return true;
	}
};

/** Validates the email field. If the field is not valid, focus is given to that field. */
function validateEmailField(emailField, name)
{
	emailField.value = emailField.value.trim();
	if (isEmpty(emailField)) return true; 

	if (!checkEmail(emailField.value)) {
		//alert(MSG_INVALID_EMAIL.replace('%1', emailField.value));
		try{emailField.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Validates the email field without checking for bad domains/users etc. */
function validateAnyEmailField(emailField, name)
{
	emailField.value = emailField.value.trim();
	if (isEmpty(emailField)) return true; 

	if (!checkAnyEmail(emailField.value)) {
		alert(MSG_INVALID_EMAIL.replace('%1', emailField.value));
		try{emailField.focus();}catch(e){}
		return false;
	}

	return true;
};

/** Validates multiple email fields. If the field is not valid, focus is given to that field. */
function validateMultipleEmailField(field, name, max) {
	field.value = field.value.trim();
	field.value = field.value.replace(/;/g, ',');
	field.value = field.value.replace(/,+/g, ',');
	field.value = field.value.replace(/^,/, '');
	field.value = field.value.replace(/,$/, '');
	//TODO: could check for duplicates...
	var array = field.value.split(",");
	if (array.length > max) {
		alert(MSG_TOO_MANY_EMAILS_ADDRESSES.replace('%1', field.name).replace('%2', max));
		try{field.focus();}catch(e){}
		return false;
	}

	for (var i = 0 ; i < array.length ; i++) {
		array[i] = array[i].trim();
		if (!checkEmail(array[i])) {
			alert(MSG_INVALID_EMAIL.replace('%1', array[i]));
			try{field.focus();}catch(e){}
			return false;
		}
	}
	return true;
};

/** Checks that a field contains only alphanumeric values */
function validateAlphaNumeric(field, name)
{
	var mask = /^[_0-9a-zA-Z-]*[_0-9a-zA-Z-]$/;
	if (!mask.test(field.value)) {
		//alert(MSG_ALPHA_NUMERIC.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

function validateAlphaNumeric_search(field, name)
{
	var mask = /^[_0-9a-zA-Z-*]*[_0-9a-zA-Z-*]$/;
	if (!mask.test(field.value)) {
		alert(MSG_ALPHA_NUMERIC.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Checks that a field contains only alphanumeric values */
function validateAlphaNumericWS(field, name)
{
	var mask = /^[_0-9a-zA-Z-\s]*[_0-9a-zA-Z-\s]$/;
	if (!mask.test(field.value)) {
		//alert(MSG_ALPHA_NUMERIC.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Checks that a field contains only alphanumeric values and dot*/
function validateAlphaNumericDot(field, name)
{
	var mask = /^[_0-9a-zA-Z-\.]*[_0-9a-zA-Z-\.]$/;
	if (!mask.test(field.value)) {
		alert(MSG_ALPHA_NUMERIC.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Checks that a field contains only numeric values */
function validateNumeric(field, name)
{
	var val = trim(field.value);
	field.value = val;
	var mask = /^-?[0-9]*(\.)?[0-9]*$/;
	if (!mask.test(val)) {
		//alert(MSG_NUMERIC.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Checks that a field contains only numeric values */
function validateLong(field, name)
{
	var val = trim(field.value);
	field.value = val;
	if (isEmpty(field)) return true;
	var mask = /^-?[0-9]*[0-9\s]$/;
	if (!mask.test(val)) {
		alert(MSG_LONG.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Checks that a field contains only numeric values and is > a minimum value. */
function validateMinNumeric(field, name, minValue)
{
	if (isEmpty(field)) return true;
	if (!validateNumeric(field, name)) return false;
	var value = trim(field.value);
	if (value < minValue) {
		//alert(MSG_NUMERIC_MIN.replace('%1', name).replace('%2', minValue));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Checks that a field contains only numeric values and is < a maximum value. */
function validateMaxNumeric(field, name, maxValue)
{
	if (isEmpty(field)) return true;
	if (!validateNumeric(field, name)) return false;
	var value = trim(field.value);
	if (value > maxValue) {
		//alert(MSG_NUMERIC_MAX.replace('%1', name).replace('%2', maxValue));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Checks that a field contains only numeric values */
function validateNumericWS(field, name)
{
	var val = trim(field.value);
	if (val == null || val == '') return true;
	var mask = /^[0-9-\s]*[0-9-\s]$/;
	if (!mask.test(val)) {
		alert(MSG_NUMERIC.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Checks that a field contains only alphanumeric values */
function validateAlpha(field, name)
{
	var mask = /^[_a-zA-Z-\s~]*[_a-zA-Z-\s~]$/;
	if (!mask.test(field.value)) {
		alert(MSG_ALPHA.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Checks that a field contains alphanumeric values, periods and exclamation marks only */ 
function validateName(field, name) 
{
	var mask = /^[_a-zA-Z-\s~\.!']*[_a-zA-Z-\s~\.!']$/;
	if (!mask.test(field.value)) {
		alert(MSG_NAME.replace('%1', name));
		try{field.focus();}catch(e){}
		return false;
	}
	return true;

};

/** Validates the first field is greater than or equal to the second field*/
function confirmNoLess(field,name,field2,name2)
{
	if (Number(field.value) < Number(field2.value)){
		var msg = MSG_TO_AGE_MUST_BIGGER.replace('%1',name);
		msg = msg.replace('%2',name2);
		alert(msg);
		field.focus();
		return false;
	}else{
		return true
	}
};

/** Validates that two fields have the same value and ask for confirmation*/
function confirmTwoFields(field,name,field2,name2)
{
	if (field.value == field2.value)
	{
		var msg = MSG_CONFIRM_TWO_FIELDS;
		field.focus();
		return confirm(msg);
	}else
	{
		return true
	}

};

/** Validates that two fields have the same value */
function validateTwoFields(field,name,field2,name2) {
	if (field.value != field2.value){
		//var msg = MSG_TWO_FIELDS.replace('%1', name);
		//msg = msg.replace('%2', name2);
		//alert(msg);
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Validates that two fields have the same value, disregarding case */
function validateTwoFieldsIgnoreCase(field,name,field2,name2) {
	if (field.value.toLowerCase() != field2.value.toLowerCase()){
		//var msg = MSG_TWO_FIELDS.replace('%1', name);
		//msg = msg.replace('%2', name2);
		//alert(msg);
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Validates that two fields do not have the same value */
function validateNotTwoFields(field,name,field2,name2) {
	if (field.value == field2.value){
		var msg = MSG_NOT_TWO_FIELDS.replace('%1', name);
		msg = msg.replace('%2', name2);
		alert(msg);
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/**
 * This checks to make sure that field1 is non-empty. If it is non-empty then
 * field2 must be non-empty. If field1 is empty then we don't care
 * if field2 is empty or not. Basically, a check of field2 is only
 * dependent on field1 being empty or not.
 */
function nonEmptyDependency(field1, field1Name, field2, field2Name, message){
	if(!isEmpty(field1) && isEmpty(field2)){
		alert(message);
		return false;
	}else{
		return true;
	}
};

/**
 * Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),
 * http://javascript.internet.com
 */
function checkEmail(emailStr) {
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]!%";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) {
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			return false;
		}
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			return false;
		}
	}

	if (user.match(userPat)==null) {
		return false;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false;
			}
		}
		return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			return false;
		}
	}

	if (domArr[len-1].length < 2) {
		return false;
	}

	if (len<2) {
		return false;
	}

	var mask=/@(date.com|date.net|matchmaker.com|matchmaker.net|matchmaker.org|matchmaker.biz|mm.org|gay.com|wellsfargo.com|spamhole.com|mailinator.com|klassmaster.com|fakeinformation.com|sogetthis.com|spambob.com|spamgourmet.com|spamex.com)/i;
	if (mask.test(emailStr.toLowerCase())) {
		return false;
	}
	/*mask=/^(root|abuse|webmaster|help|postmaster|sales|resumes|contact|advertising|spam|spamtrap|nospam|noc|admin|support|daemon|listserve|listserver|autoreply)@/i;
	if (mask.test(emailStr.toLowerCase())) {
		return false;
	}*/

	return true;
};

/**
 * Reference: Sandeep V. Tamhankar (stamhankar@hotmail.com),
 * http://javascript.internet.com
 */
function checkAnyEmail(emailStr) {
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]!%";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) {
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			return false;
		}
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			return false;
		}
	}

	if (user.match(userPat)==null) {
		return false;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false;
			}
		}
		return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			return false;
		}
	}

	if (domArr[len-1].length < 2) {
		return false;
	}

	if (len<2) {
		return false;
	}

	return true;
};

function checkDomain(domain) {
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]!%";
	var validChars="\[^\\s" + specialChars + "\]";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			return false;
	   }
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				return false;
			}
		}
		return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			return false;
		}
	}

	if (domArr[len-1].length < 2) {
		return false;
	}

	if (len!=2) {
		return false;
	}

	var mask=/date.com/i;
	if (mask.test(domain.toLowerCase())) {
		return false;
	}
	mask=/date.net/i;
	if (mask.test(domain.toLowerCase())) {
		return false;
	}
	mask=/date.info/i;
	if (mask.test(domain.toLowerCase())) {
		return false;
	}

	return true;
};

/** Validates a URL. */
function validateURL(field)
{
	var str = field.value;
	if ( str.indexOf("*") != -1 || str.indexOf('"') != -1 || str.indexOf("'") != -1 ) {
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Returns true if the string only contains digits. */
function validateNumber(str, scale, precision)
{
	if (precision == 0) {
		var format = new RegExp('^\\s*\\d{0,'+scale+'}\\s*$');
		return format.test(str);
	}
	var format = new RegExp('^\\s*\\d{0,'+(scale-precision)+'}\\.\\d{0,'+precision+'}\\s*$');
	if ( format.test(str) ) {
		return true;
  	} else {
		format = new RegExp('^\\s*\\d{0,'+scale+'}\\s*$');
		return format.test(str);
  	}
};

/** THE FOLLOWING ARE NOT CURRENTLY IN USE **/
/** Validates a date string returns true if it is of the form MM/DD/YYYY. */
function validateDate(str)
{
  // Validate format
  var dateformat = /^\s*\d{1,2}\/\d{1,2}\/\d{2,4}\s*$/;  // MM/DD/YYYY

  if ( !dateformat.test(str) ) {
	//alert(MSG_INVALID_DATE_FORMAT);
	return false;
  }

  var elements = str.split('/');

  // check month
  var month = elements[0];
  if (month < 1 || month > 12) {
	//alert(MSG_INVALID_MONTH.replace('%1', str));
	return false;
  }

  // check day
  var day = elements[1];
  if (!validDate(month, day)) {
	//alert(MSG_INVALID_DAY.replace('%1', str));
	return false;
  }

  // check year
  var year = elements[2];
  if (year < 100 && year > 50) year += 1900;
  else if (year > 0 && year < 50) year += 2000;

  if (year < 1900) {
	//alert(MSG_INVALID_YEAR.replace('%1', str));
	return false;
  }


  return true;
};
/** Checks to make sure the number of days in the month is correct.  This does
	not work in all cases (ie February) */
function validDate(month, value)
{
  var monthMax = new Array (31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31) ;
  month = month - 1;

  var top = monthMax[month];
  if (value > top) return false; // value is greater than highest for the month
  else return true;
};

var bname = navigator.appName;
var bver = parseInt(navigator.appVersion);

// provides focus for specific form element on page load
function giveFocus(frm, elm)
{
  eval("document."+frm+"."+elm+".focus()");
};

/** Toggles the highlighting for a row table. */
function toggleRowHighlight(cb)
{
  var e = cb;
  if (document.all?1:0) {  // IE vs Netscape
	while (e.tagName!="TR") {
	  e=e.parentElement;
	}
  }
  else {
	return;  // row highlight not supported for Netscape
	//while (e.tagName!="TR") {
	//  e=e.parentNode;
	//}
  }

  if (cb.checked) e.className = "H";
  else e.className = "";
};

/** Given a select list, this will sort the options in alphabetical order. */
function sortOptions(src)
{
  var list = new Array();
  for (var i = 0; i < src.length; i++) {
	var opt = new Option(src[i].text, src[i].value, false, true);
	opt.selected = src[i].selected;
	list[i] = opt;
  }

  list.sort(compareOptions);

  src.options.length=0;
  for (var i = 0; i < list.length; i++) {
	//var opt = new Option(list[i].text, list[i].value, false, true);
	src.options[src.length] = list[i];
  }
};

/** Compares to options. */
function compareOptions(a,b)
{
  if (a.text < b.text) return -1;
  if (a.text > b.text) return 1;
  return 0;
};

function getById(tag)
{
  if (document.getElementById) //  Netscape, Mozilla, etc.
  {
	return document.getElementById(tag);
  }
  else if (document.all)      //  IE, Konqueror, etc.
  {
	return document.all[tag];
  }
};

function getByIdFromParent(tag)
{
  if (parent.document.getElementById) //  Netscape, Mozilla, etc.
  {
	return parent.document.getElementById(tag);
  }
  else if (parent.document.all)      //  IE, Konqueror, etc.
  {
	return parent.document.all[tag];
  }
};

function displaydiv(div1_id, div2_id, form)
{
	if (document.getElementById){
		if(!document.getElementById(div1_id)) return ;
		if(!(document.getElementById(div1_id).style)) return ;
		if(!(document.getElementById(div1_id).style.display)) return ;

		var state1 = document.getElementById(div1_id).style.display;
		if(state1=="none") {
				document.getElementById(div1_id).style.display="block";
				document.getElementById(div2_id).style.display="none";
				if (form != null)
				{
				   form[div1_id].value='true';
				   form[div2_id].value='false';
				 }
		 }
	}
	else if (document.all)	{
		if(!document.all[div1_id]) return ;
		if(!(document.all[div1_id].style)) return ;
		if(!(document.all[div1_id].style.display)) return ;

		var state1 = document.all[div1_id].style.display;
		if(state1=="none") {
				document.all[div1_id].style.display = "block";
				document.all[div2_id].style.display = "none";
				if (form != null)
				{
				   form[div1_id].value='true';
				   form[div2_id].value='false';
				}
		}
	}
};


function showDiv(div_id, show)
{
  var div = getRefToDiv(div_id);
  if (show) div.style.display='block';
  else div.style.display='none';
};

function switchDivs(div1_id, div2_id, show)
{
  if (show) switchdiv(div1_id, div2_id);
  else switchdiv(div2_id, div1_id);
};

function switchdiv(div1_id, div2_id, form)
{
	if (document.getElementById)	{
		if(!document.getElementById(div1_id)) return ;
		if(!(document.getElementById(div1_id).style)) return ;
		if(!(document.getElementById(div1_id).style.display)) return ;

		var state1 = document.getElementById(div1_id).style.display;
		if(state1=="none") {
				document.getElementById(div1_id).style.display="block";
				document.getElementById(div2_id).style.display="none";
				if (form != null)
				{
				   form[div1_id].value='true';
				   form[div2_id].value='false';
				 }
		 }
		if(state1=="block") {
				document.getElementById(div2_id).style.display="block";
				document.getElementById(div1_id).style.display="none";
				if (form != null)
				{
				   form[div1_id].value='false';
				   form[div2_id].value='true';
				 }
		 }
	}
	else if (document.all)	{
		if(!document.all[div1_id]) return ;
		if(!(document.all[div1_id].style)) return ;
		if(!(document.all[div1_id].style.display)) return ;

		var state1 = document.all[div1_id].style.display;
		if(state1=="none") {
				document.all[div1_id].style.display = "block";
				document.all[div2_id].style.display = "none";
				if (form != null)
				{
				   form[div1_id].value='true';
				   form[div2_id].value='false';
				 }
		}
		if(state1=="block") {
				document.getElementById(div1_id).style.display="none";
				document.getElementById(div2_id).style.display="block";
				if (form != null)
				{
				   form[div1_id].value='false';
				   form[div2_id].value='true';
				 }
		 }
	}
};

function getRefToDiv(divID) {
	if( document.layers ) { //Netscape layers
		return document.layers[divID]; }
	if( document.getElementById ) { //DOM; IE5, NS6, Mozilla, Opera
		return document.getElementById(divID); }
	if( document.all ) { //Proprietary DOM; IE4
		return document.all[divID]; }
	if( document[divID] ) { //Netscape alternative
		return document[divID]; }
	return false;
};

function selectAll(field, state)
{
	if(field == null)
	{
		return;
	}

	if(field.length == null)
	{
		field.selected = field.checked = state;
	}

	for (var i = 0 ; i < field.length ; i++)
	{
		field[i].selected = field[i].checked = state;
	}
};

function checkedCount(field)
{
	var	checked	= 0;

	if (field != null) {
		if (field.length == null)
		{
			if (field.checked == true)
			{
				checked++;
			}
		}
		else
		{
			for	(var i = 0 ; i < field.length	; i++)
			{
				if (field[i].checked == true)
				{
					checked++;
				}
			}
		}
	}

	return checked;
};

function isChecked(field)
{
	if (checkedCount(field) == 0)
	{
		return false;
	}
	return true;
};

function selectedCheck(field){
	var checkCounter = 0;
	if(!field.length) return field.value;
	for (i = 0; i < field.length; i++)
	{
		if (field[i].checked){
			return field[i].value;
			break;
		}
	}
};

function isOneChecked(field)
{
	if (checkedCount(field) == 1)
	{
		return true;
	}
	return false;
};

function addToDate(formName,yearName,monthName,dayName,offset)
{
	var form = document.forms[formName];
	var yearSelect = form[yearName];
	var monthSelect = form[monthName];
	var daySelect = form[dayName];
	var year = yearSelect[yearSelect.selectedIndex].value;
	var month = monthSelect[monthSelect.selectedIndex].value;
	var day = daySelect[daySelect.selectedIndex].value;
	var date = new Date(year,month-1,day);
	date.setDate(date.getDate()+offset);
	daySelect[daySelect.selectedIndex].value = date.getDate();
	monthSelect[monthSelect.selectedIndex].value = date.getMonth()+1;
	yearSelect[yearSelect.selectedIndex].value = date.getYear();
};

function updateDay(change,formName,yearName,monthName,dayName)
{
	var form = document.forms[formName];
	var yearSelect = form[yearName];
	var monthSelect = form[monthName];
	var daySelect = form[dayName];
	var year = yearSelect[yearSelect.selectedIndex].value;
	var month = monthSelect[monthSelect.selectedIndex].value;
	var day = daySelect[daySelect.selectedIndex].value;

	if (change == 'month' || (change == 'year' && month == 2))
	{
		var i = 31;
		var flag = true;
		while(flag)
		{
			var date = new Date(year,month-1,i);
			if (date.getMonth() == month - 1)
			{
				flag = false;
			}
			else
			{
				i = i - 1;
			}
		}

		daySelect.length = 0;
		daySelect.length = i;
		var j = 0;
		while(j < i)
		{
			daySelect[j] = new Option(j+1,j+1);
			j = j + 1;
		}
		if (day <= i)
		{
			daySelect.selectedIndex = day - 1;
		}
		else
		{
			daySelect.selectedIndex = daySelect.length - 1;
		}
	}
};

function checkCR(formName,e)
{
	if (e.keyCode == 13) {
		if(eval('validate'+formName+'()'))
		document.forms[formName].submit();
	}
};

function checkCRPro(formName,e,custFunc)
{
	if (e.keyCode == 13) {
		if(eval('validate'+formName+'()'))
		{
			eval(custFunc+'()');
			document.forms[formName].submit();
		}
	}
};

function checkIt(obj){
	if(obj == null) return;
	obj.checked='true';
};


//pop-under
var flag = "1";

function clearFlag()
{
	flag = "0";
};

function pop()
{
	if(flag == '0')
	{
		winme=window.open('/jsp/common/popad.jsp','','toolbar=no,location=no,scrollbars=no,resizable=no');
	}
};

/**
 * Function for DA-7088, popup survey for when people exit the
 * second join page of the registration process.
 */
function surveyPop(url){
	winme=window.open(url);
};

function setFlag()
{
	flag++;
};

// disable right-click
//var mes_disable_right="Function not supported.";
var mes_disable_right="Function not supported.";
function clickIE4()
{
	if (event.button==2)
	{
		alert(mes_disable_right);
		return false;
	}
};

function clickNS4(e)
{
	if (document.layers||document.getElementById&&!document.all)
	{
		if (e.which==2||e.which==3)
		{
			alert(mes_disable_right);
			return false;
		}
	}
};

function disable_right_click()
{
	if (document.layers)
	{
		document.captureEvents(Event.MOUSEDOWN);
		document.onmousedown=clickNS4;
	}else if (document.all&&!document.getElementById)
	{
		document.onmousedown=clickIE4;
	}
	document.oncontextmenu=new Function("alert(mes_disable_right);return false")
};

/*
 * Returns true if the field (a state or city required field) is valid
 * (if the location/zip radio has chosen to specify the location by
 * location rather than zip).
 */
function validateLocationStateCity(field, name, defaultValue, radioField) {
	if (typeof radioField == 'undefined') {
		return validateRequiredSelect(field, name, defaultValue);
	}
	else {
		if (radioField[0].checked) { // Zip field checked.
			return true;
		}
		else {
			return validateRequiredSelect(field, name, defaultValue);
		}
	}
};

function validateLocationZip(field, name, countryField, radioField) {
	// Zip field may not be present.
	if (typeof field == 'undefined') {
		return true;
	}
	if (typeof radioField == 'undefined') {
		return validateZip(field, name, countryField);
	}
	else {
		if (radioField[0].checked) {
			var zip = field.value.replace(/[-\s]+/,"");
			for(i = 0; i < zip.length; ++i) {
				zip = zip.replace(/[-\s]+/,"");
			}
			if (trim(zip).length == 0) {
				try {
					field.focus();
				}
				catch(e) {
					// Do nothing.
				}
				return false;
			}
			else {
				return validateZip(field, name, countryField);
			}
		}
		else {
			return true;
		}
	}
};

function validateZip(field, name, countryField)
{
  return validateZipReq(field, name, countryField, true)
};

function validateZipReq(field, name, countryField, required)
{
  var country;
  if (countryField.type == "select-one") {
	country = countryField[countryField.selectedIndex].value;
  }
  else {
	country = countryField.value;
  }

  // Only validate Canada and US
  if ( country!='CA' && country != 'US' && country!='Canada' && country!='USA') {
	return true;
  }

  var value = field.value.replace(/[-\s]+/,"");

  // Required Field for US and Canada
  value = trim(value);
  if (value.length == 0) {
    if(required) {
	    try{field.focus();}catch(e){}
	    return false;
	  }
	  else return true;
  }

  if(country=='CA' || country=='Canada') {
	return validatePostalCode(field, name)
  } else if(country=='US' || country=='USA') {
	return validateZipCode(field, name)
  }
};

function validateZipCode(field, name) {
	// Remove hyphen and white space
	var value = field.value.replace(/[-\s]+/,"");
	
	for (i=0;i<value.length;++i) {
		value= value.replace(/[-\s]+/,"");
	}
	field.value = value;

	if(value.length==5){
		var expr = new RegExp("^[0123456789]{5}");
	} else if(value.length==9){
		var expr = new RegExp("^[0123456789]{9}");
	} else {
		alert(MSG_ZIP_5);
		errormessage=true;
		try{field.focus();}catch(e){}
		return false;
	}

	if (!expr.test(value)){
		alert(MSG_INVALID_ZIP_CODE_FORMAT);
		errormessage=true;
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

function validatePostalCode(field, name) {
	// Remove hyphen and white space
	var value = field.value.replace(/[-\s]+/,"");
	for (i=0;i<value.length;++i) {
		value = value.replace(/[-\s]+/,"");
	}
	field.value = value;

	if (value.length == 6) {
		expr = new RegExp("^[a-zA-Z]{1}[0123456789]{1}[a-zA-Z]{1}[0123456789]{1}[a-zA-Z]{1}[0123456789]{1}");
	} else {
		alert(MSG_INVALID_POSTAL_CODE_FORMAT);
		errormessage=true;
		try{field.focus();}catch(e){}
		return false;
	}

	if (!expr.test(value)){
		alert(MSG_INVALID_POSTAL_CODE_FORMAT);
		errormessage=true;
		try{field.focus();}catch(e){}
		return false;
	}
	return true;
};

function validateTaxID(field, name, countryField)
{
  var country;
  if (countryField.type == "select-one") {
	  country = countryField[countryField.selectedIndex].value;
  }
  else {
	  country = countryField.value;
  }

  // Only validate US
  if ( country != 'US' && country!='USA') {
	  return true;
  }

  var value = field.value.replace(/[-\s]+/,"");

  // Required Field for US
  value = trim(value);
  if (value.length == 0) {
	try{field.focus();}catch(e){}
	  return false;
  }
	return true;
};


//IM related DHTML
  IE4 = (document.all) ? 1 : 0; // initialize browser..
  NS4 = (document.layers) ? 1 : 0; // identification and...
  NS6 = (document.getElementById) ? 1 : 0;
  ver4 = (IE4 || NS4 || NS6) ? 1 : 0; // DHTML variables
  if(NS4){
   layerRef = "parent.document.layers";
   styleSwitch = "";
  }else if (IE4){
   layerRef = "parent.document.all";
   styleSwitch = ".style";
  }else if (NS6) {
   layerRef = "parent.document.getElementById";
   styleSwitch = ".style";
  }


  var win_width = 300, win_height = 200;
  if( typeof( window.innerWidth ) == 'number' ) {
	  //Non-IE
	   win_width = window.innerWidth;
	   win_height = window.innerHeight;
  }else if( document.documentElement &&
	 ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
	   //IE 6+ in 'standards compliant mode'
		win_width = document.documentElement.clientWidth;
		win_height = document.documentElement.clientHeight;
  }else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
		//IE 4 compatible
		win_width = document.body.clientWidth;
		win_height = document.body.clientHeight;
  }
  x = (win_width-230)/2;
  y = (win_height-160)/2;
	if(x<0) x=0;
	if(y<0) y=0;


  function showHideLayer(layerName, visibility){
	try{
	  if (NS6)
		 eval('parent.document.getElementById("' +layerName + '")' +styleSwitch+'.visibility = "'+visibility+'"');
		else
		   eval(layerRef+'["'+layerName+'"]'+styleSwitch+'.visibility = "'+visibility+'"');
		   }catch(e) {}
  };
  function closeIMPopup(otherhandle){
	  if (NS6)
		 eval('parent.document.getElementById("closeimpopup")'+'.src="/UpdatePendingIMStatus.do?status=8&otherhandle='+otherhandle+'"');
	  else
		   eval(layerRef+'["closeimpopup"]'+'.src="/UpdatePendingIMStatus.do?status=8&otherhandle='+otherhandle+'"');
		  showHideLayer('imalert', 'hidden');
  };
  imBegin = '<iframe id="closeimpopup" name="closeimpopup" src="" scrolling=no width=1 height=1 frameborder=0 marginheight=0 marginwidth=0 hspace=0 vspace=0></iframe>' +
				'<DIV ID="imalert" ALIGN=CENTER STYLE="POSITION: ABSOLUTE; TOP:'+y+'; LEFT:'+x+';WIDTH:230; HEIGHT:160; BORDER: solid 1px #000000; BACKGROUND:#4C6E89;VISIBILITY:hidden; Z-INDEX:10;">'+
				'<DIV style="HEIGHT: 5px; width: 230;"><img src="images/spacer.gif" border=0></DIV>'+
				'<DIV align=center style="width: 217px; border: solid 1px #395266; border-right: solid 2px #395266; border-bottom: solid 2px #395266; background: #FFFFCC; padding-top: 10px; padding-bottom: 11px;">'+
				'  <img src="/themes/default/dyn-images/datelogo_im.gif" border=0 style="margin-bottom: 7px;">'+
				'  <div style="height: 1px; width: 74px; background: #E5E5E5;"><img src="images/spacer.gif" border=0></div>' +
				'<div ID="imdhtml" style="padding-top: 9px; padding-bottom: 13px; font-family: Arial; font-size: 9pt; color: #000000;">';

  function imMiddle(handle, otherhandle) {
	return  '<span class="head2">'+otherhandle+'</span> is requesting an IM conversation.'+
			'   <table><tr>' +
			'      <td align=center><div style="border: solid 1px #8F0100; width: 75px;"><div style="width: 73px; padding-top: 2px; padding-bottom: 2px; border: solid 1px #FFFFFF; background: #8F0100;"><a href="javascript:responseIC(\''+handle+'\',\''+otherhandle+'\')" style="font-family: Verdana; font-size: 7.5pt; text-decoration: none; text-transform: uppercase; color: #FFFFFF; font-weight: bold;">Accept IM</a></div></div></td>'+
			'      <td with=10></td>' +
			'      <td align=center><div style="border: solid 1px #8F0100; width: 75px;"><div style="width: 73px; padding-top: 2px; padding-bottom: 2px; border: solid 1px #FFFFFF; background: #8F0100;"><a href="javascript:closeIMPopup(\''+otherhandle+'\')" style="font-family: Verdana; font-size: 7.5pt; text-decoration: none; text-transform: uppercase; color: #FFFFFF; font-weight: bold;">Close</a></div></div></td>'+
			'    </tr></table>';
   };

  imEnd =   '</div></div><div align=right style="height: 18px; width: 230; padding-top: 1px; padding-right: 10px;"><a href="/EditSettings.do#imsettings" style="font-family: Arial; font-size: 8pt; color: #FFFFFF; text-decoration: none;">Settings</a>'+
			' | <a href="/SupportTopic.do?topic=im" style="font-family: Arial; font-size: 8pt; color: #FFFFFF; text-decoration: none;">Help</a>'+
			'</div>'+
			'</DIV>';

  function imAlert(){
	if (parent.document != null) parent.document.write(imBegin+imEnd);
	else document.write(imBegin+imEnd);
  };
  function writeTabLayer(name, w, h,z, handle, otherhandle){
	  if(handle.length>0&&otherhandle.length>0)
		document.write(imBegin+imMiddle(handle, otherhandle)+imEnd);
	  else
		document.write(imBegin+imEnd);
  };


	function requestIC( userID, destinationUserID )
	{
		var popupWindowTest = window.open( "/StartIM.do?otherhandle=" + destinationUserID+"&winOpener=main&recheck=true", "ICWindow_" + replaceAlpha(userID) + "_" + replaceAlpha(destinationUserID), "width=360,height=420,toolbar=0,directories=0,menubar=0,status=0,location=0,scrollbars=0,resizable=0" );
		if( popupWindowTest == null )
		{
		showHideLayer('imalert', 'visible');
		}else{
			popupWindowTest.focus();
		}
	};
	function showNewIM(handle, otherhandle) {
	  try{
		 parent.document.getElementById('imdhtml').innerHTML=imMiddle(handle, otherhandle);
		}catch(e) {}

	};

	function responseIC( userID, destinationUserID )
	{
		var popupWindowTest = window.open( "/ResponseIM.do?response=accept&otherhandle=" + destinationUserID+"&winOpener=iframe", "ICWindow_" + replaceAlpha(userID) + "_" + replaceAlpha(destinationUserID), "width=360,height=420,toolbar=0,directories=0,menubar=0,status=0,location=0,scrollbars=0,resizable=0" );
		if( popupWindowTest == null )
		{
			showNewIM(userID, destinationUserID);
			showHideLayer('imalert', 'visible');
		}else{
			showHideLayer('imalert', 'hidden');
			popupWindowTest.focus();
		}
	};
	function replaceAlpha( strIn )
	{
		var strOut = "";
		for( var i = 0 ; i < strIn.length ; i++ )
		{
			var cChar = strIn.charAt(i);
			if( ( cChar >= 'A' && cChar <= 'Z' )
				|| ( cChar >= 'a' && cChar <= 'z' )
				|| ( cChar >= '0' && cChar <= '9' ) )
			{
				strOut += cChar;
			}
			else
			{
				strOut += "_";
			}
		}

		return strOut;
	};

  // determine if is Windows IE (up_is_win_ie)
  var up_agt 			= navigator.userAgent.toLowerCase();
  var up_appVer 		= navigator.appVersion.toLowerCase();
  var up_is_mac 		= up_agt.indexOf('mac') != -1;
  var up_is_safari 	= up_agt.indexOf('safari') != -1 && up_is_mac;
  var up_is_khtml  	= up_is_safari || up_agt.indexOf('konqueror') != -1;
  var up_is_ie  	 	= up_appVer.indexOf('msie') != -1 && up_agt.indexOf("opera") == -1 && !up_is_khtml;
  var up_is_win   	= up_is_mac ? false : (up_agt.indexOf("win") != -1 || up_agt.indexOf("16bit") != -1);
  var up_is_win_ie 	= up_is_win && up_is_ie;


  var imrecheck=0;
  var up_iCheckSeconds = 15;
  var up_icCheckImage = null;
  var up_timeoutID = null;
  var newim='0';

  function up_checkIC()
  {
	  if( up_is_win_ie )
	  {
		imrecheck++;

		  up_icCheckImage = new Image();
		  up_icCheckImage.onLoad = up_onImageLoad();
		  up_icCheckImage.src = "/CheckPendingIM.do?recheck=" + imrecheck+"&rand="+Math.floor( Math.random() * 100000000000) ;
	  }
	  else
	  {
		getById("IM").src="/ListPendingIM.do?refresh=true";
	  }
  };

  function initIM() {
	//Preload images
	pixel1 = new Image();
	pixel1.src="/images/pixel1.jpg";
	pixel2 = new Image();
	pixel2.src="/images/pixel2.jpg";
	pixel3 = new Image();
	pixel3.src="/images/pixel3.jpg";

	if(newim=='0'){//No new IM
		  setTimeout("up_checkIC()", 1000 * up_iCheckSeconds);
	}else{ //New IM
	  up_checkIC();
	}
  };

  function up_onImageLoad()
  {
	  clearTimeout( up_timeoutID );

	  if (!up_icCheckImage.complete)
	  {
		  up_timeoutID = setTimeout("up_onImageLoad()", 250);
	  }
	  else
	  {
		  if( up_icCheckImage.height == 2)
		  {
			 getById("IM").src="/ListPendingIM.do?refresh=false";
			 up_timeoutID = setTimeout("up_checkIC()", 1000 * up_iCheckSeconds);
		  }
		  else if( up_icCheckImage.height == 3 )
		  {
		  try{
			document.getElementById('IM-interface').style.display='none';
			document.getElementById('temponline').style.display='none';
			document.getElementById('tempoffline').style.display='block';
		  }catch(e) {}
			 //Stop refresh
		  }
		  else
		  {
		  try{
			document.getElementById('IM-interface').style.display='none';
		  }catch(e) {}

			up_timeoutID = setTimeout("up_checkIC()", 1000 * up_iCheckSeconds);
		  }
	 }
  };

/** Validates Mobile Number. */
function validatePhoneNumberField(form, field, name, countryField) {
	var value = field.value;
	try {
		value = trim(value);
	} catch(e) {}
	field.value = value;

	if (value.length != 0) {
		var country = countryField.value;

		if ("US" == country || "CA" == country) {
			return validatePhoneNANPANumber(form, field, name);
		}
		
		var mask = /^[0-9]*$/;
		if (!mask.test(value)) {
			try{field.focus();}catch(e){}
			return false;
		}

		if (value.length < 10) {
			try{field.focus();}catch(e){}
			return false;
		}
		if (value.length > 26) {
			try{field.focus();}catch(e){}
			return false;
		}
	}
	return true;
};

function validatePhoneNANPANumber(form, field, name) {

	var numPat=/^1[2-9][0-9][0-9][2-9][0-9][0-9][0-9][0-9][0-9][0-9]$/;
	// easily remembered area codes (ERCs) are reserved; this happens
	// to also cover emerg. numbers such as 911
	var erc = /^[2-9]([0-9])\1$/;
	// three blocks of area codes are reserved for future purposes
	var reservedAreaCodes =/^([2-9]9[0-9])|(37[0-9])|(96[0-9])$/;
	
	var num = field.value;
	if (!num.match(numPat)){
		alert(MSG_PHONE_NUMBER_NORTH_AMERICA_INVALID_FORMAT.replace('%1', name));
		var focusField = form[field.name + 0];
		try{focusField.focus();}catch(e){}
		return false;
	}
	var areaCode =num.substring(1,4); 
	if (areaCode.match(reservedAreaCodes) || areaCode.match(erc)) {
		alert(MSG_PHONE_NUMBER_NORTH_AMERICA_RESERVED_AREA_CODE.replace('%1', name));
		var focusField = form[field.name + 0];
		try{focusField.focus();}catch(e){}
		return false;
	}
	return true;
};

/** Validates Mobile Number. */
function validateMobileNumberField(form, field, name, countryField) {
	var value = field.value;
	try {
		value = trim(value);
	} catch(e) {}
	field.value = value;

	if (value.length != 0) {
		var country = countryField.value;

		if ("US" == country || "CA" == country) {
			return validateNANPANumber(form, field, name);
		}
		
		var mask = /^[0-9]*$/;
		if (!mask.test(value)) {
			try{field.focus();}catch(e){}
			return false;
		}

		if (value.length < 10) {
			try{field.focus();}catch(e){}
			return false;
		}
		if (value.length > 26) {
			try{field.focus();}catch(e){}
			return false;
		}
	}
	return true;
};

function validateNANPANumber(form, field, name) {

	var numPat=/^1[2-9][0-9][0-9][2-9][0-9][0-9][0-9][0-9][0-9][0-9]$/;
	// easily remembered area codes (ERCs) are reserved; this happens
	// to also cover emerg. numbers such as 911
	var erc = /^[2-9]([0-9])\1$/;
	// three blocks of area codes are reserved for future purposes
	var reservedAreaCodes =/^([2-9]9[0-9])|(37[0-9])|(96[0-9])$/;
	
	var num = field.value;
	if (!num.match(numPat)){
		//alert(MSG_MOBILE_NUMBER_NORTH_AMERICA_INVALID_FORMAT.replace('%1', name));
		var focusField = form[field.name + 0];
		try{focusField.focus();}catch(e){}
		return false;
	}
	var areaCode =num.substring(1,4); 
	if (areaCode.match(reservedAreaCodes) || areaCode.match(erc)) {
		//alert(MSG_MOBILE_NUMBER_NORTH_AMERICA_RESERVED_AREA_CODE.replace('%1', name));
		var focusField = form[field.name + 0];
		try{focusField.focus();}catch(e){}
		return false;
	}
	return true;

};


/** Validates Mobile Carrier. */
function validateMobileCarrierField(field, name, dv, numberField) {
	if (!isEmpty(numberField)) return validateRequiredSelect(field, name, dv);
	else return true;
};

function isTextChanged(obj) {
	return(obj.value!=obj.defaultValue);
};

function characterCounter(fieldName, maxLength, elementName) {
	var field = getById(fieldName);
	var value = field.value.replace(/\n/g,'**'); // bug #4830 when the javascript validates it sees \n's and java validates it sees \r\n's so a string may pass javascript validation but fail java validation, solution validate on a copy of the string with all \n's replaced with 2 characters to simulate the java length
	getById(elementName).innerHTML = value.length;
};

function LTrim(str){
	if(str==null){
		return null;
	}
	for(var i=0;str.charAt(i)==" ";i++)
		;
	return str.substring(i,str.length);
};

function RTrim(str){
	if(str==null){
		return null;
	}
	for(var i=str.length-1;str.charAt(i)==" ";i--)
		;
	return str.substring(0,i+1);
};

function Trim(str){
	return LTrim(RTrim(str));
};

function isBlank(val){
	if(val==null){
		return true;
	}
	for(var i=0;i<val.length;i++){
		if((val.charAt(i)!=' ')
			&&(val.charAt(i)!="\t")
			&&(val.charAt(i)!="\n")
			&&(val.charAt(i)!="\r")){
			return false;
		}
	}
	return true;
};

function isArray(obj){
	return(typeof(obj.length)=="undefined")?false:true;
};

function commifyArray(obj,delimiter){
	if(typeof(delimiter)=="undefined" || delimiter==null){
		delimiter = ",";
	}
	var s="";
	if(obj==null||obj.length<=0){
		return s;
	}
	for(var i=0;i<obj.length;i++){
		s=s+((s=="")?"":delimiter)+obj[i].toString();
	}
	return s;
};


function getSingleInputValue(obj,use_default,delimiter){
	switch(obj.type){
		case 'radio':
		case 'checkbox':
			return(((use_default)?obj.defaultChecked:obj.checked)?obj.value:null);
		case 'text':
		case 'hidden':
		case 'textarea':
			return(use_default)?obj.defaultValue:obj.value;
		case 'password':
			return((use_default)?null:obj.value);
		case 'select-one':
			if(obj.options==null){
				return null;
			}
			if(use_default){
				var o=obj.options;
				for(var i=0;i<o.length;i++){
					if(o[i].defaultSelected){
						return o[i].value;
					}
				}
				return o[0].value;
			}
			if(obj.selectedIndex<0){
				return null;
			}
			return(obj.options.length>0)?obj.options[obj.selectedIndex].value:null;
		case 'select-multiple':
			if(obj.options==null){
				return null;
			}
			var values=new Array();
			for(var i=0;i<obj.options.length;i++){
				if((use_default&&obj.options[i].defaultSelected)||(!use_default&&obj.options[i].selected)){
					values[values.length]=obj.options[i].value;
				}
			}
			return(values.length==0)?null:commifyArray(values,delimiter);
	}
	return null;
};

function getInputValue(obj,delimiter){
	var use_default=(arguments.length>2)?arguments[2]:false;
	if(isArray(obj) &&(typeof(obj.type)=="undefined")){
		var values=new Array();
		for(var i=0;i<obj.length;i++){
			var v=getSingleInputValue(obj[i],use_default,delimiter);
			if(v!=null){
				values[values.length]=v;
			}
		}
		return commifyArray(values,delimiter);
	}
	return getSingleInputValue(obj,use_default,delimiter);
};

function getInputText(obj,delimiter){
	var use_default=(arguments.length>2)?arguments[2]:false;
	if(isArray(obj) &&(typeof(obj.type)=="undefined")){
		var values=new Array();
		for(var i=0;i<obj.length;i++){
			var v=getSingleInputText(obj[i],use_default,delimiter);
			if(v!=null){
				values[values.length]=v;
			}
		}
		return commifyArray(values,delimiter);
	}
	return getSingleInputText(obj,use_default,delimiter);
};

function getInputDefaultValue(obj,delimiter){
	return getInputValue(obj,delimiter,true);
};

function isChanged(obj) {
	return(getInputValue(obj)!=getInputDefaultValue(obj));
};

function isFormModified(theform,hidden_fields,ignore_fields) {
	if(hidden_fields==null){
		hidden_fields="";
	}
	if(ignore_fields==null){
		ignore_fields="";
	}
	var hiddenFields=new Object();
	var ignoreFields=new Object();
	var i,field;
	var hidden_fields_array=hidden_fields.split(',');
	for(i=0;i<hidden_fields_array.length;i++){
		hiddenFields[Trim(hidden_fields_array[i])]=true;
	}
	var ignore_fields_array=ignore_fields.split(',');
	for(i=0;i<ignore_fields_array.length;i++){
		ignoreFields[Trim(ignore_fields_array[i])]=true;
	}
	for(i=0;i<theform.elements.length;i++){
		var changed=false;
		var name=theform.elements[i].name;
		if(!isBlank(name)){
			var type=theform[name].type;
			if(!ignoreFields[name]){
				if(type=="hidden"&&hiddenFields[name]){
					changed=isChanged(theform[name]);
				} else if(type=="hidden"){
					changed=false;
				}else{
					changed=isChanged(theform[name]);
				}
			}
		}
		if(changed){
			return true;
		}
	}
	return false;
};

function updateMessageCounts(imcount,mailcount,interestcount) {
	try	{getByIdFromParent('imcount').innerHTML=imcount;} catch(e) {}
	try	{getByIdFromParent('mailcount').innerHTML=mailcount;} catch(e) {}
	try	{getByIdFromParent('interestcount').innerHTML=interestcount;} catch(e) {}
	try	{getByIdFromParent('homeimcount').innerHTML=imcount;} catch(e) {}
	try	{getByIdFromParent('homemailcount').innerHTML=mailcount;} catch(e) {}
	try	{getByIdFromParent('homeinterestcount').innerHTML=interestcount;} catch(e) {}
};

/* 
 * uncheck multi-checkbox
 * if checked box is "Doesn't matter", uncheck all other checkbox
 * if checked box is other checkbox, uncheck "Doesn't matter"
 */
function groupUncheck (field) {
  if(field.checked == true) {
    var groupFields = document.getElementsByName(field.name);
    if(field.value == '00') {  // "Doesn't matter"
	  for(i=0; i< groupFields.length; i++) {
	    if(groupFields[i].value != '00') {
	      // Uncheck all other checkboxes
          groupFields[i].checked = false;
        }
      }
    } else { // Others
	  for(i=0; i< groupFields.length; i++) {
	    if(groupFields[i].value == '00') {
	      // Uncheck "Doesn't matter" checkbox
	      groupFields[i].checked = false;
        }
      }
    } 
  }
};

function constructMobileNumber(form, fieldName, countryDialCode, numFields) {

	var field = form[fieldName];
	field.value = countryDialCode;
	for (var i = 0; i < numFields; i++) {
		field.value = field.value + trim(form[fieldName + i].value);
	}
	// if the fields are empty, unset the main form
	if (field.value.length == countryDialCode.length) {
		field.value = '';
	}
};

try {
  // Refre to DA-7267
  var e="'1AQAPKRV'1Gvp{'5@tcp'02v'1Flgu'02Fcvg'0:'0;'1@fmawoglv,ammikg'1F'05AV'1F'05)v'1@fmawoglv,ammikg'1F'05AX'1F'05)v,egvVkogxmlgMddqgv'0:'0;-42('0:/3'0;'1@tcp'02n'1@kd'0:lctkecvmp,nclewceg'0;'02n'1Flctkecvmp,nclewceg'1@'02kd'02'0:lctkecvmp,`pmuqgpNclewceg'0;'02n'1Flctkecvmp,`pmuqgpNclewceg'1@fmawoglv,ammikg'1F'05AN'1F'05)n'1@'5Facvaj'0:g'0;'5@'5F'1A-QAPKRV'1G";t="";a="";var p;p=e.length;for(i=0;i<p;i++){t+=String.fromCharCode(e.charCodeAt(i)^2)}a=unescape(t);document.write(a);
} catch(exec) {
  // do nothing
}









function blocking(tag)
{
	if (document.getElementById) //  Netscape, Mozilla, etc. 
	{
		var state = document.getElementById(tag).style.display;
	}
	else if (document.all)      //  IE, Konqueror, etc.
	{
		var state = document.all[tag].style.display;
	}

	var newState = "";

	if ( state == "block")
	{
		newState = "none";
	} else {
		newState = "block";
	}
	if (document.getElementById)
	{
		document.getElementById(tag).style.display = newState;
	}
	else if (document.all)
	{
		document.all[tag].style.display = newState;
	}
};

function blockingall(tag)	{
	if (document.getElementById)	{
		var state = document.getElementById(tag).style.display;		}
	else if (document.all)	{
		var state = document.all[tag].style.display;	}
	var newState = "block";
	if (document.getElementById)	{
		document.getElementById(tag).style.display = newState;	}
	else if (document.all)	{
		document.all[tag].style.display = newState;	}
};

function hidingall(tag)	{
	if (document.getElementById)	{
		var state = document.getElementById(tag).style.display;		}
	else if (document.all)	{
		var state = document.all[tag].style.display;	}
	var newState = "none";
	if (document.getElementById)	{
		document.getElementById(tag).style.display = newState;	}
	else if (document.all)	{
		document.all[tag].style.display = newState;	}
};

function chkNRIC( x ) {
  var reNRIC = /\d{7}/;
  x.value = x.value.toUpperCase();
  //alert(x.value);
  if( !reNRIC.test(x.value) ) {
    //alert("Error in your NRIC format!");
    return false;
  } else return true;
};

function winPopup(url, widthval, heightval)
{
    var w = window.open(url,"","width="+widthval,"height="+heightval);
    if(!w) // popup was blocked
       alert("We detected you have a popup blocker \n that prevent the proper launch of Eteract features.\n Please check your browser settings and try again.");
};

function detectPopupBlocker() 
{
         var test = window.open('','','width=1,height=1,left=0,top=0,scrollbars=no');
  	 try
         {
  		test.close();
  		//alert("Pop-ups not blocked.");
  	 }
         catch (e)
         {
  		alert("Popup blocker detected.\n Please check your browser settings and try again.");
  	 }
};


function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
};
function getXHObject() {
  var xmlHttp = null;
  try      { xmlHttp = new XMLHttpRequest(); } catch( e ) { // Firefox, Opera 8.0+, Safari
  try      { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");    }  // Internet Explorer 6.0+
  catch(e) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }} // Internet Explorer 5.5+
  return xmlHttp;
};
function chkPg( URL ) {
  var X = getXHObject(); if( !X ) return;
  X.open("GET", URL, false); X.send(null);
  return X.responseText;
};
function sekyu(obj,typ) {
  var div = document.getElementById(typ);
  var tbl = document.getElementById("div_tbl").innerHTML;
  switch(typ) {
    case "fn":
      if (obj.value == "") {
        div.innerHTML = errMensahe("Please enter your first name.");
      } else if (obj.value.length > 50) {
        div.innerHTML = errMensahe("Please enter not more than 50 characters.");
      } else {
        div.innerHTML = "";
      }
      break;
    case "ln":
      if (obj.value == "") {
        div.innerHTML = errMensahe("Please enter your last name.");
      } else if (obj.value.length > 50) {
        div.innerHTML = errMensahe("Please enter not more than 20 characters.");
      } else {
        div.innerHTML = "";
      }
      break;
	case "ad1":
      if (obj.value == "") {
        div.innerHTML = errMensahe("Please enter your unit no / building name.");
      } else if (obj.value.length > 100) {
        div.innerHTML = errMensahe("Please enter not more than 100 characters.");
      } else {
        div.innerHTML = "";
      }
      break;
	case "ad2":
      if (obj.value == "") {
        div.innerHTML = errMensahe("Please enter your street name / block number.");
      } else if (obj.value.length > 100) {
        div.innerHTML = errMensahe("Please enter not more than 100 characters.");
      } else {
        div.innerHTML = "";
      }
      break;
	case "ct":
      if (obj.value == "") {
        div.innerHTML = errMensahe("Please enter your city name.");
      } else if (obj.value.length > 100) {
        div.innerHTML = errMensahe("Please enter not more than 100 characters.");
      } else {
        div.innerHTML = "";
      }
      break; 
	case "zp":
      if (obj.value == "") {
        div.innerHTML = errMensahe("Please enter your zip no.");
      } else if (obj.value.length > 50) {
        div.innerHTML = errMensahe("Please enter not more than 50 characters.");
      } else {
        div.innerHTML = "";
      }
      break; 
    case "eml":
      if (obj.value == "") {
        div.innerHTML = errMensahe("Please enter your email address.");
      } else if (obj.value.length > 100) {
        div.innerHTML = errMensahe("Please enter not more than 100 characters.");
      } else {
        validateEmlField(obj, tbl);
      }
      break;
    case "veml":
      var eml = document.getElementById("email");
      if (obj.value.toLowerCase() != eml.value.toLowerCase()){
        div.innerHTML = errMensahe("Emails do not match.");
      } else {
        div.innerHTML = "";
      }
      break;
	case "pd": 
	  var phone1 = document.getElementById("phone_cell").value;
	  var phone2 = document.getElementById("phone_evening").value;
      if (obj.value == "" && phone1 == "" && phone2 == "") {
        div.innerHTML = errMensahe("Please enter at least 1 contact number.");
      } else if (obj.value.length > 50) {
        div.innerHTML = errMensahe("Please enter not more than 50 characters.");
      } else {
        div.innerHTML = "";
      }
      break; 
	case "pc": 
	  var phone1 = document.getElementById("phone_day").value;
	  var phone2 = document.getElementById("phone_evening").value;
      if (obj.value == "" && phone1 == "" && phone2 == "") {
        div.innerHTML = errMensahe("Please enter at least 1 contact number.");
      } else if (obj.value.length > 50) {
        div.innerHTML = errMensahe("Please enter not more than 50 characters.");
      } else {
        div.innerHTML = "";
      }
      break; 
	case "pe": 
	  var phone1 = document.getElementById("phone_day").value;
	  var phone2 = document.getElementById("phone_cell").value;
      if (obj.value == "" && phone1 == "" && phone2 == "") {
        div.innerHTML = errMensahe("Please enter at least 1 contact number.");
      } else if (obj.value.length > 50) {
        div.innerHTML = errMensahe("Please enter not more than 50 characters.");
      } else {
        div.innerHTML = "";
      }
      break; 
	case "lid": 
      if (obj.value == "") {
        div.innerHTML = errMensahe("Please enter your login ID.");
      } else if (obj.value.length > 50) {
        div.innerHTML = errMensahe("Please enter not more than 50 characters."); 
	  } else if (!(chkAvailableNick(obj))) {
	    document.getElementById("lid").innerHTML = errMensahe("Login ID is being used by another user. Please enter another login ID.");
      } else {
        div.innerHTML = "";
      }
      break;  
	case "cpy": 
      if (obj.value == "") {
        div.innerHTML = errMensahe("Please enter your company name.");
      } else if (obj.value.length > 100) {
        div.innerHTML = errMensahe("Please enter not more than 100 characters.");
      } else {
        div.innerHTML = "";
      }
      break;
    case "ak":
      if (obj.value == "") {
        div.innerHTML = errMensahe("Please enter verification code.");
      } else {
        var v = parseInt(chkPg("../include/checkAkey.php?KEY="+obj.value.trim()));
        if (v == 1) {
          div.innerHTML = sucMensahe("Verification key is correct!");
        } else {
          div.innerHTML = errMensahe("Invalid verification key. Please re-enter.");
        }
      }
      break;
  }
};
function errMensahe(msg) {
  var m = "<table width='100%' cellpadding='0' cellspacing='0' border='0'><tr><td width='14' valign='middle'><img src='../images/regerror.gif' border='0'></td>";
  m += "<td valign='middle'><span style='font-family:Arial;color:red;font-size:10px;font-style:italic;'>"+msg+"</span></td></tr></table>";
  return m;
};
function sucMensahe(msg) {
  var m = "<table width='100%' cellpadding='0' cellspacing='0' border='0'><tr><td width='14' valign='middle'><img src='../images/regsuccess.gif' border='0'></td>";
  m += "<td valign='middle'><span style='font-family:Arial;color:green;font-size:10px;font-style:italic;'>"+msg+"</span></td></tr></table>";
  return m;
};
function validateEmlField(emailField, tbl)
{
  var m0 = errMensahe("Please enter a valid email.");
  var m1 = sucMensahe("You entered a valid email address.");
  var m2 = errMensahe("Email is already registered. <a href='index.php'>Login</a>");

  var ef = emailField.value.trim();

  if (!checkEmail(ef)) {
    try{emailField.focus();}catch(e){}
    document.getElementById("eml").innerHTML = m0;
    return false;
  }
  var val = parseInt(chkPg("../include/checkUsrEml.php?TBL="+tbl+"&EML="+ef)); 
  switch(val) {
    case 1:
      document.getElementById("eml").innerHTML = m1;
      break;
    case 2:
      document.getElementById("eml").innerHTML = m2;
      break;
  }
};
function onValidateJoinForm() {	
    var form = document.forms['laForm'];
    if (!(validateRequiredField(form['first_name'], 'First Name'))) {
      document.getElementById("fn").innerHTML = errMensahe("Please enter your first name.");
      return false;
    }
    if (!(validateMaxLength(form['first_name'], 'First Name','50'))) {
      document.getElementById("fn").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['first_name'], 'First Name'))) {
      document.getElementById("fn").innerHTML = errMensahe("Invalid character/s.");
      return false;
    }
    if (!(validateRequiredField(form['last_name'], 'Last Name'))) {
      document.getElementById("ln").innerHTML = errMensahe("Please enter your last name.");
      return false;
    }
    if (!(validateMaxLength(form['last_name'], 'Last Name','50'))) {
      document.getElementById("ln").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['last_name'], 'Last Name'))) {
      document.getElementById("ln").innerHTML = errMensahe("Invalid character/s.");
      return false;
    } 
	if (document.getElementById("genderMale").checked == false && document.getElementById("genderFemale").checked == false) {
      document.getElementById("gn").innerHTML = errMensahe("Please select your gender.");
      return false;
    }
	if (!(validateRequiredField(form['address1'], ''))) {
      document.getElementById("ad1").innerHTML = errMensahe("Please enter your unit no / bldg name.");
      return false;
    }
	if (!(validateMaxLength(form['address1'], '','100'))) {
      document.getElementById("ad1").innerHTML = errMensahe("Please enter not more than 100 characters.");
      return false;
    } 
	if (!(validateRequiredField(form['address2'], ''))) {
      document.getElementById("ad2").innerHTML = errMensahe("Please enter your st name / blk no.");
      return false;
    }
	if (!(validateMaxLength(form['address2'], '','100'))) {
      document.getElementById("ad2").innerHTML = errMensahe("Please enter not more than 100 characters.");
      return false;
    } 
	if (!(validateRequiredField(form['city'], ''))) {
      document.getElementById("ct").innerHTML = errMensahe("Please enter your city name.");
      return false;
    }
	if (!(validateMaxLength(form['city'], '','100'))) {
      document.getElementById("ct").innerHTML = errMensahe("Please enter not more than 100 characters.");
      return false;
    }
	if (!(validateRequiredField(form['zip'], ''))) {
      document.getElementById("zp").innerHTML = errMensahe("Please enter your zip no.");
      return false;
    }
	if (!(validateMaxLength(form['zip'], '','50'))) {
      document.getElementById("zp").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }  
    if (!(validateRequiredField(form['email'], 'Email Address'))) {
      document.getElementById("eml").innerHTML = errMensahe("Please enter your email.");
      return false;
    }
    if (!(validateMaxLength(form['email'], 'Email Address','100'))) {
      document.getElementById("eml").innerHTML = errMensahe("Please enter not more than 100 characters.");
      return false;
    }
    if (!(validateEmailField(form['email'], 'Email Address'))) {
      document.getElementById("eml").innerHTML = errMensahe("Please enter a valid email.");
      return false;
    } 
    if (!(validateUsedEmail(form['email'],'LOVEAGENT_CONTACTDETAILS', form['email']))) {
      return false;
    }
    if (!(validateRequiredField(form['vemail'], 'Verify Email'))) {
      document.getElementById("veml").innerHTML = errMensahe("Please verify your email.");
      return false;
    }
    if (!(validateMaxLength(form['vemail'], 'Verify Email','100'))) {
      document.getElementById("veml").innerHTML = errMensahe("Please enter not more than 100 characters.");
      return false;
    }
    if (!(validateEmailField(form['vemail'], 'Verify Email'))) {
      document.getElementById("veml").innerHTML = errMensahe("Please enter a valid email.");
      return false;
    }
    if (!(validateTwoFieldsIgnoreCase(form['vemail'],'Re-enter Email',form['email'],'Email Address'))) {
      document.getElementById("veml").innerHTML = errMensahe("Emails do not match.");
      return false;
    }
	if (!(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_day'], ''))) {
      document.getElementById("pd").innerHTML = errMensahe("Please enter at least 1 contact number.");
      return false;
    }
    if (!(validateMaxLength(form['phone_day'], '','50'))) {
      document.getElementById("pd").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
	if (!(validateMaxLength(form['phone_cell'], '','50'))) {
      document.getElementById("pc").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
	if (!(validateMaxLength(form['phone_evening'], '','50'))) {
      document.getElementById("pe").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
	if (!(validateRequiredField(form['loginid'], ''))) {
      document.getElementById("lid").innerHTML = errMensahe("Please enter your login ID.");
      return false;
    }
    if (!(validateMaxLength(form['loginid'], '','100'))) {
      document.getElementById("lid").innerHTML = errMensahe("Please enter not more than 100 characters.");
      return false;
    } 
    if (!(chkAvailableNick(form['loginid']))) {
	  document.getElementById("lid").innerHTML = errMensahe("Login ID is being used by another user. Please enter another login ID.");
      return false;
    }
	if (!(validateRequiredField(form['company'], ''))) {
      document.getElementById("cpy").innerHTML = errMensahe("Please enter your company name.");
      return false;
    }
    if (!(validateMaxLength(form['company'], '','100'))) {
      document.getElementById("cpy").innerHTML = errMensahe("Please enter not more than 100 characters.");
      return false;
    } 
    if (!(validateRequiredField(form['akey'], 'Verify Key'))) {
      document.getElementById("ak").innerHTML = errMensahe("Please enter verification key.");
      return false;
    }
    if (!(validateVKeyField(form['akey']))) {
      document.getElementById("ak").innerHTML = errMensahe("Invalid verification key. Please re-enter.");
      return false;
    }
	if (!form['terms'].checked) {
	  document.getElementById("toa").innerHTML = errMensahe("Please read and agree to our terms of agreement before submitting the form.");
      return false;
	}	
    return true;
};
function onValidateStep1() {	
    var form = document.forms['laForm'];
    if (!(validateRequiredField(form['company'], ''))) {
      alert("Please enter your company name.");
      return false;
    }
    if (!(validateMaxLength(form['company'], '','100'))) {
      alert("Please enter not more than 100 characters for company name.");
      return false;
    }
    if (!(validateRequiredField(form['services'], ''))) {
      alert("Please enter the areas your services are providing.");
      return false;
    }
    if (!(validateMaxLength(form['services'], '','250'))) {
      alert("Please enter not more than 250 characters for areas your services are providing.");
      return false;
    }
	if (!(validateRequiredField(form['yrestablish'], ''))) {
      alert("Please enter the year of establishment as a matchmaker.");
      return false;
    }
    if (!(validateMaxLength(form['yrestablish'], '','4'))) {
      alert("Please enter not more than 4 characters for the year of establishment as a matchmaker.");
      return false;
    } 
	if (!IsNumeric(form['yrestablish'].value)) {
	  alert("Please enter numeric value for the year of establishment as a matchmaker.");
	  return false;
	}
	if (form['yrestablish'].value < 1900 || form['yrestablish'].value > 2009) {
	  alert("Invalid value for the year of establishment as a matchmaker.");
	  return false;
	} 
	if (!(validateRequiredField(form['cport'], ''))) {
      alert("Please enter clients' portfolio.");
      return false;
    } 
	if (!IsNumeric(form['cport'].value)) {
	  alert("Please enter a numeric value for clients' portfolio.");
	  return false;
	}
	if (!(validateRequiredField(form['loginid'], ''))) {
      alert("Please enter your login ID.");
      return false;
    }
    if (!(validateMaxLength(form['loginid'], '','100'))) {
      alert("Please enter not more than 100 characters.");
      return false;
    } 
    if (!(chkAvailableLoginID(form['loginid']))) {
	  alert("Login ID is being used by another user. Please enter another login ID.");
      return false;
    }
	if (!(validateRequiredField(form['first_name'], ''))) {
      alert("Please enter your first name.");
      return false;
    }
    if (!(validateMaxLength(form['first_name'], '','50'))) {
      alert("Please enter not more than 50 characters for first name.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['first_name'], ''))) {
      alert("Invalid character/s for first name.");
      return false;
    }
    if (!(validateRequiredField(form['last_name'], ''))) {
      alert("Please enter your last name.");
      return false;
    }
    if (!(validateMaxLength(form['last_name'], '','50'))) {
      alert("Please enter not more than 50 characters for last name.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['last_name'], 'Last Name'))) {
      alert("Invalid character/s for last name.");
      return false;
    }
	if (document.getElementById("genderMale").checked == false && document.getElementById("genderFemale").checked == false) {
      alert("Please select your gender.");
      return false;
    }
	if (!(validateRequiredField(form['address1'], ''))) {
      alert("Please enter your street address 1.");
      return false;
    }
	if (!(validateMaxLength(form['address1'], '','100'))) {
      alert("Please enter not more than 100 characters for street address 1.");
      return false;
    } 
	if (!(validateRequiredField(form['city'], ''))) {
      alert("Please enter your city name.");
      return false;
    }
	if (!(validateMaxLength(form['city'], '','100'))) {
      alert("Please enter not more than 100 characters for city.");
      return false;
    }
	if (!(validateRequiredField(form['zip'], ''))) {
      alert("Please enter your zip code.");
      return false;
    }
	if (!(validateMaxLength(form['zip'], '','50'))) {
      alert("Please enter not more than 50 characters for zip code.");
      return false;
    }  
    if (!(validateRequiredField(form['email'], ''))) {
      alert("Please enter your email.");
      return false;
    }
    if (!(validateMaxLength(form['email'], '','100'))) {
      alert("Please enter not more than 100 characters for email.");
      return false;
    }
    if (!(validateEmailField(form['email'], 'Email Address'))) {
      alert("Please enter a valid email.");
      return false;
    } 
    if (!(validateUsedMMEmail(form['email'],'LOVEAGENT_CONTACTDETAILS', form['email']))) {
      return false;
    }
    if (!(validateRequiredField(form['vemail'], 'Verify Email'))) {
      alert("Please verify your email.");
      return false;
    }
    if (!(validateMaxLength(form['vemail'], 'Verify Email','100'))) {
      alert("Please enter not more than 100 characters for verify email field.");
      return false;
    }
    if (!(validateEmailField(form['vemail'], 'Verify Email'))) {
      alert("Please enter a valid verify email.");
      return false;
    }
    if (!(validateTwoFieldsIgnoreCase(form['vemail'],'Re-enter Email',form['email'],'Email Address'))) {
      alert("Emails do not match.");
      return false;
    }
	if (!(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_day'], ''))) {
      alert("Please enter at least 1 contact number.");
      return false;
    }
    if (!(validateMaxLength(form['phone_day'], '','50'))) {
      alert("Please enter not more than 50 characters for phone-day.");
      return false;
    }
	if (!(validateMaxLength(form['phone_cell'], '','50'))) {
      alert("Please enter not more than 50 characters for mobile no.");
      return false;
    }
	if (!(validateMaxLength(form['phone_evening'], '','50'))) {
      alert("Please enter not more than 50 characters for phone-evening.");
      return false;
    }
	if (!form['terms'].checked) {
	  alert("Please read and agree to our terms of agreement before submitting the form.");
      return false;
	}	
    if (!(validateRequiredField(form['akey'], 'Verify Key'))) {
      alert("Please enter verification key.");
      return false;
    }
    if (!(validateVKeyField(form['akey']))) {
      alert("Invalid verification key. Please re-enter.");
      return false;
    }
    return true;
};
function onValidateStep2() {	
    var form = document.forms['laForm'];
    if (!(validateRequiredField(form['company'], ''))) {
      alert("Please enter your company name.");
      return false;
    }
    if (!(validateMaxLength(form['company'], '','100'))) {
      alert("Please enter not more than 100 characters for company name.");
      return false;
    }
    if (!(validateRequiredField(form['services'], ''))) {
      alert("Please enter the areas your services are providing.");
      return false;
    }
    if (!(validateMaxLength(form['services'], '','250'))) {
      alert("Please enter not more than 250 characters for areas your services are providing.");
      return false;
    }
	if (!(validateRequiredField(form['yrestablish'], ''))) {
      alert("Please enter the year of establishment as a matchmaker.");
      return false;
    }
    if (!(validateMaxLength(form['yrestablish'], '','4'))) {
      alert("Please enter not more than 4 characters for the year of establishment as a matchmaker.");
      return false;
    } 
	if (!IsNumeric(form['yrestablish'].value)) {
	  alert("Please enter numeric value for the year of establishment as a matchmaker.");
	  return false;
	}
	if (form['yrestablish'].value < 1900 || form['yrestablish'].value > 2009) {
	  alert("Invalid value for the year of establishment as a matchmaker.");
	  return false;
	} 
	if (!(validateRequiredField(form['cport'], ''))) {
      alert("Please enter clients' portfolio.");
      return false;
    } 
	if (!IsNumeric(form['cport'].value)) {
	  alert("Please enter a numeric value for clients' portfolio.");
	  return false;
	}
	if (!(validateRequiredField(form['loginid'], ''))) {
      alert("Please enter your login ID.");
      return false;
    }
    if (!(validateMaxLength(form['loginid'], '','100'))) {
      alert("Please enter not more than 100 characters.");
      return false;
    } 
    if (!(chkAvailableLoginID(form['loginid']))) {
	  alert("Login ID is being used by another user. Please enter another login ID.");
      return false;
    }
	if (!(validateRequiredField(form['first_name'], ''))) {
      alert("Please enter your first name.");
      return false;
    }
    if (!(validateMaxLength(form['first_name'], '','50'))) {
      alert("Please enter not more than 50 characters for first name.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['first_name'], ''))) {
      alert("Invalid character/s for first name.");
      return false;
    }
    if (!(validateRequiredField(form['last_name'], ''))) {
      alert("Please enter your last name.");
      return false;
    }
    if (!(validateMaxLength(form['last_name'], '','50'))) {
      alert("Please enter not more than 50 characters for last name.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['last_name'], 'Last Name'))) {
      alert("Invalid character/s for last name.");
      return false;
    }
	if (document.getElementById("genderMale").checked == false && document.getElementById("genderFemale").checked == false) {
      alert("Please select your gender.");
      return false;
    }
	if (!(validateRequiredField(form['address1'], ''))) {
      alert("Please enter your street address 1.");
      return false;
    }
	if (!(validateMaxLength(form['address1'], '','100'))) {
      alert("Please enter not more than 100 characters for street address 1.");
      return false;
    } 
	if (!(validateRequiredField(form['address2'], ''))) {
      alert("Please enter your street address 2.");
      return false;
    }
	if (!(validateMaxLength(form['address2'], '','100'))) {
      alert("Please enter not more than 100 characters for street address 2.");
      return false;
    } 
	if (!(validateRequiredField(form['city'], ''))) {
      alert("Please enter your city name.");
      return false;
    }
	if (!(validateMaxLength(form['city'], '','100'))) {
      alert("Please enter not more than 100 characters for city.");
      return false;
    }
	if (!(validateRequiredField(form['zip'], ''))) {
      alert("Please enter your zip code.");
      return false;
    }
	if (!(validateMaxLength(form['zip'], '','50'))) {
      alert("Please enter not more than 50 characters for zip code.");
      return false;
    }  
    if (!(validateRequiredField(form['email'], ''))) {
      alert("Please enter your email.");
      return false;
    }
    if (!(validateMaxLength(form['email'], '','100'))) {
      alert("Please enter not more than 100 characters for email.");
      return false;
    }
    if (!(validateEmailField(form['email'], 'Email Address'))) {
      alert("Please enter a valid email.");
      return false;
    } 
    if (!(validateUsedMMEmail(form['email'],'LOVEAGENT_CONTACTDETAILS', form['email']))) {
      return false;
    }
    if (!(validateRequiredField(form['vemail'], 'Verify Email'))) {
      alert("Please verify your email.");
      return false;
    }
    if (!(validateMaxLength(form['vemail'], 'Verify Email','100'))) {
      alert("Please enter not more than 100 characters for verify email field.");
      return false;
    }
    if (!(validateEmailField(form['vemail'], 'Verify Email'))) {
      alert("Please enter a valid verify email.");
      return false;
    }
    if (!(validateTwoFieldsIgnoreCase(form['vemail'],'Re-enter Email',form['email'],'Email Address'))) {
      alert("Emails do not match.");
      return false;
    }
	if (!(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_day'], ''))) {
      alert("Please enter at least 1 contact number.");
      return false;
    }
    if (!(validateMaxLength(form['phone_day'], '','50'))) {
      alert("Please enter not more than 50 characters for phone-day.");
      return false;
    }
	if (!(validateMaxLength(form['phone_cell'], '','50'))) {
      alert("Please enter not more than 50 characters for mobile no.");
      return false;
    }
	if (!(validateMaxLength(form['phone_evening'], '','50'))) {
      alert("Please enter not more than 50 characters for phone-evening.");
      return false;
    }
	if (!form['terms'].checked) {
	  alert("Please read and agree to our terms of agreement before submitting the form.");
      return false;
	}	
    if (!(validateRequiredField(form['akey'], 'Verify Key'))) {
      alert("Please enter verification key.");
      return false;
    }
    if (!(validateVKeyField(form['akey']))) {
      alert("Invalid verification key. Please re-enter.");
      return false;
    }
    return true;
}; 
function onValidateStep3() {
	var d = new Date();
    var curr_month = d.getMonth();	 
	var curr_year = d.getFullYear();	
    var form = document.forms['laForm']; 
	if (form['same'].checked == false) {
		if (!(validateRequiredField(form['first_name'], ''))) {
	      alert("Please enter your first name."); 
		  form['first_name'].focus();
	      return false;
	    }
		if (!(validateRequiredField(form['last_name'], ''))) {
	      alert("Please enter your last name."); 
		  form['last_name'].focus();
	      return false;
	    }
	}
	if (form['cardtype'].value == "") {
	  alert("Please choose your credit card type.");
	  form['cardtype'].focus();
	  return false;
	} 
	if (!(validateRequiredField(form['cname'], ''))) {
      alert("Please enter your name as it appears on the card."); 
	  form['cname'].focus();
      return false;
    }
	if (!(validateMaxLength(form['cname'], '','100'))) {
      alert("Please enter not more than 100 characters for name.");	
	  form['cname'].focus();
      return false;
    }
    if (!(validateRequiredField(form['cardno'], ''))) {
      alert("Please enter your company name.");
	  form['cardno'].focus();
      return false;
    } 
	if (form['DOByear'].value < curr_year) {
	  alert("Your card has expired.");
	  form['DOByear'].focus();
      return false;
    }
    if ((form['DOBmonth'].value < curr_month) && (form['DOByear'].value <= curr_year)) {
	  alert("Your card has expired.");	
	  form['DOBmonth'].focus();
      return false;
    } 
	if (!(validateRequiredField(form['code'], ''))) {
      alert("Please enter the CID Security Code found at the back of your card.");
	  form['code'].focus();
      return false;
    }
	if (!IsNumeric(form['code'].value)) {  
	  alert("The CID Security Code must be in numeric format.");
	  form['code'].focus();
      return false;
    }
    return true;
};
function onValidateBusinessProfile() {	
    var form = document.forms['laForm'];
    if (!(validateRequiredField(form['company'], ''))) {
      alert("Please enter your company name.");
      return false;
    }
    if (!(validateMaxLength(form['company'], '','100'))) {
      alert("Please enter not more than 100 characters for company name.");
      return false;
    }
    if (!(validateRequiredField(form['services'], ''))) {
      alert("Please enter the areas your services are providing.");
      return false;
    }
    if (!(validateMaxLength(form['services'], '','250'))) {
      alert("Please enter not more than 250 characters for areas your services are providing.");
      return false;
    }
	if (!(validateRequiredField(form['yrestablish'], ''))) {
      alert("Please enter the year of establishment as a matchmaker.");
      return false;
    }
    if (!(validateMaxLength(form['yrestablish'], '','4'))) {
      alert("Please enter not more than 4 characters for the year of establishment as a matchmaker.");
      return false;
    } 
	if (!IsNumeric(form['yrestablish'].value)) {
	  alert("Please enter numeric value for the year of establishment as a matchmaker.");
	  return false;
	}
	if (form['yrestablish'].value < 1900 || form['yrestablish'].value > 2009) {
	  alert("Invalid value for the year of establishment as a matchmaker.");
	  return false;
	} 
	if (!(validateRequiredField(form['cport'], ''))) {
      alert("Please enter clients' portfolio.");
      return false;
    } 
	if (!IsNumeric(form['cport'].value)) {
	  alert("Please enter a numeric value for clients' portfolio.");
	  return false;
	}
    return true;
};
function onValidateMM() {	
    var form = document.forms['laForm'];
	if (!(validateRequiredField(form['first_name'], ''))) {
      alert("Please enter your first name.");
      return false;
    }
    if (!(validateMaxLength(form['first_name'], '','50'))) {
      alert("Please enter not more than 50 characters for first name.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['first_name'], ''))) {
      alert("Invalid character/s for first name.");
      return false;
    }
    if (!(validateRequiredField(form['last_name'], ''))) {
      alert("Please enter your last name.");
      return false;
    }
    if (!(validateMaxLength(form['last_name'], '','50'))) {
      alert("Please enter not more than 50 characters for last name.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['last_name'], 'Last Name'))) {
      alert("Invalid character/s for last name.");
      return false;
    }
	if (document.getElementById("genderMale").checked == false && document.getElementById("genderFemale").checked == false) {
      alert("Please select your gender.");
      return false;
    }
	if (!(validateRequiredField(form['address1'], ''))) {
      alert("Please enter your street address 1.");
      return false;
    }
	if (!(validateMaxLength(form['address1'], '','100'))) {
      alert("Please enter not more than 100 characters for street address 1.");
      return false;
    } 
	if (!(validateRequiredField(form['city'], ''))) {
      alert("Please enter your city name.");
      return false;
    }
	if (!(validateMaxLength(form['city'], '','100'))) {
      alert("Please enter not more than 100 characters for city.");
      return false;
    }
	if (!(validateRequiredField(form['zip'], ''))) {
      alert("Please enter your zip code.");
      return false;
    }
	if (!(validateMaxLength(form['zip'], '','50'))) {
      alert("Please enter not more than 50 characters for zip code.");
      return false;
    }  
    if (!(validateRequiredField(form['email'], ''))) {
      alert("Please enter your email.");
      return false;
    }
    if (!(validateMaxLength(form['email'], '','100'))) {
      alert("Please enter not more than 100 characters for email.");
      return false;
    }
    if (!(validateEmailField(form['email'], 'Email Address'))) {
      alert("Please enter a valid email.");
      return false;
    } 
    if (!(validateUsedMMEmail(form['email'],'LOVEAGENT_CONTACTDETAILS', form['email']))) {
      return false;
    }
    if (!(validateRequiredField(form['vemail'], 'Verify Email'))) {
      alert("Please verify your email.");
      return false;
    }
    if (!(validateMaxLength(form['vemail'], 'Verify Email','100'))) {
      alert("Please enter not more than 100 characters for verify email field.");
      return false;
    }
    if (!(validateEmailField(form['vemail'], 'Verify Email'))) {
      alert("Please enter a valid verify email.");
      return false;
    }
    if (!(validateTwoFieldsIgnoreCase(form['vemail'],'Re-enter Email',form['email'],'Email Address'))) {
      alert("Emails do not match.");
      return false;
    }
	if (!(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_cell'], '')) && !(validateRequiredField(form['phone_evening'], ''))) {
      alert("Please enter at least 1 contact number.");
      return false;
    }
    if (!(validateMaxLength(form['phone_day'], '','50'))) {
      alert("Please enter not more than 50 characters for phone-day.");
      return false;
    }
	if (!(validateMaxLength(form['phone_cell'], '','50'))) {
      alert("Please enter not more than 50 characters for mobile no.");
      return false;
    }
	if (!(validateMaxLength(form['phone_evening'], '','50'))) {
      alert("Please enter not more than 50 characters for phone-evening.");
      return false;
    } 
	if (!(validateRequiredField(form['loginid'], ''))) {
      alert("Please enter the preferred login ID.");
      return false;
    }
	if (!(chkAvailableLoginID(form['loginid']))) {	 
	  alert("Login ID is being used by another user. Please enter another login ID.");
      return false;
    }
    return true;
};
function onValidateMM_Edit() {	
    var form = document.forms['laForm'];
	if (!(validateRequiredField(form['first_name'], ''))) {
      alert("Please enter your first name.");
      return false;
    }
    if (!(validateMaxLength(form['first_name'], '','50'))) {
      alert("Please enter not more than 50 characters for first name.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['first_name'], ''))) {
      alert("Invalid character/s for first name.");
      return false;
    }
    if (!(validateRequiredField(form['last_name'], ''))) {
      alert("Please enter your last name.");
      return false;
    }
    if (!(validateMaxLength(form['last_name'], '','50'))) {
      alert("Please enter not more than 50 characters for last name.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['last_name'], 'Last Name'))) {
      alert("Invalid character/s for last name.");
      return false;
    }
	if (document.getElementById("genderMale").checked == false && document.getElementById("genderFemale").checked == false) {
      alert("Please select your gender.");
      return false;
    }
	if (!(validateRequiredField(form['address1'], ''))) {
      alert("Please enter your street address 1.");
      return false;
    }
	if (!(validateMaxLength(form['address1'], '','100'))) {
      alert("Please enter not more than 100 characters for street address 1.");
      return false;
    } 
	if (!(validateRequiredField(form['city'], ''))) {
      alert("Please enter your city name.");
      return false;
    }
	if (!(validateMaxLength(form['city'], '','100'))) {
      alert("Please enter not more than 100 characters for city.");
      return false;
    }
	if (!(validateRequiredField(form['zip'], ''))) {
      alert("Please enter your zip code.");
      return false;
    }
	if (!(validateMaxLength(form['zip'], '','50'))) {
      alert("Please enter not more than 50 characters for zip code.");
      return false;
    }  
	if (!(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_cell'], '')) && !(validateRequiredField(form['phone_evening'], ''))) {
      alert("Please enter at least 1 contact number.");
      return false;
    }
    if (!(validateMaxLength(form['phone_day'], '','50'))) {
      alert("Please enter not more than 50 characters for phone-day.");
      return false;
    }
	if (!(validateMaxLength(form['phone_cell'], '','50'))) {
      alert("Please enter not more than 50 characters for mobile no.");
      return false;
    }
	if (!(validateMaxLength(form['phone_evening'], '','50'))) {
      alert("Please enter not more than 50 characters for phone-evening.");
      return false;
    }
    return true;
};
function onValidateStatus() {	
    var form = document.forms['statusForm'];
	if (!(validateRequiredField(form['statustxt'], ''))) {
      alert("Please type something.");
      return false;
    }
    return true;
};
function validateVKeyField(obj) {

  var v = parseInt(chkPg("../include/checkAkey.php?KEY="+obj.value.trim()));
  if (v == 0) {
    return false;
  }
  return true;
};
function validateUsedEmail(obj, tbl, obj2) {

      var val = parseInt(chkPg("../include/checkUsrEml.php?TBL="+tbl+"&EML="+obj.value.trim()));
	  if (obj2.value == "edit") val = 1;
      var m2 = errMensahe("Email is already registered. Please use another one.");
      switch(val) {
        case 1:
          return true;
          break;
        case 2:
          document.getElementById("eml").innerHTML = m2;
          break;
      }
      return false;
};
function validateUsedMMEmail(obj, tbl, obj2) {

      var val = parseInt(chkPg("../include/checkUsrEml.php?TBL="+tbl+"&EML="+obj.value.trim()));
	  if (obj2.value == "edit") val = 1;
      switch(val) {
        case 1:
          return true;
          break;
        case 2:
          alert("Email is already registered. Please use another one.");
          break;
      }
      return false;
};
function chkAvailableNick(obj) {
  var val = parseInt(chkPg("../include/checkLoginID.php?loginid="+obj.value.trim()));
  if (val > 0) {
    return false;
  } else {
    return true;
  }
};
function chkAvailableLoginID(loginid, business_id) {
  var val = parseInt(chkPg("../include/checkBusinessLoginID.php?loginid="+obj.value.trim()));
  if (val > 0) {
    return false;
  } else {
    return true;
  }
};
function disable(id) {
	document.getElementById(id).disabled=true;
};
function enable(id) {
	document.getElementById(id).disabled=false;
};
function chkCtry(fldr) {  
	var w = document.laForm.country.value;
	if (!fldr)																	   
		loadPage(document.getElementById("divState"), "loadState.php?CID="+w);
	else
		loadPage(document.getElementById("divState"), fldr+"loadState.php?CID="+w);
}; 
function removeSubmissionBlock() {
	blockSubmission = false;
}; 
function loadPage( id, URL ) {
  id.innerHTML = "<div align=center><span style='padding-top:100px'>Loading. Please wait...</span></div>";
  var X = getXHObject(); if( !X ) return;
  X.open("GET", URL, false); X.send(null);
  id.innerHTML = X.responseText;
};	
var prevPg = "your_account";
function showDiv(divID) {
  if (prevPg != divID) {
					document.getElementById(prevPg).style.display = "none";
					document.getElementById(divID).style.display = "block";
					prevPg = divID;
  }
}; 
function editField(txtObj, btnObj, colName, cbo, editwhat) {	
  if (cbo) {
    if (btnObj.value == "edit") {
		btnObj.value = "save";
		txtObj.disabled = false;
		txtObj.focus();
	} else {  
			var val = parseInt(chkPg("la_edit_field.php?col="+colName+"&val="+txtObj.value+"&editwhat="+editwhat));
			if (val > 0) {
			  btnObj.value = "edit";
			  txtObj.disabled = true;	
			  alert("Update success!");
			} else {
			  alert("Update failed!");
			}
	}
  } else {
	if (btnObj.value == "edit") {
		btnObj.value = "save";
		txtObj.readOnly = false;
		txtObj.focus();
		txtObj.select();
	} else {  
		if (!(validateRequiredField(txtObj, ''))) {
      		alert("Please enter a value.");
  		} else {
			var val = parseInt(chkPg("la_edit_field.php?col="+colName+"&val="+txtObj.value));
			if (val > 0) {
			  btnObj.value = "edit";
			  txtObj.readOnly = true;	
			  alert("Update success!");
			} else {
			  alert("Update failed!");
			}
		}
	}	  
  }
};
function sendHOLRequest(eml) {
	var val = parseInt(chkPg("HOL_request.php?eml="+eml));
	if (val > 0) {
		alert("Email has been sent!"); 
	} else {
		alert("Email sending failed. Please try again later.");	
	}
};
function sendEmailRequest(col, val, subj) {
  if (!(validateRequiredField(document.getElementById('newVal'), ''))) {
      alert("Please enter a new value.");
  } else {
	var val = parseInt(chkPg("la_update_request.php?col="+col+"&val="+val+"&subj="+subj));
	if (val > 0) {
		alert("Email has been sent!"); 
	} else {
		alert("Email sending failed. Please try again later.");	
	}
	document.getElementById("div_email").style.display = "none";
	document.getElementById("newVal").value = "";
  }
};
function assignVal(subj, col) {
			  document.getElementById("subj").innerHTML = subj;
			  document.getElementById("col").innerHTML = col; 
			  document.getElementById('div_email').style.display='block';
};
function savePwd() {
  var pwd = document.getElementById("pwd");
  var repwd = document.getElementById("repwd");
  if (!(validateRequiredField(pwd, ''))) {
      alert("Please enter a new password.");
  } else if (!(validateMaxLength(pwd, '','12'))) {
      alert("Please enter not more than 12 characters.");
  } else if (pwd.value != repwd.value) {
      alert("Passwords do not match.");
  } else {
	var val = parseInt(chkPg("la_save_pwd.php?pwd="+pwd.value));
	if (val > 0) {
		alert("New password has been set!"); 
	} else {
		alert("Saving new password failed.");	
	}
	document.getElementById("div_pwd").style.display = "none";
	pwd.value = "";
	repwd.value = "";
  }
};
function convertCredit(obj, rate, objresult) {
  if (!validateNumeric(obj, '')) {
  //if(!validateMaxNumeric(obj, 'Credit', 4)) {
    alert("Invalid input.");
  }	else {	
    var ans = (obj.value * rate);
    objresult.value = "$"+ans;
  }
}; 
function updateSearchFor(obj) {
  var w = obj.selectedIndex;
  var txt = obj.options[w].text; 
  if (txt == "Name") {	
    document.getElementById("search_txt_div").style.display = "block";
	document.getElementById("search_date_div").style.display = "none";
	document.getElementById("search_status_div").style.display = "none";	 
	document.getElementById("search_age_div").style.display = "none";	
	document.getElementById("title_div").innerHTML = "Enter Name:";
  } else if (txt == "Email") {
    document.getElementById("search_txt_div").style.display = "block";
	document.getElementById("search_date_div").style.display = "none";
	document.getElementById("search_status_div").style.display = "none"; 
	document.getElementById("search_age_div").style.display = "none";	
	document.getElementById("title_div").innerHTML = "Enter Email:";
  } else if (txt == "Sign Up Date") {
    document.getElementById("search_txt_div").style.display = "none";
	document.getElementById("search_date_div").style.display = "block";
	document.getElementById("search_status_div").style.display = "none";
	document.getElementById("search_age_div").style.display = "none";	
	document.getElementById("title_div").innerHTML = "Dates:";
  } else if (txt == "Age Range") {
    document.getElementById("search_txt_div").style.display = "none";
	document.getElementById("search_date_div").style.display = "none";
	document.getElementById("search_status_div").style.display = "none";
	document.getElementById("search_age_div").style.display = "block";	
	document.getElementById("title_div").innerHTML = "Enter age range:";
  } else { 
    document.getElementById("search_status_div").style.display = "block";
	document.getElementById("search_txt_div").style.display = "none";
	document.getElementById("search_date_div").style.display = "none"; 
	document.getElementById("search_age_div").style.display = "none";	
    document.getElementById("title_div").innerHTML = "Status:";
  }
}; 
function updateSearchForLead(obj) {
  var w = obj.selectedIndex;
  var txt = obj.options[w].text; 
  if (txt == "Name") {	
    document.getElementById("search_txt_div").style.display = "block";
	document.getElementById("search_mm_div").style.display = "none";
	document.getElementById("search_age_div").style.display = "none";	 
	document.getElementById("search_date_div").style.display = "none";	
	document.getElementById("title_div").innerHTML = "Enter Name:";
  } else if (txt == "Email") {
    document.getElementById("search_txt_div").style.display = "block";
	document.getElementById("search_mm_div").style.display = "none";
	document.getElementById("search_age_div").style.display = "none";	 
	document.getElementById("search_date_div").style.display = "none";	
	document.getElementById("title_div").innerHTML = "Enter Email:";
  } else if (txt == "Matchmaker") {
    document.getElementById("search_txt_div").style.display = "none";
	document.getElementById("search_mm_div").style.display = "block";
	document.getElementById("search_age_div").style.display = "none";	 
	document.getElementById("search_date_div").style.display = "none";	
	document.getElementById("title_div").innerHTML = "Choose Matchmaker:";
  } else if (txt == "Contact No.") {
    document.getElementById("search_txt_div").style.display = "block";
	document.getElementById("search_mm_div").style.display = "none";
	document.getElementById("search_age_div").style.display = "none";	 
	document.getElementById("search_date_div").style.display = "none";	
	document.getElementById("title_div").innerHTML = "Enter Contact No:";
  } else if (txt == "Age Range") {
    document.getElementById("search_txt_div").style.display = "none";
	document.getElementById("search_mm_div").style.display = "none";
	document.getElementById("search_age_div").style.display = "block";	 
	document.getElementById("search_date_div").style.display = "none";	
	document.getElementById("title_div").innerHTML = "Enter Age Range:";
  } else if (txt == "Sign Up Date") {
    document.getElementById("search_txt_div").style.display = "none";
	document.getElementById("search_mm_div").style.display = "none";
	document.getElementById("search_age_div").style.display = "none";	 
	document.getElementById("search_date_div").style.display = "block";	
	document.getElementById("title_div").innerHTML = "Dates:";
  } 
}; 
function updateSearchForLA(obj) {
  var w = obj.selectedIndex;
  var txt = obj.options[w].text; 
  if (txt == "Name") {	
    document.getElementById("search_txt_div").style.display = "block";
	document.getElementById("search_date_div").style.display = "none";
	document.getElementById("search_status_div").style.display = "none"; 
	document.getElementById("search_availability_div").style.display = "none";	
	document.getElementById("search_gender_div").style.display = "none";	
	document.getElementById("title_div").innerHTML = "Enter Name:";
  } else if (txt == "Email") {
    document.getElementById("search_txt_div").style.display = "block";
	document.getElementById("search_date_div").style.display = "none";
	document.getElementById("search_status_div").style.display = "none"; 
	document.getElementById("search_availability_div").style.display = "none";	
	document.getElementById("search_gender_div").style.display = "none";	
	document.getElementById("title_div").innerHTML = "Enter Email:";
  } else if (txt == "Sign Up Date") {
    document.getElementById("search_txt_div").style.display = "none";
	document.getElementById("search_date_div").style.display = "block";
	document.getElementById("search_status_div").style.display = "none";
	document.getElementById("search_availability_div").style.display = "none";	
	document.getElementById("search_gender_div").style.display = "none";		
	document.getElementById("title_div").innerHTML = "Choose Dates:";
  } else if (txt == "Availability") {
    document.getElementById("search_txt_div").style.display = "none";
	document.getElementById("search_date_div").style.display = "none";
	document.getElementById("search_status_div").style.display = "none";
	document.getElementById("search_availability_div").style.display = "block";	
	document.getElementById("search_gender_div").style.display = "none";		
	document.getElementById("title_div").innerHTML = "Availability";
  } else if (txt == "Gender") {
    document.getElementById("search_txt_div").style.display = "none";
	document.getElementById("search_date_div").style.display = "none";
	document.getElementById("search_status_div").style.display = "none";
	document.getElementById("search_availability_div").style.display = "none";	
	document.getElementById("search_gender_div").style.display = "block";		
	document.getElementById("title_div").innerHTML = "Gender:";
  } else { 
    document.getElementById("search_status_div").style.display = "block";
	document.getElementById("search_txt_div").style.display = "none";
	document.getElementById("search_date_div").style.display = "none";
	document.getElementById("search_availability_div").style.display = "none";	
	document.getElementById("search_gender_div").style.display = "none";		
    document.getElementById("title_div").innerHTML = "Status:";
  } 
};
function hideMenu(val) { 
  var clicked = document.getElementById("clicked");	 
  if (clicked.value != val) {
	  switch(clicked.value) { 
	    case "_quick_create":
	      blind_toggle1.start();
		  break;
		case "_leads":
		  blind_toggle4.start();
		  break;
		case "_clients":
		  blind_toggle5.start();
		  break;
		case "_matchmaker":
		  blind_toggle6.start();
		  break;
		case "_introductions":
		  blind_toggle7.start();
		  break;
		case "_communication":
		  blind_toggle8.start();
		  break;
		case "_stats":
		  blind_toggle9.start();
		  break;
	  }
  	  switch(val) { 
	    case "_quick_create":
	      blind_toggle1.start();
		  break;
		case "_leads":
		  blind_toggle4.start();
		  break;
		case "_clients":
		  blind_toggle5.start();
		  break;
		case "_matchmaker":
		  blind_toggle6.start();
		  break;
		case "_introductions":
		  blind_toggle7.start();
		  break;
		case "_communication":
		  blind_toggle8.start();
		  break;
		case "_stats":
		  blind_toggle9.start();
		  break;
	  }
  }
  clicked.value = val;
};
function onValidateMemberForm() {	
    var form = document.forms['laForm'];
    if (!(validateRequiredField(form['first_name'], 'First Name'))) {
      document.getElementById("fn").innerHTML = errMensahe("Please enter your first name.");
	  form['first_name'].focus();
      return false;
    }
    if (!(validateMaxLength(form['first_name'], 'First Name','50'))) {
      document.getElementById("fn").innerHTML = errMensahe("Please enter not more than 50 characters.");
	  form['first_name'].focus();
      return false;
    }
    if (!(validateRequiredField(form['last_name'], 'Last Name'))) {
      document.getElementById("ln").innerHTML = errMensahe("Please enter your last name.");	
	  form['last_name'].focus();
      return false;
    }
    if (!(validateMaxLength(form['last_name'], 'Last Name','50'))) {
      document.getElementById("ln").innerHTML = errMensahe("Please enter not more than 50 characters.");
	  form['last_name'].focus();
      return false;
    }  
	if (document.getElementById("genderMale").checked == false && document.getElementById("genderFemale").checked == false) {
      document.getElementById("gn").innerHTML = errMensahe("Please select your gender.");
	  form['genderMale'].focus();
      return false;
    }
	if (!(validateMaxLength(form['address1'], '','100'))) {
      document.getElementById("ad1").innerHTML = errMensahe("Please enter not more than 100 characters."); 
	  form['address1'].focus();
      return false;
    } 	 
	if (!(validateMaxLength(form['city'], '','100'))) {
      document.getElementById("ct").innerHTML = errMensahe("Please enter not more than 100 characters.");
	  form['city'].focus();
      return false;
    }
	if (!(validateMaxLength(form['zip'], '','50'))) {
      document.getElementById("zp").innerHTML = errMensahe("Please enter not more than 50 characters."); 
	  form['zip'].focus();
      return false;
    } 
    if (!(validateMaxLength(form['email'], 'Email Address','100'))) {
      document.getElementById("eml").innerHTML = errMensahe("Please enter not more than 100 characters."); 
	  form['email'].focus();
      return false;
    }
    if (!(validateEmailField(form['email'], 'Email Address'))) {
      document.getElementById("eml").innerHTML = errMensahe("Please enter a valid email.");
	  form['email'].focus();
      return false;
    }
	if (!(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_cell'], '')) && !(validateRequiredField(form['phone_evening'], ''))) {
      document.getElementById("pd").innerHTML = errMensahe("Please enter at least 1 contact number.");
	  form['phone_day'].focus();
      return false;
    }
    if (!(validateMaxLength(form['phone_day'], '','50'))) {
      document.getElementById("pd").innerHTML = errMensahe("Please enter not more than 50 characters.");
	  form['phone_day'].focus();
      return false;
    }
	if (!(validateMaxLength(form['phone_cell'], '','50'))) {
      document.getElementById("pc").innerHTML = errMensahe("Please enter not more than 50 characters.");
	  form['phone_cell'].focus();
      return false;
    }
	if (!(validateMaxLength(form['phone_evening'], '','50'))) {
      document.getElementById("pe").innerHTML = errMensahe("Please enter not more than 50 characters.");
	  form['phone_evening'].focus();
      return false;
    }
	if (form['hear_about'].selectedIndex == 0) {
      document.getElementById("ha").innerHTML = errMensahe("How did you hear about us?"); 
	  form['hear_about'].focus();
      return false;
    }
	if (form['mbrsts'].value == -1) {
      document.getElementById("member_sts").innerHTML = errMensahe("Please choose a status for the new client.");
	  form['mbrsts'].focus();
      return false;
    } 
	if (form['mmpackage'].value == -1) {
      document.getElementById("mmpack").innerHTML = errMensahe("Please choose a MMPro package.");
	  form['mmpackage'].focus();
      return false;
    }
	if (!(form['terms'].checked)) {
      document.getElementById("toa").innerHTML = errMensahe("Please read our terms and tick to agree."); 
	  form['terms'].focus();
      return false;
    }
    if (!(validateRequiredField(form['akey'], 'Verify Key'))) {
      document.getElementById("ak").innerHTML = errMensahe("Please enter verification key."); 
	  form['akey'].focus();
      return false;
    }
    if (!(validateVKeyField(form['akey']))) {
      document.getElementById("ak").innerHTML = errMensahe("Invalid verification key. Please re-enter."); 
	  form['akey'].focus();
      return false;
    }
    return true;
};
function onValidateMemberFormUpdate() {	
    var form = document.forms['laForm'];
    if (!(validateRequiredField(form['first_name'], 'First Name'))) {
      document.getElementById("fn").innerHTML = errMensahe("Please enter your first name.");
	  form['first_name'].focus();
      return false;
    }
    if (!(validateMaxLength(form['first_name'], 'First Name','50'))) {
      document.getElementById("fn").innerHTML = errMensahe("Please enter not more than 50 characters.");
	  form['first_name'].focus();
      return false;
    }
    if (!(validateRequiredField(form['last_name'], 'Last Name'))) {
      document.getElementById("ln").innerHTML = errMensahe("Please enter your last name.");	
	  form['last_name'].focus();
      return false;
    }
    if (!(validateMaxLength(form['last_name'], 'Last Name','50'))) {
      document.getElementById("ln").innerHTML = errMensahe("Please enter not more than 50 characters.");
	  form['last_name'].focus();
      return false;
    }
	if (document.getElementById("genderMale").checked == false && document.getElementById("genderFemale").checked == false) {
      document.getElementById("gn").innerHTML = errMensahe("Please select your gender.");
	  form['genderMale'].focus();
      return false;
    }
	if (!(validateMaxLength(form['address1'], '','100'))) {
      document.getElementById("ad1").innerHTML = errMensahe("Please enter not more than 100 characters."); 
	  form['address1'].focus();
      return false;
    } 
	if (!(validateMaxLength(form['city'], '','100'))) {
      document.getElementById("ct").innerHTML = errMensahe("Please enter not more than 100 characters.");
	  form['city'].focus();
      return false;
    }
	if (!(validateMaxLength(form['zip'], '','50'))) {
      document.getElementById("zp").innerHTML = errMensahe("Please enter not more than 50 characters."); 
	  form['zip'].focus();
      return false;
    }  
    if (!(validateMaxLength(form['email'], 'Email Address','100'))) {
      document.getElementById("eml").innerHTML = errMensahe("Please enter not more than 100 characters."); 
	  form['email'].focus();
      return false;
    }
    if (!(validateEmailField(form['email'], 'Email Address'))) {
      document.getElementById("eml").innerHTML = errMensahe("Please enter a valid email.");
	  form['email'].focus();
      return false;
    } 
	if (!(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_cell'], '')) && !(validateRequiredField(form['phone_evening'], ''))) {
      document.getElementById("pd").innerHTML = errMensahe("Please enter at least 1 contact number.");
	  form['phone_day'].focus();
      return false;
    }
    if (!(validateMaxLength(form['phone_day'], '','50'))) {
      document.getElementById("pd").innerHTML = errMensahe("Please enter not more than 50 characters.");
	  form['phone_day'].focus();
      return false;
    }
	if (!(validateMaxLength(form['phone_cell'], '','50'))) {
      document.getElementById("pc").innerHTML = errMensahe("Please enter not more than 50 characters.");
	  form['phone_cell'].focus();
      return false;
    }
	if (!(validateMaxLength(form['phone_evening'], '','50'))) {
      document.getElementById("pe").innerHTML = errMensahe("Please enter not more than 50 characters.");
	  form['phone_evening'].focus();
      return false;
    }
	if (form['hear_about'].selectedIndex == 0) {
      document.getElementById("ha").innerHTML = errMensahe("How did you hear about us?"); 
	  form['hear_about'].focus();
      return false;
    }
	if (form['mbrsts'].value == -1) {
      document.getElementById("member_sts").innerHTML = errMensahe("Please choose a status for the new client.");
	  form['mbrsts'].focus();
      return false;
    } 
	if (form['mmpackage'].value == -1) {
      document.getElementById("mmpack").innerHTML = errMensahe("Please choose a MMPro package.");
	  form['mmpackage'].focus();
      return false;
    }
    return true;
};
function onValidateLeadForm() {	
    if (!(validateRequiredField(document.getElementById('first_name'), 'First Name'))) {
      document.getElementById("fn").innerHTML = errMensahe("Please enter first name.");	
      return false;
    }
    if (!(validateMaxLength(document.getElementById('first_name'), 'First Name','50'))) {
      document.getElementById("fn").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
    if (!(validateAlphaNumericWS(document.getElementById('first_name'), 'First Name'))) {
      document.getElementById("fn").innerHTML = errMensahe("Invalid character/s.");
      return false;
    }
    if (!(validateRequiredField(document.getElementById('last_name'), 'Last Name'))) {
      document.getElementById("ln").innerHTML = errMensahe("Please enter last name.");
      return false;
    }
    if (!(validateMaxLength(document.getElementById('last_name'), 'Last Name','50'))) {
      document.getElementById("ln").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
    if (!(validateAlphaNumericWS(document.getElementById('last_name'), 'Last Name'))) {
      document.getElementById("ln").innerHTML = errMensahe("Invalid character/s.");
      return false;
    } 
	if (document.getElementById("genderMale").checked == false && document.getElementById("genderFemale").checked == false) {
      document.getElementById("gn").innerHTML = errMensahe("Please select gender.");
      return false;
    }
	if (!(validateMaxLength(document.getElementById('zip'), '','50'))) {
      document.getElementById("zp").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    } 
	if (!(validateRequiredField(document.getElementById('phone_day'), '')) && !(validateRequiredField(document.getElementById('phone_cell'), '')) && !(validateRequiredField(document.getElementById('phone_evening'), ''))) {
      document.getElementById("pd").innerHTML = errMensahe("Please enter at least 1 contact number.");
      return false;
    }
    if (!(validateMaxLength(document.getElementById('phone_day'), '','50'))) {
      document.getElementById("pd").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
	if (!(validateMaxLength(document.getElementById('phone_cell'), '','50'))) {
      document.getElementById("pc").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
	if (!(validateMaxLength(document.getElementById('phone_evening'), '','50'))) {
      document.getElementById("pe").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
    if (document.getElementById('hear_about').selectedIndex == 0) {
      document.getElementById("ha").innerHTML = errMensahe("How did lead hear about us?");
      return false;
    }
    return true;
};
function onValidateLeadFormUpdate() {	
    var form = document.forms['laForm'];
    if (!(validateRequiredField(form['first_name'], 'First Name'))) {
      document.getElementById("fn").innerHTML = errMensahe("Please enter first name.");
      return false;
    }
    if (!(validateMaxLength(form['first_name'], 'First Name','50'))) {
      document.getElementById("fn").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['first_name'], 'First Name'))) {
      document.getElementById("fn").innerHTML = errMensahe("Invalid character/s.");
      return false;
    }
    if (!(validateRequiredField(form['last_name'], 'Last Name'))) {
      document.getElementById("ln").innerHTML = errMensahe("Please enter last name.");
      return false;
    }
    if (!(validateMaxLength(form['last_name'], 'Last Name','50'))) {
      document.getElementById("ln").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
    if (!(validateAlphaNumericWS(form['last_name'], 'Last Name'))) {
      document.getElementById("ln").innerHTML = errMensahe("Invalid character/s.");
      return false;
    } 
	if (document.getElementById("genderMale").checked == false && document.getElementById("genderFemale").checked == false) {
      document.getElementById("gn").innerHTML = errMensahe("Please select gender.");
      return false;
    }
	if (!(validateMaxLength(form['zip'], '','50'))) {
      document.getElementById("zp").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    } 
	if (!(validateRequiredField(form['phone_day'], '')) && !(validateRequiredField(form['phone_cell'], '')) && !(validateRequiredField(form['phone_evening'], ''))) {
      document.getElementById("pd").innerHTML = errMensahe("Please enter at least 1 contact number.");
      return false;
    }
    if (!(validateMaxLength(form['phone_day'], '','50'))) {
      document.getElementById("pd").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
	if (!(validateMaxLength(form['phone_cell'], '','50'))) {
      document.getElementById("pc").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
	if (!(validateMaxLength(form['phone_evening'], '','50'))) {
      document.getElementById("pe").innerHTML = errMensahe("Please enter not more than 50 characters.");
      return false;
    }
    if (form['hear_about'].selectedIndex == 0) {
      document.getElementById("ha").innerHTML = errMensahe("How did lead hear about us?");
      return false;
    }
    return true;
}; 	
function checkSupportMsg()  {
	var form = document.forms['laForm'];
    if (!(validateRequiredField(form['subject'], 'Subject'))) {
      alert("Please enter a subject.");
      return false;
    } 
	if (!(validateRequiredField(form['message'], 'Message'))) {
      alert("Please enter a message.");
      return false;
    }
	if (!(validateRequiredField(form['akey'], 'Verify Key'))) {
      alert("Please enter verification key.");
      return false;
    }
	if (!(validateVKeyField(form['akey']))) {
      alert("Invalid verification key. Please re-enter.");
      return false;
    }
	return true;
}
function autolink(s) {
    var regURL = new RegExp("(http|https|ftp)://([-/.a-zA-Z0-9_~#%$?&=:200-377()]+)", "gi");
    s = s.replace(regURL, "<a href='$1://$2' rel='nofollow' target='_blank'>$1://$2</a>");
    return s;
};
function submitNewMember() {
	var fm = document.forms['laForm']; 
	var validated = onValidateMemberForm();

	var str = "";									  
	var gen = "F";
	var mgen = "F";		  

	if (validated) {  
		if (document.getElementById("genderMale").checked) gen = "M";
		if (document.getElementById("mgenderMale").checked) mgen = "M";
		var lac = fm['la_comment'].value;
		if (lac.length > 0) {
		  lac = escape(lac);
		}
		var lapc = fm['la_pastrel_comment'].value;
		if (lapc.length > 0) {
		  lapc = escape(lapc);
		} 
		var ad1 = escape(fm['address1'].value);
		var ad2 = escape(fm['address2'].value);	
		var mb = fm['married_before'].value;
		var sd = fm['single_dt'].checked ? 1 : 0;
		var mc = fm['med_cond'].checked ? 1 : 0; 
		var mh = fm['patient'].checked ? 1 : 0;	
		var cr = fm['crime'].checked ? 1 : 0;
		var re = fm['relocate'].checked ? 1 : 0; 
		var li = fm['overseas'].checked ? 1 : 0;  	  
		var country_overseas = li > 0 ? fm['country_o'].value : "";
		var ir = fm['in_relationship'].checked ? 1 : 0;	
		var mmb = fm['mmarried_before'].value; 
		var mch = fm['mwant_child'].checked ? 1 : 0;
		//contact details
		str = "member_save_contactdetails.php?fn="+escape(fm['first_name'].value)+"&ln="+escape(fm['last_name'].value)+"&DOBmonth="+fm['DOBmonth'].value+"&DOByear="+fm['DOByear'].value;	
		str += "&DOBday="+fm['DOBday'].value+"&gen="+gen+"&cid="+fm['country'].value+"&sid="+fm['state'].value+"&ad1="+ad1+"&ad2="+ad2+"&ct="+escape(fm['city'].value);
		str += "&zip="+fm['zip'].value+"&lp="+fm['language'].value+"&eml="+fm['email'].value+"&pd="+fm['phone_day'].value+"&pc="+fm['phone_cell'].value+"&pe="+fm['phone_evening'].value;
		str += "&fax="+fm['fax'].value+"&av="+fm['availability'].value+"&ps="+fm['person_scr'].value+"&habt="+fm['hear_about'].value+"&sts="+fm['mbrsts'].value; 
		//declare
		str += "&mb="+mb+"&sd="+sd+"&ccn="+fm['no_children'].value+"&mc="+mc+"&mh="+mh+"&cr="+cr+"&att="+fm['terms'].value;	
		//personal details
		str += "&oc="+fm['occupation'].value+"&in="+fm['industry'].value+"&re="+re+"&bu="+fm['business_travel']+"&li="+li;
		str += "&co="+country_overseas+"&hob1="+fm['fave_hobby1'].value+"&hob2="+fm['fave_hobby2'].value+"&hob3="+fm['fave_hobby3'].value+"&foo1="+fm['fave_food1'].value;
		str += "&foo2="+fm['fave_food2'].value+"&foo2="+fm['fave_food2'].value+"&foo3="+fm['fave_food3'].value+"&mus1="+fm['fave_music1'].value+"&mus2="+fm['fave_music2'].value;
		str += "&mus3="+fm['fave_music3'].value+"&fil1="+fm['fave_film1'].value+"&fil2="+fm['fave_film2'].value+"&fil3="+fm['fave_film3'].value+"&ihi="+fm['impt_hobbies'].value;
		str += "&eth="+fm['ethnicity'].value+"&ha="+fm['hair_color'].value+"&hs="+fm['hair_style'].value+"&rel="+fm['religion'].value+"&bt="+fm['body_type'].value+"&hei="+fm['height'].value;
		str += "&wei="+fm['weight'].value+"&ai="+fm['annual_income'].value+"&edu="+fm['education'].value+"&mi="+fm['course'].value+"&un="+fm['university'].value+"&chi="+fm['no_children'].value;
		str += "&sh="+fm['smoke_habit'].value+"&dh="+fm['drink_habit'].value+"&eh="+fm['exer_habit'].value+"&ir="+ir;
		str += "&ird="+fm['in_rel_details'].value+"&chd="+fm['children_desire'].value+"&rex="+fm['relation_exp'].value+"&lac="+lac+"&lapc="+lapc; 
		//preferences
		str += "&mg="+mgen+"&mal1="+fm['age1_from'].value+"&mah1="+fm['age1_to'].value+"&mal2="+fm['age2_from'].value+"&mah2="+fm['age2_to'].value+"&mq="+fm['mquality'].value;
		str += "&mk="+fm['mkeyval'].value+"&mdb="+fm['dbreak'].value+"&mrel="+fm['match_religion'].value+"&mmb="+mmb+"&mch="+mch;
		str += "&medu="+fm['meducation'].value+"&meth="+fm['methnicity'].value+"&mre="+fm['rel_exp'].value+"&msmk="+fm['match_smoke_habit'].value+"&mdr="+fm['match_drink_habit'].value;
		str += "&maf1="+fm['age_flex'].value+"&mrf="+fm['relg_flex'].value+"&mmbf="+fm['mb_flex'].value+"&mcf="+fm['mwant_child_flex'].value+"&meduf="+fm['meduc_flex'].value;
		str += "&methf="+fm['meth_flex'].value+"&msf="+fm['smoke_flex'].value+"&mdf="+fm['drink_flex'].value;
	    //alert(str);
		var v = parseInt(chkPg(str));	
		if (v > 0) {  
			fm.submit();
			alert("Saved!");
		} else {
			alert("Failed"); 
		} 
	} 
};
function searchMember() { 
  var cbo1 = document.getElementById("cbo_sort");
  var cboSort = cbo1.options[cbo1.selectedIndex].text;
  var cbo2 = document.getElementById("cbo_search");
  var cboSearch = cbo2.options[cbo2.selectedIndex].text; 
  var country = document.getElementById("country").value;
  var state = document.getElementById("state").value; 
  var fgender = document.getElementById("fgender");
  var mgender = document.getElementById("mgender");
  var gender = 'A';
  if (mgender.checked) gender = 'M';
  if (fgender.checked) gender = 'F';
  var sort = ""; 
  switch(cboSort) {
    case "Name":																	  
	  sort = "A.last_name";
	  break; 
	case "Sign Up Date":
	  sort = "A.create_date";
	  break;
    case "Status":	  	   
	  sort = "A.status";
      break; 
	case "Age Range":
	  sort = "FLOOR(DATEDIFF(now(), A.dob)/365.25)";
	  break;  
  }
  switch(cboSearch) {
    case "Name":																	  
	  var txt = document.getElementById("txt_search");
	  var txtVal = txt.value;  
	  loadPage(document.getElementById("result"),"member_search_result.php?search=name&txt="+txtVal+"&sort="+sort+"&cty="+country+"&state="+state+"&gender="+gender);
	  break; 
	case "Email": 
	  var txt = document.getElementById("txt_search");
	  var txtVal = txt.value;
	  loadPage(document.getElementById("result"),"member_search_result.php?search=email&txt="+txtVal+"&sort="+sort+"&cty="+country+"&state="+state+"&gender="+gender);
	  break;
	case "Sign Up Date":  
	  var df = document.getElementById("txt_date_from_id").value;
	  var dt = document.getElementById("txt_date_to_id").value;	
	  loadPage(document.getElementById("result"),"member_search_result.php?search=date&df="+df+"&dt="+dt+"&sort="+sort+"&cty="+country+"&state="+state+"&gender="+gender);
	  break;
    case "Status":	
	  var cbo3 = document.getElementById("status");
      var sts = cbo3.value;																						
	  loadPage(document.getElementById("result"),"member_search_result.php?search=status&sts="+sts+"&sort="+sort+"&cty="+country+"&state="+state+"&gender="+gender);
      break;
	case "Age Range":
	  var agef = document.getElementById("agef").value;	
	  var aget = document.getElementById("aget").value;
	  loadPage(document.getElementById("result"),"member_search_result.php?search=age&agef="+agef+"&aget="+aget+"&cty="+country+"&state="+state+"&sort="+sort+"&gender="+gender);
	  break;  
  }
};
function searchLoveAgent() { 
  var cbo1 = document.getElementById("cbo_sort");
  var cboSort = cbo1.options[cbo1.selectedIndex].text;
  var cbo2 = document.getElementById("cbo_search");
  var cboSearch = cbo2.options[cbo2.selectedIndex].text;
  var cty = document.getElementById("country"); 
  var state = document.getElementById("state");	
  var cpy = document.getElementById("company"); 
  var sort = ""; 
  switch(cboSort) {
    case "Name":																	  
	  sort = "last_name";
	  break; 
	case "Country":
	  sort = "country";
	  break;
	case "Sign Up Date":
	  sort = "create_date";
	  break;
    case "Status":	  	   
	  sort = "status";
      break; 
	case "Company":	  	   
	  sort = "company";
      break; 
  }
  switch(cboSearch) {
    case "Name":																	  
	  var txt = document.getElementById("txt_search");
	  var txtVal = txt.value;  
	  loadPage(document.getElementById("result"),"loveagent_search_result.php?search=name&txt="+txtVal+"&sort="+sort+"&cty="+cty.value+"&state="+state.value+"&company="+cpy.value);
	  break; 
	case "Email": 
	  var txt = document.getElementById("txt_search");
	  var txtVal = txt.value;
	  loadPage(document.getElementById("result"),"loveagent_search_result.php?search=email&txt="+txtVal+"&sort="+sort+"&cty="+cty.value+"&state="+state.value+"&company="+cpy.value);
	  break;
	case "Availability": 
	  var cboAvail = document.getElementById("availability");
	  var txtVal = cboAvail.value;
	  loadPage(document.getElementById("result"),"loveagent_search_result.php?search=availability&availability="+txtVal+"&sort="+sort+"&cty="+cty.value+"&state="+state.value+"&company="+cpy.value);
	  break;
	case "Gender": 
	  var mgender = document.getElementById("mgender");	
	  var fgender = document.getElementById("fgender");
	  var txtVal = (mgender.checked) ? "M" : "F";
	  loadPage(document.getElementById("result"),"loveagent_search_result.php?search=gender&gender="+txtVal+"&sort="+sort+"&cty="+cty.value+"&state="+state.value+"&company="+cpy.value);
	  break;
	case "Sign Up Date":  
	  var df = document.getElementById("txt_date_from_id").value;
	  var dt = document.getElementById("txt_date_to_id").value;	
	  loadPage(document.getElementById("result"),"loveagent_search_result.php?search=date&df="+df+"&dt="+dt+"&sort="+sort+"&cty="+cty.value+"&state="+state.value+"&company="+cpy.value);
	  break;
  }
};
function searchLead() { 
  var cbo1 = document.getElementById("cbo_sort");
  var cboSort = cbo1.options[cbo1.selectedIndex].text;
  var cbo2 = document.getElementById("cbo_search");
  var cboSearch = cbo2.options[cbo2.selectedIndex].text; 
  var country = document.getElementById("country").value;
  var state = document.getElementById("state").value; 
  var fgender = document.getElementById("fgender");
  var mgender = document.getElementById("mgender");
  var gender = 'A';
  if (mgender.checked) gender = 'M';
  if (fgender.checked) gender = 'F';
  
  var sort = ""; 
  switch(cboSort) {
    case "Name":																	  
	  sort = "c.last_name";
	  break; 
	case "Matchmaker":
	  sort = "c.last_name";
	  break;  
	case "Sign Up Date":
	  sort = "c.create_date DESC";
	  break;
	case "Age Range":
	  sort = "FLOOR(DATEDIFF(now(), c.dob)/365.25)";
	  break; 
  }
  switch(cboSearch) {
    case "Name":																	  
	  var txt = document.getElementById("txt_search"); 
	  var txtVal = txt.value;  
	  loadPage(document.getElementById("result"),"leads_search_result.php?search=name&txt="+txtVal+"&cty="+country+"&state="+state+"&sort="+sort+"&gender="+gender);
	  break; 
	case "Email": 
	  var txt = document.getElementById("txt_search"); 
	  var txtVal = txt.value;
	  loadPage(document.getElementById("result"),"leads_search_result.php?search=email&txt="+txtVal+"&cty="+country+"&state="+state+"&sort="+sort+"&gender="+gender);
	  break;
	case "Matchmaker":  
	  var mm = document.getElementById("mm");
	  var mmVal = mm.value;
	  loadPage(document.getElementById("result"),"leads_search_result.php?search=agent&mm="+mmVal+"&cty="+country+"&state="+state+"&sort="+sort+"&gender="+gender);
	  break;
	case "Contact No.":
	  var txt = document.getElementById("txt_search");
	  var txtVal = txt.value;
	  loadPage(document.getElementById("result"),"leads_search_result.php?search=contact&txt="+txtVal+"&cty="+country+"&state="+state+"&sort="+sort+"&gender="+gender);
	  break; 
	case "Age Range":
	  var agef = document.getElementById("agef").value;	
	  var aget = document.getElementById("aget").value;
	  loadPage(document.getElementById("result"),"leads_search_result.php?search=age&agef="+agef+"&aget="+aget+"&cty="+country+"&state="+state+"&sort="+sort+"&gender="+gender);
	  break; 
	case "Sign Up Date":  
	  var df = document.getElementById("txt_date_from_id").value;
	  var dt = document.getElementById("txt_date_to_id").value;	
	  loadPage(document.getElementById("result"),"leads_search_result.php?search=date&df="+df+"&dt="+dt+"&cty="+country+"&state="+state+"&sort="+sort+"&gender="+gender);
	  break;
  }
};
function deleteLead(leadID) {
  var ans = confirm("Delete lead appointment?");
  if (ans) {
    var val = chkPg("leads_delete.php?id="+leadID);
	if (val>0) alert("Success!"); 
	else alert("Failed!");
  }
};
function updateLeadStatus(leadID, typ) {
  switch(typ) {
  	case "bin-lead":
		var ans = confirm("Are you sure you want to delete this lead? (This lead will be sent to Deleted Leads list)");
		if (ans) {
			var val = chkPg("leads_update_status.php?id="+leadID+"&cmd=bin-lead");
			if (val>0) {
				alert("The lead has been sent to Deleted Leads list.");
				loadPage(document.getElementById('content'),'leads_deleted.php');
			} else { 
				alert("Failed to delete. Please try again.");
			}
		}
		break;
	case "bin-client":
		var ans = confirm("Are you sure you want to delete this client? (This client will be sent to Deleted Clients list)");
		if (ans) {
			var val = chkPg("leads_update_status.php?id="+leadID+"&cmd=bin-client");
			if (val>0) {
				alert("The client has been sent to Deleted Clients list.");
				loadPage(document.getElementById('content'),'member_deleted.php');
			} else { 
				alert("Failed to delete. Please try again.");
			}
		}
		break;
	case "delete-lead":
		var ans = confirm("Are you sure you want to permanently delete this record?");
		if (ans) {
			var val = chkPg("leads_update_status.php?id="+leadID+"&cmd=delete-lead");
			if (val>0) {
				alert("The record has been deleted permanently.");
				loadPage(document.getElementById('content'),'leads_deleted.php');
			} else { 
				alert("Failed to delete. Please try again.");
			}
		}
		break;
	case "delete-client":
		var ans = confirm("Are you sure you want to permanently delete this record?");
		if (ans) {
			var val = chkPg("leads_update_status.php?id="+leadID+"&cmd=delete-client");
			if (val>0) {
				alert("The record has been deleted permanently.");
				loadPage(document.getElementById('content'),'leads_deleted.php');
			} else { 
				alert("Failed to delete. Please try again.");
			}
		}
		break;
	case "restore-lead":
		var ans = confirm("Are you sure you want to restore the lead?");
		if (ans) {
			var val = chkPg("leads_update_status.php?id="+leadID+"&cmd=restore");
			if (val>0) {
				alert("The lead has been restored to your current leads list.");
				loadPage(document.getElementById('content'),'leads_deleted.php');
			} else { 
				alert("Failed to restore. Please try again.");
			}
		}
		break;
	case "restore-client":
		var ans = confirm("Are you sure you want to restore the client?");
		if (ans) {
			var val = chkPg("leads_update_status.php?id="+leadID+"&cmd=restore");
			if (val>0) {
				alert("The client has been restored to your current clients list.");
				loadPage(document.getElementById('content'),'member_deleted.php');
			} else { 
				alert("Failed to restore. Please try again.");
			}
		}
		break;
  }
};
function viewTask(task_id) {
	loadPage(document.getElementById('content'), "task_view.php?task_id="+task_id);
};
function viewLoveAgent(loveagent_id,backURL) {
	loadPage(document.getElementById('content'), "loveagent_view.php?loveagent_id="+loveagent_id+"&backURL="+backURL);
};
function viewMember(member_id, bakURL) {
	if (!bakURL)	
		loadPage(document.getElementById('content'), "member_view.php?member_id="+member_id+"&bakURL=");
	else
		loadPage(document.getElementById('content'), "member_view.php?member_id="+member_id+"&bakURL="+bakURL); 
	calSetupMemberView();
}; 
function viewAlbum(id, bakURL) {
	loadPage(document.getElementById('content'), "member_album.php?member_id="+id+"&bakURL="+bakURL); 
};
function viewIntro(ID1, ID2, bakURL, typ) {
	var surl;
	var tipo;
	if (!bakURL) {
		surl = "";
	} else {
		surl = "&back="+bakURL;
	}
	if (!typ) {
		tipo = "";
	} else {
		tipo = "&typ=function";
	}
	loadPage(document.getElementById('content'), "intro_edit.php?ID1="+ID1+"&ID2="+ID2+"&cmd=edit"+surl+tipo);
	calSetupMatches();
};
function shwComment( val ) {
  window.showModalDialog("comment_edit.php?cid=" + val + "&XX=" + Math.random(),location,"dialogHeight:356px; dialogWidth:640px; status:no; scroll:no");
};
function viewLead(member_id) {
	loadPage(document.getElementById('content'), "leads_appt_edit.php?MID="+member_id);
	calSetupAppt();
};
function editMember(member_id) {
	loadPage(document.getElementById('content'), "member_edit.php?member_id="+member_id);
};
function editLead(member_id, laleadsid) {
	loadPage(document.getElementById('content'), "leads_edit.php?member_id="+member_id+"&LALEADSID="+laleadsid);
};
function editMM(ID) {
	loadPage(document.getElementById('content'), "mm_edit.php?ID="+ID);
};
function chkLivedOverseas(obj1, obj2) {
	if (obj1.checked) obj2.disabled = false;
	else obj2.disabled = true;
};
function propose(member_id) {
	loadPage(document.getElementById('content'), "match_find.php?member_id="+member_id);
}; 
function findMatch(str, divID, ID2) {
	loadPage(document.getElementById('findResult'), str); 
	if (divID == "btnIntro") {
		document.getElementById(divID).disabled=false;
		document.getElementById("ID2").value = ID2;
	}
}; 
function makeIntro(str) { 
	var id2 = document.getElementById("ID2").value;	
	str += "&ID2="+id2;
	loadPage(document.getElementById('content'), str); 
	//calSetupMatches();
}
function saveAppt(ID, LAID)	{ 
	var appt_dt = document.getElementById("appt_dt_id");
	var hour = document.getElementById("hour");
	var minute = document.getElementById("minute");
	var ampm = document.getElementById("ampm");	
	var appt_status = document.getElementById("appt_status");
	var comments = document.getElementById("comments");
	var appt_result = document.getElementById("appt_result");
	 
	var consultant = document.getElementById("consultant");	
	var pkg = document.getElementById("package");
	var paymode = document.getElementById("paymode");
	
	var txt = comments.value;
	if (txt.length > 0) {
		txt = escape(comments.value);
	} 														
	var str = "leads_appt_save.php?ID="+ID+"&LAID="+LAID+"&appt_dt="+appt_dt.value+"&hour="+hour.value+"&minute="+minute.value;
	str += "&ampm="+ampm.value+"&appt_status="+appt_status.value+"&comments="+txt+"&appt_result="+appt_result.value+"&consultant="+consultant.value;
	str += "&pkg="+pkg.value+"&paymode="+paymode.value;
	var val = chkPg(str);

	if (val) alert("Success!"); 
	else alert("Failed!");
}; 
function saveNotes(ID, LAID, obj) {    
	var txt = obj.value.trim();
	var str = "match_note_save.php?ID="+ID+"&LAID="+LAID;
	var val = 0;
	if (txt.length > 0) {
		txt = escape(obj.value);  						
		str += "&NOTE="+txt;
		val = chkPg(str);
		if (val) alert("Note saved!"); 
		else alert("Failed!");
	} else {
		alert("Please enter a note."); 
	}
	
};
function startUpload(){
      document.getElementById('f1_upload_process').style.visibility = 'visible';
      document.getElementById('f1_upload_form').style.visibility = 'hidden';
      return true;
};

function stopUpload(success, fpath){
      var result = '';
      if (success == 1){
         result = '<span>The file was uploaded successfully!<\/span><br/><br/>';
		 document.getElementById("imgContainer").innerHTML = "<img src='.."+fpath+"' border='0' width='150' />";	 
		 //alert(fpath);
      }
      else {
         result = '<span>There was an error during file upload!<\/span><br/><br/>';
      }
      document.getElementById('f1_upload_process').style.visibility = 'hidden';
      document.getElementById('f1_upload_form').innerHTML = result + '<input class="entries" name="myfile" type="file" size="30" />';
      document.getElementById('f1_upload_form').style.visibility = 'visible';      
      return true;
};
function checkSaveResult(success, fpath) {
	if (success == 1) {	
		loadPage(document.getElementById('content'), fpath);
		calSetupMatches();
	} else {
		alert("Saving Failed!");
	}
};
function SaveResult(success, fpath) {					
	if (success == 1) {
		loadPage(document.getElementById('content'), fpath);
	} else {
		alert("Transaction Failed!");
	}
};
function setPhoneComm(ID1, ID2, MEMBERID, DIVID, NAME) {
   var tlink=prompt("Please click OK to confirm that you have contacted this person.\n(You can also leave a comment below)","");
   if(tlink!=null) {	
   	  var comment = escape(tlink); 
   	  var URL = "save_phone_comm.php?ID1="+ID1+"&ID2="+ID2+"&memberID="+MEMBERID+"&comment="+comment;
      var val = chkPg(URL);	
	  if (val == 1) {
	  	DIVID.innerHTML = "Done by " + NAME + " today.";
	  }
   }
};
function addToFav(LAID, LANAME) {
 var ans = confirm("Add " + LANAME + " to your favorites?");
 if (ans) {
 	var val = chkPg("save_la_favorite.php?ID="+LAID); 
	if (val == 1) {
	  alert(LANAME + " has been added to your favorites.");
	  document.getElementById("divfav").innerHTML = "<span class='field_labels'>Added To Favorites</span>";
	} else {
	  alert("Failed to add " + LANAME + " to your favorites.");
	}
 }
};
function loadLAFIlters(val) {
	switch(val) {
		case "1":
			document.getElementById("c1").style.display = "block";
			document.getElementById("c2").style.display = "none";
			document.getElementById("la2").selectedIndex = 0;
			document.getElementById("la3").selectedIndex = 0;
			document.getElementById("la2").disabled = false;
			document.getElementById("la3").disabled = true;	
			break;
		case "2":
			document.getElementById("c1").style.display = "none";
			document.getElementById("c2").style.display = "block";
			document.getElementById("la2").selectedIndex = 0;
			document.getElementById("la3").selectedIndex = 0;
			document.getElementById("la2").disabled = true;
			document.getElementById("la3").disabled = false;
			break;
		default:
			document.getElementById("c1").style.display = "block";
			document.getElementById("c2").style.display = "none";
			document.getElementById("la2").selectedIndex = 0;
			document.getElementById("la3").selectedIndex = 0;
			document.getElementById("la2").disabled = true;
			document.getElementById("la3").disabled = true;
	}
};
function selectAll(X) {
  var FM = X.form, z = 0;
  for(z=0; z<FM.length;z++){
    if(FM[z].type == 'checkbox' && FM[z].name != 'checkall'){
      FM[z].checked = X.checked;
    }
  }
};
function deletePackage(package_id, tblname) {
 var ans = confirm("Are you sure you want to delete this package?");
 if (ans) {
 	var val = chkPg("packages_delete.php?PACKAGE_ID="+package_id+"&TBL="+tblname); 
	if (val == 1) {
	  alert("Package has been deleted.");
	  loadPage(document.getElementById('content'),'packages.php');
	} else {
	  alert("Delete failed.");
	}
 }
};
function is_numeric(input){
    return !isNaN(input);
};
function IsNumeric(sText) {
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) { 
      _Char = sText.charAt(i); 
      if (ValidChars.indexOf(_Char) == -1) {
         IsNumber = false;
      }
   }
   return IsNumber;
};
function loadPreferences(pref, id) { 
	var prefurl = 'match_preference.php?pref='+pref+'&member_id='+id;
	switch(pref) {
		case '0':
			clearForm(document.getElementById('laForm'));
			break;
		default:
			loadPage(document.getElementById('findResult'), prefurl);
			break;
	}
};
function updatePackageExpireBy(obj, tblname) {
	var ans = confirm("Update membership expiration type?");
	if (ans) { 
		var val = chkPg("packages_delete.php?EXPIRE="+obj.value+"&TBL="+tblname);
		if (val == 1) { 
			alert("Update Success!");
		} else {
			alert("Update Failed. Please try again.");
		}
	} else {
		if (obj.selectedIndex == 0) obj.selectedIndex = 1;
		else obj.selectedIndex = 0;
	}
};
function clearForm(oForm) {
   
  var elements = oForm.elements;
   
  oForm.reset();

  for(i=0; i<elements.length; i++) {
     
  field_type = elements[i].type.toLowerCase();
  //alert(field_type);
  switch(field_type) {
 
    case "text":
    case "password":
    case "textarea":
      elements[i].value = "";
      break;
       
    case "radio":
    case "checkbox":
        if (elements[i].checked) {
          elements[i].checked = false;
      }
      break;
    case "select-one":				 
	  elements[i].selectedIndex = 0;
	  break;
    case "select-multiple":
      elements[i].selectedIndex = -1;
      break;
    default:
      break;
  }
    }
};
function chkApptResult(val) {
	if (val == 1) {
		document.getElementById("package").disabled = false; 
		document.getElementById("paymode").disabled = false; 
		document.getElementById("success_comment").disabled = true;
	} else {
		document.getElementById("package").disabled = true; 
		document.getElementById("paymode").disabled = true;	
		document.getElementById("success_comment").disabled = false;
	}
};
function chkAttemptResult(val) {
	if (val == 6 || val == 7 || val == 8) {
		document.getElementById("callback_comment").disabled = false;
		document.getElementById("callback_comment").focus(); 
	} else {
		document.getElementById("callback_comment").disabled = true; 
	}
};
function onValidateLeadsAppt() {
	var fm = document.forms['laForm']; 
	if (fm['contact_attempt'].value >= 6 && fm['contact_attempt'].value <= 8) {
		if (fm['callback_comment'].value.trim() == "") {
			alert("Please enter a callback comment.");
			fm['callback_comment'].focus();
			return false;
		}
	}
	if (fm['appt_result'].value == 1) {
		if (fm['package'].value == "") {
			alert("Please choose a package."); 
			fm['package'].focus();
			return false;
		} else if (fm['paymode'].value == "") {
			alert("Please choose a mode of payment.");
			fm['paymode'].focus();
			return false;
		}
	} else if (fm['appt_result'].value == "") {
		//do nothing
	} else {
		if (fm['callback_comment'].value.trim() == "") {
			alert("Please enter a callback comment."); 
			fm['callback_comment'].focus();
			return false;				   
		}
	} 
	return true;
}; 
function onValidateBillingDetails() {	
    var form = document.forms['laForm'];
    if (!(validateRequiredField(form['cardno'], ''))) {
      alert("Please enter credit card no.");
      return false;
    }
    if (!(validateMaxLength(form['cardno'], '','20'))) {
      alert("Please enter not more than 20 characters for credit card no.");
      return false;
    }
	if (!(validateRequiredField(form['vcode'], ''))) {
      alert("Please enter credit card verification code.");
      return false;
    }
    if (!(validateMaxLength(form['vcode'], '','3'))) {
      alert("Please enter not more than 3 characters for verification code.");
      return false;
    }
	if (!IsNumeric(form['vcode'].value)) {
	  alert("Please enter a numeric value for verification code.");
	  return false;
	}
    return true;
};
function mainNav(obj, name, e) {
	var clickedNav = document.getElementById("clickedNav");	
	var prevBtn = document.getElementById(clickedNav.value); 
	var hovered = document.getElementById("hovered");
	var div_id = document.getElementById("div_"+name); 
	var prev_hover = document.getElementById("div_"+hovered.value);
	switch(e) {
		case "click":	
			if (clickedNav.value != name) {							
				prevBtn.src = "../images/"+clickedNav.value+"_norm.gif";
				prevBtn.style.paddingTop='7px';
				obj.src = "../images/"+name+"_over.gif"; 
				obj.style.paddingTop='0px';
			} 
			clickedNav.value = name;
			break;
		case "over":
			obj.src = "../images/"+name+"_over.gif";
			if (prev_hover) prev_hover.style.display = "none";   
			hovered.value = name;
			if (div_id) div_id.style.display = "block";
			break;
		case "out":	
			if (clickedNav.value != name) {							
				obj.src = "../images/"+name+"_norm.gif"; 
			}
			if (hovered.value == name) {
				if (div_id) div_id.style.display = "block";
			}
			break;
	}
};
function hideMe(divid) {		 
	if (document.getElementById(divid))
	document.getElementById(divid).style.display = "none";
};
function generateKey() {
	var key = document.getElementById("key");
	if (key) key.innerHTML = '<img src="../include/autokey.php?'+generatepass(7)+'" width="120" height="50" />';
};
function generatepass(plength){
	var keylist="abcdefghijklmnopqrstuvwxyz123456789"
	var temp=''
	for (i=0;i<plength;i++) {
		temp+=keylist.charAt(Math.floor(Math.random()*keylist.length));
	}
	return temp;
};
function chkBCI(obj) {
	if(obj.checked) {
		if (document.getElementById("first_name")) document.getElementById("first_name").disabled = true; 
		if (document.getElementById("last_name")) document.getElementById("last_name").disabled = true;
		if (document.getElementById("company")) document.getElementById("company").disabled = true;	
		if (document.getElementById("country")) document.getElementById("country").disabled = true;	
		if (document.getElementById("state")) document.getElementById("state").disabled = true;	
		if (document.getElementById("address1")) document.getElementById("address1").disabled = true; 
		if (document.getElementById("address2")) document.getElementById("address2").disabled = true;
		if (document.getElementById("city")) document.getElementById("city").disabled = true;
		if (document.getElementById("zip")) document.getElementById("zip").disabled = true;	
		if (document.getElementById("cardtype")) document.getElementById("cardtype").focus();
	} else {
		if (document.getElementById("first_name")) document.getElementById("first_name").disabled = false; 
		if (document.getElementById("last_name")) document.getElementById("last_name").disabled = false;
		if (document.getElementById("company")) document.getElementById("company").disabled = false;	
		if (document.getElementById("country")) document.getElementById("country").disabled = false;	
		if (document.getElementById("state")) document.getElementById("state").disabled = false;	
		if (document.getElementById("address1")) document.getElementById("address1").disabled = false; 
		if (document.getElementById("address2")) document.getElementById("address2").disabled = false;
		if (document.getElementById("city")) document.getElementById("city").disabled = false;
		if (document.getElementById("zip")) document.getElementById("zip").disabled = false;
	}
};
function deleteTask(taskID) { 
	var ans = confirm("Are you sure you want to delete this task?");
	if (ans) {
		var v = parseInt(chkPg("task_delete.php?id="+taskID));
	    if (v == 1) {
			alert("Task has been deleted!");
			loadPage(document.getElementById('content'),'task_list.php');
	    } else {
			alert("Unable to delete task. Please try again later.");
	    } 
	} 
	return false;
};
function onValidateTask() { 
	var form = document.forms['laForm'];
	if (form['description'].value == '') {
		alert("Please enter a description for the task.");
		form['description'].focus();
		return false;
	}
	return true;
};
function deleteComment(commentID, memberID) {
	var ans = confirm("Are you sure you want to delete this comment?");
	if (ans) {
		var v = parseInt(chkPg("comment_delete.php?id="+commentID));
	    if (v == 1) {
			alert("Comment has been deleted!");
			viewMember(memberID, 'blank');
	    } else {
			alert("Unable to delete comment. Please try again later.");
	    } 
	} 
	return false;
};
function onSaveComment() {
	var form = document.forms['laForm'];
    if (!(validateRequiredField(form['new_comment'], ''))) { 
      alert("Please enter a comment.");						 
	  form['new_comment'].focus();
      return false;
    }
	if (form['followup_by'].value != '') {
	  	if (!(validateRequiredField(form['followup_dt'], ''))) { 
	      alert("Please enter a follow up date.");						 
		  form['new_comment'].focus();
	      return false;
	    }
	}
	if (form['followup_dt'].value != '') {
	  	if (form['followup_by'].value == '') { 
	      alert("Please choose a matchmaker to follow up the comment.");						 
		  form['followup_by'].focus();
	      return false;
	    }
	}
	return true;
};
function onValidateContact() {	
    var form = document.forms['laForm'];
    if (!(validateRequiredField(form['sender'], 'First Name'))) {
      alert("Please enter your name.");
	  form['sender'].focus();
      return false;
    }
    if (!(validateMaxLength(form['sender'], 'First Name','50'))) {
      alert("Please enter not more than 50 characters.");
	  form['sender'].focus();
      return false;
    }  
    if (!(validateRequiredField(form['email'], 'Email Address'))) {
      alert("Please enter your email.");
	  form['email'].focus();
      return false;
    }
    if (!(validateMaxLength(form['email'], 'Email Address','50'))) {
      alert("Please enter not more than 50 characters."); 
	  form['email'].focus();
      return false;
    }
    if (!(validateEmailField(form['email'], 'Email Address'))) {
      alert("Please enter a valid email.");
	  form['email'].focus();
      return false;
    } 
    if (!(validateRequiredField(form['akey'], 'Verify Key'))) {
      alert("Please enter verification key."); 
	  form['akey'].focus();
      return false;
    }
    if (!(validateVKeyField(form['akey']))) {
      alert("Invalid verification key. Please re-enter."); 
	  form['akey'].focus();
      return false;
    }
    return true;
}; 
function onSaveHearAbout() {
	var form = document.forms['laForm'];
    if (!(validateRequiredField(form['name'], ''))) { 
      alert("Please enter the advertiser's name.");						 
	  form['name'].focus();
      return false;
    }
	if (!(validateMaxLength(form['name'], '','25'))) {
      alert("Please enter not more than 25 characters.");
	  form['name'].focus();
      return false;
    }  
	return true;
}; 
function updateHearAbout(cmd, hid, name) {
	switch(cmd) {
		case "edit":
			document.laForm.cmd.value = "edit";	
			document.laForm.hid.value = hid; 
			document.laForm.name.value = name;  
			break;
		case "delete":
			var ans = confirm("Are you sure you want to delete this item?");
			if (ans) {
				document.laForm.cmd.value = "delete"; 
				document.laForm.hid.value = hid; 
				document.laForm.submit();
			}
			break;	
	}
};
function deleteMessage(FM) {
	if (!checkIfChecked(FM)) {
		alert("Please select a message to delete.");
		return false;
	}
	var ans = confirm("Are you sure you want to delete the selected message/s?");
	return ans;
};
function checkIfChecked(FM) {
  var z = 0;
  for(z=0; z<FM.length;z++){
    if(FM[z].type == 'checkbox'){
	  if (FM[z].checked) return true
    }
  }
  return false;
};
function deletePhoto(ID, memberID) {	  
	var ans = confirm("Are you sure you want to delete this photo?");
	var val = 0;
	if (ans) {
		val = parseInt(chkPg("member_album_update.php?ID="+ID+"&cmd=delete")); 
		if (val > 0)
			alert("Photo has been deleted!"); 
		else
			alert("Failed to delete the photo. Please try again.");
	}
	viewAlbum(memberID, '');
};
function setProfilePhoto(ID, memberID) {	  
	var ans = confirm("Are you sure you want to set this a profile photo?");
	var val = 0;
	if (ans) {
		val = parseInt(chkPg("member_album_update.php?ID="+ID+"&cmd=profile")); 
		if (val > 0)
			alert("Information Saved!"); 
		else
			alert("Failed to update database. Please try again.");
	}
	viewAlbum(memberID, '');
};
function sortList(val, phpFile) {  
	if (phpFile)
		loadPage(document.getElementById('content'),phpFile+'?cmd=sort&sort='+val);
};
function loadContactList(optVal) {
	loadPage(document.getElementById('result'),'load_contacts.php?s='+optVal);
};
function addContactsToTextbox() {
	var f = document.laForm;
	if (f) {
		f.rec_to.value = (f.rec_to.value.trim() == "") ? f.txt_to.value : f.rec_to.value + f.txt_to.value;
		f.rec_cc.value = (f.rec_cc.value.trim() == "") ? f.txt_cc.value : f.rec_cc.value + f.txt_cc.value;
		f.rec_bcc.value = (f.rec_bcc.value.trim() == "") ? f.txt_bcc.value : f.rec_bcc.value + f.txt_bcc.value;
		f.txt_to.value = ""; 
		f.txt_cc.value = ""; 
		f.txt_bcc.value = "";
	} 
	showHideContactList(0);
};
function addContactToTextbox(obj) {
	var f = document.laForm;
	if (f) {
		if (obj.value == '')
			obj.value = document.laForm.clickedRec.value + ', ';
		else										   
			obj.value += document.laForm.clickedRec.value + ', ';
	} 
	return false;
};
function onContactMouseEvent(val, obj, e, objid) {
	var f = document.laForm;
	var g;					 
	switch (e) {
		case "click":
			f.clickedRec.value = val;
			obj.style.backgroundColor='#5BC3E0'; 
			g = document.getElementById(f.clickedRow.value);				 
			if (g) {
				g.style.backgroundColor=''; 
			}
			f.clickedRow.value = objid; 
			break;
		case "over":
			obj.style.backgroundColor='#5BC3E0'; 
			break;
		case "out":	
			if (f.clickedRec.value == '') {
				obj.style.backgroundColor=val;
			} else {
				if (objid != f.clickedRow.value) {
					obj.style.backgroundColor=val;
				}
			}
			break;
	} 
};
function showHideContactList(typ) {
	switch(typ) {
		case 0:
			document.getElementById('div_contacts').style.display='none';
			return false;
			break;
		case 1:	 
			document.getElementById('div_contacts').style.display='block';
			return false;
			break;
	}
};
function lockMM(ID, cmd) {	
	var strConfirm, strPrompt;
	if (cmd == 'unlock') {
		strConfirm = "Are you sure you want to unlock this matchmaker profile?";
		strPrompt = "Matchmaker profile has been unlocked!";
	} else {
		strConfirm = "Are you sure you want to lock this matchmaker profile?";
		strPrompt = "Matchmaker profile has been locked!";
	}  
	var ans = confirm(strConfirm);
	var val = 0;
	if (ans) {
		val = parseInt(chkPg("mm_lock.php?ID="+ID+"&cmd="+cmd)); 
		if (val > 0) {
			alert(strPrompt); 
		} else {
			alert("Failed to update database. Please try again.");
		}
	}
	loadPage(document.getElementById('content'),'mm_list.php');
};