	 /**
 * Validation Class
 * @version 1.0
 */
//Declaring the class
//var Validator = Class.create();

////defining the rest of the class implementation
//Validator.prototype = {
//
//	//initialize settings for validation
//	initialize: function(settings)
//	{
//
//		//get all settings
//		this.settings = settings;
//		window.settings = this.settings;
//		//get form Id
//		this.btnId = $(this.settings["btnId"]);
//		frm = this.settings["formId"];
//
//		if(this.settings["validEmail"]){
//			this.validEmail = this.settings["validEmail"];
//			var eMailFields = this.validEmail;
//		}else{
//			var eMailFields = '';
//		}
//
//		if(this.settings["isMultiple"]){
//			this.isMultiple = this.settings["isMultiple"];
//			var multipleFields = this.isMultiple;
//		}else{
//			var multipleFields = '';
//		}
//
//		if(this.settings["totMulfield"]){
//			this.totMulfield = this.settings["totMulfield"];
//			var totMulField = this.totMulfield;
//		}else{
//			var totMulfield = '';
//		}
//
//		if(this.settings["isMinlen"]){
//			this.isMinlen = this.settings["isMinlen"];
//			var isMinlen = this.isMinlen;
//		}else{
//			var isMinlen = '';
//		}
//
//		if(this.settings["isEqualsNew"]){
//			this.isEqualsNew = this.settings["isEqualsNew"];
//			var isEqualsNew = this.isEqualsNew;
//		}else{
//			var isEqualsNew = '';
//		}
//
//		if(this.settings["isSupportfile"]){
//			this.isSupportfile = this.settings["isSupportfile"];
//			var isSupportfile = this.isSupportfile;
//		}else{
//			var isSupportfile = '';
//		}
//		if(this.settings["isPhoneNo"]){
//			this.isPhoneNo = this.settings["isPhoneNo"];
//			var isPhoneNo = this.isPhoneNo;
//		}else{
//			var isPhoneNo = '';
//		}
//		/*if(opt["isMinlen"]){
//				if(opt["minlen"]){
//					var minlength = opt["minlen"][0];
//					var minmsg = opt["minlen"][1];
//				}
//				var optlen = opt["isMinlen"];
//				for(k=0;k<optlen.length;k++){
//					var lengthinput = opt["isMinlen"][k];
//					if($(lengthinput)){
//						strchk = $(lengthinput).value;
//						if(strchk < minlength){
//							alert(minmsg);
//							return false;
//						}
//					}
//				}
//			}
//		*/
//		this.btnId.onclick = function()
//		{
//			opt = window.settings;
//			var error = '';
//			validationTypes = new Array("isRequired", "isEmail", "isNumeric","isFile","isChecked");
//			var error = " Errors have occured during the processing of your form.\n\nPlease make the following corrections:\n\n";
//			var errorMsg = 0;
//			var fid="";
//			var n = 0;
//
//			if (opt['additionalCheck']) {
//			    var fn = opt['additionalCheck'];
//			    var result = fn();
//			    if (result == false) {
//				return false;
//			    }
//			}
//			if(opt['isMultiple'])
//			{
//				while(n<(opt['isMultiple']).length)
//				{
//					var str ='';
//					arr = opt['isMultiple'][n];
//					if($(''+totMulField+''))
//						var totmul = $(''+totMulField+'').value;
//					for(var i=1;i<=parseInt(totloop);i++)
//					{
//						str = arr+i;
//						if($(str))
//						{
//							if(trim($(str).value)=='' || trim($(str).value)==null)
//							{
//								alert("Enter the item value");
//								$(str).focus();
//								return false;
//							}
//						}
//					}
//				n++;
//				}
//			}
//
//			if(opt['isChkPassLen'])
//			{
//				var vPassword 	= 	$(opt['isChkPassLen'][0]).value;
//				if(vPassword != ''){
//					ChkPassLen(vPassword);
//					return false;
//				}
//
//			}
//
//			for(n=0; n<validationTypes.length; n++)
//			{
//				var x = opt[validationTypes[n]];
//				if(x != null)
//				{
//					for(i=0; i<x.length; i++)
//					{
//						inputField = $(x[i]);
//						//alert(x[i]);
//						switch (validationTypes[n])
//						{
//							case "isRequired":
//								if(eMailFields != ''){
//									for(j=0;j<eMailFields.length;j++){
//										if(eMailFields[j] == x[i]){
//											if(trim(inputField.value) != ''){
//
//												xs =  isEmail(inputField.value);
//												if(xs == false){
//													fid+= inputField.id+",";
//													validationmsg1 = inputField.getAttribute('validationmsg');
//													validationmsg = "";
//													error += " * "+validationmsg1 +"\n";
//
//													errorMsg = 1;
//												}
//											}else{
//												valid = !isRequired(inputField.value);
//											}
//										}else{
//											valid = !isRequired(inputField.value);
//										}
//									}
//								}
//								//alert(error);
//								if(multipleFields != ''){
//									for(a=0;a<multipleFields.length;a++){
//										var msgstar ="";
//										var msgstar1 = "";
//										var validationmsga = "";
//										if(multipleFields[a] == x[i])
//										{
//											for(k=1;k<=totmul;k++)
//											{
//												var mulfieldId = x[i]+k;
//												var mulfieldobj = $(''+mulfieldId+'');
//												if(mulfieldobj)
//												{
//													valid = !isRequired(mulfieldobj.value);
//													if(!valid)
//													{
//														fid+= mulfieldobj.id+",";
//														validationmsg1 = mulfieldobj.getAttribute('validationmsg');
//														validationmsg = "";
//														error += " * "+validationmsg1 +"\n";
//														errorMsg = 1;
//													}
//												}
//											}
//										}
//										else
//										{
//											valid = !isRequired(inputField.value);
//										}
//									}
//								}
//								if(isEqualsNew != ''){
//									for(nw=0;nw<isEqualsNew.length;nw++){
//										var compflds = isEqualsNew[nw];
//										var cmpfd = compflds.split(",");
//										if(x[i] == cmpfd[1]){
//											if($(cmpfd[1]).value != ''){
//												if($(cmpfd[0]).value != $(cmpfd[1]).value){
//													fid+= $(cmpfd[1]).id+",";
//													error += " * "+cmpfd[2]+"\n";
//													errorMsg = 1;
//													//alert(error);
//												}
//											}
//										}
//									}
//								}
//					if(isPhoneNo != ''){
//				  var phcompid = isPhoneNo[0];
//					// alert(phcompid);
//                  var phflds = isPhoneNo[1];
//				  //alert(phflds);
//                  var phmsg = isPhoneNo[2];
//				  var phlnmsg = isPhoneNo[3];
//                  var fidsel = '';
//                  if(x[i] == phcompid){
//                  	if($(phflds+'1').value == '' || $(phflds+'2').value == '' || $(phflds+'3').value == ''){
//						if($(phflds+'1').value == ''){
//						    if(fidsel == ''){
//							fid+= $(phflds+'1').id+",";
//							fidsel = '1';
//                        }
//                        $(phflds+'1').style.background = "#FFFF99";
//  						$(phflds+'1').style.border = "1px solid #000000";
//                      }
//                      if($(phflds+'2').value == ''){
//                        if(fidsel == ''){
//                          fid+= $(phflds+'2').id+",";
//                          fidsel = '1';
//                        }
//                        $(phflds+'2').style.background = "#FFFF99";
//  								      $(phflds+'2').style.border = "1px solid #000000";
//                      }
//                      if($(phflds+'3').value == ''){
//                        if(fidsel == ''){
//                          fid+= $(phflds+'3').id+",";
//                          fidsel = '1';
//                        }
//                        $(phflds+'3').style.background = "#FFFF99";
//  								      $(phflds+'3').style.border = "1px solid #000000";
//
//                      }
//					  //alert($(phflds+'1').value.length);
//                      error += " * "+phmsg+"\n";
//					  errorMsg = 1;
//                    }
//				 }
//			 }
//								if(isMinlen != ''){
//									var isMulInput = isMinlen[0].split(',');
//									var isMulLen = isMinlen[1].split(',');
//									var isMulMsg = isMinlen[2].split(',');
//									for(b=0;b<isMulInput.length;b++){
//										var msgstar ="";
//										var msgstar1 = "";
//										var validationmsga = "";
//										if(isMulInput[b] == x[i]){
//											var mulfieldId = isMulInput[b];
//											var mulfieldobj = $(''+isMulInput[b]+'');
//											if(mulfieldobj){
//												if(mulfieldobj.value != ''){
//													valid = isMinLen(mulfieldobj.value,isMulLen[b]);
//													//alert(valid);
//													if(valid == 0){
//														fid+= mulfieldobj.id+",";
//														validationmsg1 = isMulMsg[b];
//														validationmsg = "";
//														error+= " * "+validationmsg1 +"\n";
//														//alert(error);
//														errorMsg = 1;
//													}
//												}else{
//
//													if(inputField)
//
//														valid = !isRequired(inputField.value);
//												}
//											}
//										}else{
//											if(inputField)
//
//												valid = !isRequired(inputField.value);
//
//										}
//									}
//								}
//								if(isSupportfile != '')
//								{
//									var inputtype 	= isSupportfile[0];
//									var extensions 	= isSupportfile[1].split(',');
//									var superrormsg = isSupportfile[2];
//									if(x[i] == inputtype){
//										if($(inputtype).value != ''){
//											var ss = chkExtesion(extensions.toString().toLowerCase(),$(inputtype).value);
//
//											if(ss == extensions.length){
//												fid+= $(inputtype).id+",";
//												error+= " * "+superrormsg+"\n";
//												errorMsg = 1;
//											}else{
//												if(inputField)
//													valid = !isRequired(inputField.value);
//											}
//										}else{
//												if(inputField)
//													valid = !isRequired(inputField.value);
//											}
//									}else{
//										if(inputField)
//											valid = !isRequired(inputField.value);
//									}
//								}
//								else
//								{
//									if(inputField)
//										valid = !isRequired(inputField.value);
//								}
//
//								//if(inputField)
//								//		valid = !isRequired(inputField.value);
//								break;
//							case "isEmail" :
//								valid =  isEmail(inputField.value);
//								break;
//							case "isNumeric":
//								valid = isNumeric(inputField.value);
//								break;
//							case "isFile":
//								valid = isFile(inputField.value);
//								break;
//							case "isChecked":
//								valid = isChecked(inputField.id,frm);
//								//alert(valid);
//								break;
//						}
//
//						if(!valid)
//						{
//							//alert(valid);
//              if(inputField.id != 'vPhone1'){
//							fid+= inputField.id+",";
//							validationmsg  = inputField.getAttribute('validationmsg');
//							//alert();
//							if(trim(inputField.value) == '' || inputField.type == 'checkbox'){
//								inputField.style.background = "#FFFF99";
//								inputField.style.border = "1px solid #000000";
//								error += " * "+validationmsg +"\n";
//							}else{
//								error = error;
//							}
//              }
//							errorMsg = 1;
//
//						}
//					}
//				}
//			}
//			//Chk Equality of fields value
//			/*if(opt["isEqualsNew"]){
//				var isEqualsNew = opt["isEqualsNew"];
//				for(nw=0;nw<isEqualsNew.length;nw++){
//					var compflds = isEqualsNew[nw];
//					var cmpfd = compflds.split(",");
//					if($(cmpfd[0]).value != $(cmpfd[1]).value){
//						errorMsg == 1
//						error += " * "+cmpfd[2]+"\n";
//
//					}
//				}
//			}*/
//			//alert(isEqualsNew[0]);
//
//
//			if(errorMsg == 1)
//			{
//				alert(error);
//				var firstId = fid.split(",");
//				$(firstId[0]).focus();
//				return false;
//			}
//			if(opt['isDatecheck'])
//			{
//				var dEventdate1 	= 	$(opt['isDatecheck'][0]).value;
//				var AddedDate1		=	$(opt['isDatecheck'][1]).value;
//				if(dEventdate1 != '' && AddedDate1 != ''){
//					chkdate(dEventdate1,AddedDate1);
//					return false;
//				}
//			}
//
//			if(opt['isEquals']){
//				var eq1 	= 	$(opt['isEquals'][0]).value;
//				var eq2		=	$(opt['isEquals'][1]).value;
//				var eqmsg 	= 	opt['isEquals'][2];
//				if(eq1 != eq2){
//					alert(error +"* "+eqmsg);
//					$(opt['isEquals'][1]).focus();
//					return false;
//				}
//
//			}
//			//return false;
//			//return false;
//			if(opt['isChkEmail'])
//			{
//				var vEmail 	= 	$(opt['isChkEmail'][0]).value;
//				var vConEmail		=	$(opt['isChkEmail'][1]).value;
//				if(vEmail != '' && vConEmail != ''){
//					ChkEmail(vEmail,vConEmail);
//					return false;
//				}
//
//			}
//			if(opt['isChkPassword'])
//			{
//				var vPassword 	= 	$(opt['isChkPassword'][0]).value;
//				var vConPassword		=	$(opt['isChkPassword'][1]).value;
//				if(vPassword != '' && vConPassword != ''){
//					ChkPassword(vPassword,vConPassword);
//					return false;
//				}
//
//			}
//			if(opt['isCaptcha']){
//        captchaval 	= 	$(opt['isCaptcha'][0]).value;
//        captchamsg 	= 	opt['isCaptcha'][1];
//
//		}
//
//			if(opt['isDuplicate'])
//			{
//				var fieldval 	= 	$(opt['isDuplicate'][0]).value;
//				var compId		=	opt['isDuplicate'][1];
//				var tablename 	=	opt['isDuplicate'][2];
//				var primeid		=	opt['isDuplicate'][3];
//				chkDuplicate(fieldval,compId,tablename,primeid,'')
//				return false;
//			}
//			if(opt['isValidFax'])
//			{
//				//alert(opt['isDuplicateMultiple'].length);
//				if(opt['isValidFax'] != ''){
//					if(opt['isValidFax'][0])
//					{
//						arr = opt['isValidFax'][0].split(',');
//						field = opt['isValidFax'][1].split(',');
//						msg = opt['isValidFax'][2].split(',');
//						//alert(arr);
//						for(i=0;i<arr.length;i++)
//						{
//							//alert(field[i]);
//							var valid = chkValidFax(arr[i],field[i],msg[i]);
//							//return false;
//							if(valid == false)
//							{
//								return false;
//							}
//						}
//					}
//				}
//			}
//
//			 if(opt['isDuplicateMultiple'])
//			{
//				//alert(opt['isDuplicateMultiple'].length);
//				if(opt['isDuplicateMultiple'] != ''){
//					if(opt['isDuplicateMultiple'][0])
//					{
//						//var str ='';
//						arr = opt['isDuplicateMultiple'][0].split(',');
//						//alert(arr);
//						var pars ='';
//						for(i=0;i<arr.length;i++)
//						{
//							pars+= '&'+arr[i]+'='+$(arr[i]).value;
//
//						}
//					}
//					//alert(pars);
//				  //chkMulDuplicate(pars,opt['isDuplicateMultiple'][2],opt['isDuplicateMultiple'][3])
//					chkDuplicate('','','',opt['isDuplicateMultiple'][2],opt['isDuplicateMultiple'][3],pars);
//					return false;
//					//alert(field[0]);
//				}
//			}
//		 this.form.submit();
//		}
//	}
//};


var frm;
var duplicate='0';
var captchaval 	= 	'';
var captchamsg 	= 	'';
var already_exist = 0;
var capchamatch = 0;

// returns true if the string is not empty
function isRequired(str){
  var nstr = jQuery.trim(str);
  return (nstr == null) || (nstr.length == 0);
}
function isMinLen(str,minlen){
	if(str.length < minlen)
		return 0;
	else
		return 1;
}

function chkExtesion(extensions,fileval){
	var ssl = "0";
	//alert(fileval);
	for(e=0;e<extensions.length;e++)
    {
		if((fileval.lastIndexOf(""+extensions[e]+"")) == -1)
        {
			ssl++;
		}
	}

	return ssl;
}
function isFile(str){
	var len = str.substr(str.length - 3 ,3);
	var strn = '';
	strn = len.toLowerCase();
	if(strn != "pdf" && strn != "")
	{
		return (strn == null);
	}
	else
	{
		if(strn == '')
		strn = 'str';
		return strn;
	}
}

// returns true if the string is a valid email
function isEmail(str){
	var nstr = jQuery.trim(str);
	if(isRequired(nstr)) return false;
	var re = /^[^\s()<>@,;:\/]+@\w[\w\.-]+\.[a-z]{2,}$/i
	return re.test(nstr);
}

// returns true if the string only contains characters 0-9 and is not null
function isNumeric(str){
	var nstr = jQuery.trim(str);
	if(isRequired(nstr)) return false;
	var re = /[\D]/g
	if (re.test(nstr)) return false;
	return true;
}

// compare length of password.
function CheckLength(val,vPassword)
{
	var length = val.length;
	if(length < 6)
	{
		alert("Password should be six characters or more.");
		jQuery('#vPassword').focus();
		return false;
	}
	else
	{
		return true;
	}

}

// compare email and  Confirm email.
function ChkEmail(email,confemail)
{
	if(email != confemail)
	{
		alert("Email and confirm email should be the same");
		jQuery('#vConEmail').val('');
		jQuery('#vEmail').focus();
		return false;
	}
	else
	{
		jQuery('#frm')!= ''
		jQuery('#frm').submit();
	}

}

function chkValidFax(id,field,msg)
{

if(jQuery('#'+field+'1').val() != '' || jQuery('#'+field+'2').val() != '' || jQuery('#'+field+'3').val() != ''){
	if(jQuery('#'+field+'1').val() != '' && (jQuery('#'+field+'2').val() == '' || jQuery('#'+field+'3').val() == '')){
		if(jQuery('#'+field+'2').val() == ''){
			jQuery('#'+field+'2').focus();
		}else{
			jQuery('#'+field+'3').focus();
		}
			alert(msg);
			return false;
	}else if(jQuery('#'+field+'2').val()!= '' && (jQuery('#'+field+'1').val() == '' || jQuery('#'+field+'3').val()== '')){
		if(jQuery('#'+field+'1').val() == ''){
			jQuery('#'+field+'1').focus();
		}else{
			jQuery('#'+field+'3').focus();
		}
			alert(msg);
			return false;
	}else if(jQuery('#'+field+'3').val() != '' && (jQuery('#'+field+'1').val() == '' || jQuery('#'+field+'2').val() == '')){
		if(jQuery('#'+field+'1').val() == ''){
			jQuery('#'+field+'1').focus();
		}else{
			jQuery('#'+field+'2').focus();
		}
			alert(msg);
			return false;
	}else if(jQuery('#'+field+'1').val().length < 3 || jQuery('#'+field+'2').val().length < 3 || jQuery('#'+field+'3').val().length < 3){
		if(jQuery('#'+field+'1').val().length < 3){
			jQuery('#'+field+'1').focus();
		}else if(jQuery('#'+field+'2').val().length < 3){
			jQuery('#'+field+'2').focus();
		}else if(jQuery('#'+field+'3').val().length < 3){
			jQuery('#'+field+'3').focus();
		}
		alert(msg);
		return false;
	}
}
}

// compare Password and  Confirm Password.
function ChkPassword(password1,Password2)
{
	if(password1 != Password2)
	{
		alert("Password and confirm password should be the same");
		jQuery('#vConPassword').val('');
		jQuery('#vPassword').focus();
		return false;
	}
	else
	{
		if(frm != '')
		jQuery(frm).submit();
	}

}

// check for any Checkbox is selected or not
function isChecked(Id,frmname){
	var flag_chadd_eq=0;
  	for(var k=0;k<jQuery('#'+frmname).elements.length;k++)
  	{
    	if(jQuery('#'+frmname).elements[k].id==Id)
        {
        	if(jQuery('#'+frmname).attr('checked')==true)
          	{
            	flag_chadd_eq=1;
			}
		}
	}
	if(flag_chadd_eq=='0'){return false;}else{return true;}
}
function chkdate(dEventdate,AddedDate)
{

	if(dEventdate < AddedDate)
	{
		alert("Please select valid date.");
		return false;
	}
	else
	{
		jQuery(frm).submit();
	}

}

function removeHTMLTags(str){
	strInputCode = str.replace(/&(lt|gt);/g, function (strMatch, p1){
	 	return (p1 == "lt")? "<" : ">";
	});
	var strTagStrippedText = strInputCode.replace(/<\/?[^>]+(>|$)/g, "");
	var repStr = strTagStrippedText.replace(/^[\s(&nbsp;)]+/g,'').replace(/[\s(&nbsp;)]+$/g,'');
	return repStr;
}
function trim(s)
{
 	return s.replace(/^\s+|\s+$/g, '');
}
function chkDuplicate(val,compid,table,primeid){
    if (jQuery('#'+primeid)) {
	var primeval = jQuery('#'+primeid).val();
    }
    var pars="";
    var url = SITE_URL+"index.php?file=mem-chkDuplicate";
    pars= 'val=' + val + '&compid=' + compid + '&table=' + table+'&rtype=slim';
    if (primeval) {
	pars+= '&primeid=' + primeid + '&primeval=' + primeval;
    }
    
      jQuery.ajax(
        {
            'url':url,
            'data':pars,
            'async':false,
            'success': function(data){
           getResponses(data,compid);
            }           
        });
    

}
function getResponses(exist,field){
	if (exist == 1) {
	    if(field == 'vGroupName') {
		var group_name = jQuery('#' + field).val();
		alert('Group name "' + group_name + '" already exists!  Please choose another name for your group.');
	    } else if (field == 'vEmail') {
		alert("This email is already registered. Please enter your username and password above to log in.");
	    }
	    jQuery('#'+field).focus();
	    already_exist = 1;
	    return false;
      } else {
	  already_exist = 0;
	  return true;
      }
    
}

//checked limit of words in a text field
function limitText(limitField,limitNum) {
	if (limitField.value.length > limitNum) {
		limitField.value = limitField.value.substring(0, limitNum);
	}
}

//Check to see if user enter correct captcha code
function callcheckCode(code)
{
	var url = SITE_URL+"index.php?file=mem-ajax_checkCode";
	var pars = "code=" + code + '&rtype=slim';

	jQuery.ajax(
	{
			'url':url,
			'data':pars,
			'async':false,
			'success': function(response_data,response_status)
			{
					getCapResponses(response_data);
			}
	});
}

function getCapResponses(response_data) {
	if (! response_data.valid) {
    alert("Please enter correct security code.");
		jQuery('#security_code').val('');
		jQuery('#security_code').focus();
		capchamatch = 0;
		return false;
	} else {
		capchamatch = 1;
		return true;
	}
}

function countWords(text) {
    var t = text.replace(/\s/g,' ');
    t = t.split(' ');
    return t.length;
}
function countCharacters(text) {
    var t = text;
    return t.length;
}
function check_comment_field_advertise() {
    var text = jQuery('#tComments').val();
    text = jQuery.trim(text);
    var word_limit = 250;
    var character_limit = word_limit * 50;
    var character_count = countCharacters(text);
    if (character_count > character_limit) {
	alert("Please limit your comments to " + character_limit + " characters.  Your comments contain " + character_limit + " characters.");
	return false;
    }
}
var check_comment_field_feedback = check_comment_field_advertise;
var check_comment_field_report_abuse = check_comment_field_advertise;
