	function Trim(TRIM_VALUE) {

		if(TRIM_VALUE.length < 1) {

			return"";
		}

		TRIM_VALUE = RTrim(TRIM_VALUE);
		TRIM_VALUE = LTrim(TRIM_VALUE);

		if(TRIM_VALUE=="") {

			return "";
		}
		else {

			return TRIM_VALUE;
		}
	} //End Function


	function RTrim(VALUE) {

		var w_space = String.fromCharCode(32);
		var v_length = VALUE.length;
		var strTemp = "";

		if(v_length < 0) {

			return"";
		}

		var iTemp = v_length -1;

		while(iTemp > -1) {

			if(VALUE.charAt(iTemp) == w_space) {

			}
			else {

				strTemp = VALUE.substring(0,iTemp +1);
				break;
			}

			iTemp = iTemp-1;

		} //End While

		return strTemp;

	} //End Function


	function LTrim(VALUE) {

		var w_space = String.fromCharCode(32);

		if(v_length < 1) {

			return"";
		}

		var v_length = VALUE.length;
		var strTemp = "";

		var iTemp = 0;
		
		while(iTemp < v_length) {

			if(VALUE.charAt(iTemp) == w_space) {

			}
			else {

				strTemp = VALUE.substring(iTemp,v_length);
				break;
			}

			iTemp = iTemp + 1;
		} //End While
		
		return strTemp;
	} //End Function















function Validator(frmname)
{
//alert("form");
  this.formobj=document.forms[frmname];
	if(!this.formobj)
	{
	  alert("BUG: couldnot get Form object "+frmname);
		return;
	}
	if(this.formobj.onsubmit)
	{
	 this.formobj.old_onsubmit = this.formobj.onsubmit;
	 this.formobj.onsubmit=null;
	}
	else
	{
	 this.formobj.old_onsubmit = null;
	}
	this.formobj.onsubmit=form_submit_handler;
	this.addValidation = add_validation;
	this.setAddnlValidationFunction=set_addnl_vfunction;
	this.clearAllValidations = clear_all_validations;
}
function set_addnl_vfunction(functionname)
{
  this.formobj.addnlvalidation = functionname;
}
function clear_all_validations()
{
	for(var itr=0;itr < this.formobj.elements.length;itr++)
	{
		this.formobj.elements[itr].validationset = null;
	}
}
function form_submit_handler()
{
	for(var itr=0;itr < this.elements.length;itr++)
	{
		if(this.elements[itr].validationset &&
	   !this.elements[itr].validationset.validate())
		{
		  return false;
		}
	}
	if(this.addnlvalidation)
	{
	  str =" var ret = "+this.addnlvalidation+"()";
	  eval(str);
    if(!ret) return ret;
	}
	return true;
}
function add_validation(itemname,descriptor,errstr)
{
  if(!this.formobj)
	{
	  alert("BUG: the form object is not set properly");
		return;
	}//if
	var itemobj = this.formobj[itemname];
  if(!itemobj)
	{
	  alert("BUG: Couldnot get the input object named: "+itemname);
		return;
	}
	if(!itemobj.validationset)
	{
	  itemobj.validationset = new ValidationSet(itemobj);
	}
  itemobj.validationset.add(descriptor,errstr);
}
function ValidationDesc(inputitem,desc,error)
{
  this.desc=desc;
	this.error=error;
	this.itemobj = inputitem;
	this.validate=vdesc_validate;
}
function vdesc_validate()
{
 if(!V2validateData(this.desc,this.itemobj,this.error))
 {
	if(this.desc!='telephone' && this.desc!='gift_memberdetails' && this.desc!='check_profession'){
		this.itemobj.focus();
		
	}
	return false;
 }
 return true;
}
function ValidationSet(inputitem)
{
    this.vSet=new Array();
	this.add= add_validationdesc;
	this.validate= vset_validate;
	this.itemobj = inputitem;
}
function add_validationdesc(desc,error)
{
  this.vSet[this.vSet.length]= 
	  new ValidationDesc(this.itemobj,desc,error);
}
function vset_validate()
{
   for(var itr=0;itr<this.vSet.length;itr++)
	 {
	   if(!this.vSet[itr].validate())
		 {
		   return false;
		 }
	 }
	 return true;
}

function validateEmailv2(email)
{
// a very simple email validation checking. 
// you can add more complex email checking if it helps 
    if(email.length <= 0)
	{
	  return true;
	}
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}




function ValidateTime(time)
{
// a very simple time validation checking. 

    if(time.length <= 0)
	{
	  return true;
	}
    var splitted = time.match("^(.+):(.+)$");
    if(splitted == null) return false;
    if(splitted[1]>=0 && splitted[1]<24 && splitted[1].length==2){
	 	if(splitted[2]>=0 && splitted[2]<60 && splitted[2].length==2){
     	 	return true;
		}
    }
return false;
}







function V2validateData(strValidateStr,objValue,strError) 
{ 
    var epos = strValidateStr.search("="); 
    var  command  = ""; 
    var  cmdvalue = ""; 
    if(epos >= 0) 
    { 
     command  = strValidateStr.substring(0,epos); 
     cmdvalue = strValidateStr.substr(epos+1); 
    } 
    else 
    { 
     command = strValidateStr; 
    } 
    switch(command) 
    {
        case "req": 
        case "required": 
         { 
			   var str = Trim(objValue.value);
			   check = 0;
			   
			   if(cmdvalue=="giftmember"){
				   if(document.getElementById("chkaddgiftmember").checked==true){
					   check = 0;
				   }else{
					   check = 1;
				   }
			   }else if(cmdvalue=="editgiftmember"){
				   if(document.getElementById("hidgiftflag").value!=''){
					   check = 0;
				   }else{
					   check = 1;
				   }
			   }
			   
			   if(check==0){
				   if( eval(str.length) == 0) 
				   { 
					  if(!strError || strError.length ==0) 
					  { 
						strError = objValue.name + " : Required Field"; 
					  }//if 
					  alert(strError); 
					  return false; 
				   }//if 
			   }
           break;             
         }//case required 
        case "maxlength": 
        case "maxlen": 
          { 
             if(eval(objValue.value.length) >  eval(cmdvalue)) 
             { 
               if(!strError || strError.length ==0) 
               { 
                 strError = objValue.name + " : "+cmdvalue+" characters maximum "; 
               }//if 
               alert(strError + "\n[Current length = " + objValue.value.length + " ]"); 
               return false; 
             }//if 
             break; 
          }//case maxlen 
		  
        case "minlength": 
        case "minlen": 
           { 
             if( eval(objValue.value.length) <  eval(cmdvalue)) 
             { 
               if(!strError || strError.length ==0) 
               { 
                 strError = objValue.name + " : " + cmdvalue + " characters minimum  "; 
               }//if               
               alert(strError + "\n[Current length = " + objValue.value.length + " ]"); 
               return false;                 
             }//if 
             break; 
            }//case minlen 
		case "maxvalue": 
        case "maxval": 
          { 
             if(eval(objValue.value.value) > eval(cmdvalue)) 
             { 
               if(!strError || strError.length ==0) 
               { 
                 strError = objValue.name + " : "+cmdvalue+" Value maximum "; 
               }//if 
               alert(strError + "\n[Current value = " + objValue.value.value + " ]"); 
               return false; 
             }//if 
             break; 
          }//case maxval
	
        case "chars_set": 
           {  //alert(objValue.value);
              var charpos = objValue.value.search('[\\\\/:*?"<>|]'); 
              
              if(objValue.value != '') {
	              var splval =  objValue.value.split("..");
	              var splval2 =  objValue.value.split(".");
	              splval2len = splval2.length
	              if (splval.length == 0 || objValue.value=='.' || objValue.value=='..') {
	              	alert (strError+" has invalid punctuation mark(s) (.)");
	              	return false;
	              }
	              else if (splval.length > 1 ) {
	              	alert (strError+" has invalid punctuation mark(s) (.)");
	              	return false;
	              }
	              else if (splval2[0] == "" ) {
	              	alert (strError+" has invalid punctuation mark(s) (.)");
	              	return false;
	              }
	              else if (splval2[splval2len-1] == "" ) {
	              	alert (strError+" has invalid punctuation mark(s) (.)");
	              	return false;
	              }
              }
              
              /*
              var charpo = objValue.value.search('[\.{2,}]'); 
              if(objValue.value.length > 0 &&  charpo >= 0) {
              	alert("yes");
              }
              */
              /*
              var regexp_ip =/^\[\.{2,}\]$/;
	    		if(objValue.value.match(regexp_ip) == null) { 
	    			alert(objValue.value);
	    			return false; 
	    		}
	    		*/
              
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                /*if(!strError || strError.length ==0) 
                { 
                  strError = objValue.name+"  \ | : ? \" < > | Characters not allowed"; 
                }//if               
                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); */
				alert(strError+' will not allow  \\ / : * ? " < > | Characters');
                return false; 
              }//if 
              break;               
           }//char set
        case "alnum": 
        case "alphanumeric": 
           { 
              var charpos = objValue.value.search("[^A-Z-,a-z0-9/ /(/)/./]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
               if(!strError || strError.length ==0) 
                { 
                  strError = objValue.name+": Only alpha-numeric characters allowed "; 
                }//if 
                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 
                return false; 
              }//if 
              break; 
           }//case alphanumeric 
	case "onlyalnum": 
        case "onlyalphanumeric": 
           { 
              var charpos = objValue.value.search("[^A-Za-z0-9]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
               if(!strError || strError.length ==0) 
                { 
                  strError = objValue.name+": Only alpha-numeric characters allowed "; 
                }//if 
                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 
                return false; 
              }//if 
              break; 
           }//case alphanumeric
        case "onlynum": 
        case "onlynumeric": 
           { 
              var charpos = objValue.value.search("[^0-9]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                if(!strError || strError.length ==0) 
                { 
                  strError = objValue.name+": Only digits allowed "; 
                }//if               
                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 
                return false; 
              }//if 
              break;               
           }//numeric 
		   case "num": 
        case "numeric": 
           { 
              var charpos = objValue.value.search("[^0-9-./ /(/)]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                if(!strError || strError.length ==0) 
                { 
                  strError = objValue.name+": Only digits allowed "; 
                }//if               
                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 
                return false; 
              }//if 
              break;               
           }//numeric 

        case "time": 
          { 
               if(!ValidateTime(objValue.value)) 
               { 
                 if(!strError || strError.length ==0) 
                 { 
                    strError = objValue.name+": Enter a valid Time address "; 
                 }//if                                               
                 alert(strError); 
                 return false; 
               }//if 
           break; 
          }//case time 
        case "timecompare": 
          { 
               if(  document.appointment.start_time.value  >= document.appointment.end_time.value ) 
               { 
                 if(!strError || strError.length ==0) 
                 { 
                    strError = objValue.name+": Should less than end time "; 
                 }//if                                               
                 alert(strError); 
                 return false; 
               }//if 
           break; 
          }//case time 	   
		   case "passcompare": 
          { 
			
				if(document.chng_pass.newpass.value != '' && document.chng_pass.confirmpass.value != '' )
				{
					if(document.chng_pass.newpass.value == document.chng_pass.confirmpass.value)
					{
						var pass_change = confirm("Are you sure you want to change the password ?");
						if(pass_change == true)
						{
							return true;
						}else{
							return false;
						}

					}
					else
					{
						alert("The 'new password' and 'confirm password' not matching.");
						return false;
					}
				}
	
           break; 
          }//case time 	  

        case "telephone": 
          { 
			var myformname = objValue.form.name;
			var myfieldname = objValue.name;
			
			myfieldparts = myfieldname.split('_');
			
			mytel_1 = document.forms[myformname].elements[myfieldparts[0]+'_1'].value;
			mytel_2 = document.forms[myformname].elements[myfieldparts[0]+'_2'].value;
			mytel_3 = document.forms[myformname].elements[myfieldparts[0]+'_3'].value;
			/*if(objValue.name == 'telephone1_1'){
				mytel_1 = document.forms[myformname].telephone1_1.value;
				mytel_2 = document.forms[myformname].telephone1_2.value;
				mytel_3 = document.forms[myformname].telephone1_3.value;
			}else if(objValue.name == 'telephone2_1'){
				mytel_1 = document.forms[myformname].telephone2_1.value;
				mytel_2 = document.forms[myformname].telephone2_2.value;
				mytel_3 = document.forms[myformname].telephone2_3.value;
			}else if(objValue.name == 'tel1_1'){
				mytel_1 = document.forms[myformname].tel1_1.value;
				mytel_2 = document.forms[myformname].tel1_2.value;
				mytel_3 = document.forms[myformname].tel1_3.value;
			}else if(objValue.name == 'tel2_1'){
				mytel_1 = document.forms[myformname].tel2_1.value;
				mytel_2 = document.forms[myformname].tel2_2.value;
				mytel_3 = document.forms[myformname].tel2_3.value;
			}*/

			if(mytel_1!='' || mytel_2!='' || mytel_3!=''){
				
				if(mytel_1==''){
					alert('Enter telephone first field');
					document.forms[myformname].elements[myfieldparts[0]+'_1'].focus();
				}else if(isnotINT(mytel_1)){
					alert('Enter only digits in telephone first field');
					document.forms[myformname].elements[myfieldparts[0]+'_1'].focus();
				}else if(mytel_1.length < 3){
					alert('Enter 3 digits in telephone first field');
					document.forms[myformname].elements[myfieldparts[0]+'_1'].focus();
				}else if(mytel_2==''){
					alert('Enter telephone second field');
					document.forms[myformname].elements[myfieldparts[0]+'_2'].focus();
				}else if(isnotINT(mytel_2)){
					alert('Enter only digits in telephone second field');
					document.forms[myformname].elements[myfieldparts[0]+'_2'].focus();
				}else if(mytel_2.length < 3){
					alert('Enter 3 digits in telephone second field');
					document.forms[myformname].elements[myfieldparts[0]+'_2'].focus();
				}else if(mytel_3==''){
					alert('Enter telephone third field');
					document.forms[myformname].elements[myfieldparts[0]+'_3'].focus();
				}else if(isnotINT(mytel_3)){
					alert('Enter only digits in telephone third field');
					document.forms[myformname].elements[myfieldparts[0]+'_3'].focus();
				}else if(mytel_3.length < 4){
					alert('Enter 4 digits in telephone third field');
					document.forms[myformname].elements[myfieldparts[0]+'_3'].focus();
				}else{
					return true;
				}
			return false;
			}
			
			
           break; 
          }//case time 	
        case "alphabetic": 
        case "alpha": 
           { 
              var charpos = objValue.value.search("[^A-Z.a-z/ / ]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                  if(!strError || strError.length ==0) 
                { 
                  strError = objValue.name+": Only alphabetic characters allowed "; 
                }//if                             
                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 
                return false; 
              }//if 
              break; 
           }//alpha 
		case "alnumhyphen":
			{
              var charpos = objValue.value.search("[^A-Za-z0-9\-_]"); 
              if(objValue.value.length > 0 &&  charpos >= 0) 
              { 
                  if(!strError || strError.length ==0) 
                { 
                  strError = objValue.name+": characters allowed are A-Z,a-z,0-9,- and _"; 
                }//if                             
                alert(strError + "\n [Error character position " + eval(charpos+1)+"]"); 
                return false; 
              }//if 			
			break;
			}
        case "email": 
          { 
               if(!validateEmailv2(objValue.value)) 
               { 
                 if(!strError || strError.length ==0) 
                 { 
                    strError = objValue.name+": Enter a valid Email address "; 
                 }//if                                               
                 alert(strError); 
                 return false; 
               }//if 
           break; 
          }//case email 
        case "lt": 
        case "lessthan": 
         { 
            if(isNaN(objValue.value)) 
            { 
              alert(objValue.name+": Should be a number "); 
              return false; 
            }//if 
            if(eval(objValue.value) >=  eval(cmdvalue)) 
            { 
              if(!strError || strError.length ==0) 
              { 
                strError = objValue.name + " : value should be less than "+ cmdvalue; 
              }//if               
              alert(strError); 
              return false;                 
             }//if             
            break; 
         }//case lessthan 
        case "gt": 
        case "greaterthan": 
         { 
            if(isNaN(objValue.value)) 
            { 
              alert(objValue.name+": Should be a number "); 
              return false; 
            }//if 
             if(eval(objValue.value) <=  eval(cmdvalue)) 
             { 
               if(!strError || strError.length ==0) 
               { 
                 strError = objValue.name + " : value should be greater than "+ cmdvalue; 
               }//if               
               alert(strError); 
               return false;                 
             }//if             
            break; 
         }//case greaterthan 
        case "regexp": 
         { 
		 	if(objValue.value.length > 0)
			{
	            if(!objValue.value.match(cmdvalue)) 
	            { 
	              if(!strError || strError.length ==0)
	              {
	                strError = objValue.name+": Invalid characters found ";
	              }//if
	              alert(strError);
	              return false;
	            }//if
			}
           break;
         }//case regexp
        case "dontselect":
         {
		    if(objValue.selectedIndex == null)
            {
              alert("BUG: dontselect command for non-select Item");
              return false;
            }
            if(objValue.selectedIndex == eval(cmdvalue))
            {
             if(!strError || strError.length ==0)
              {
              strError = objValue.name+": Please Select one option ";
              }//if
              alert(strError);
              return false;
             }
             break;
         }//case DAnotJuly
	 case "DAnotJuly":
         {

	    if(objValue.value == 'Jul' || document.f1.frommonth.value=='DA')
            {
             if(!strError || strError.length ==0)
              {
              strError = objValue.name+": July is not valid month for DA";
              }//if
              alert(strError);
              return false;
             }
             break;
         }//case DAnotJuly


	case "compselect":
       {
		 //alert("OK");
            if(objValue.value == 'Select')
            {

	    	if(!strError || strError.length ==0)
	              {
	                strError = "Please select one option";
	              }//if
	              alert(strError);
	              return false;
	   }
             break;
         }//case compselect

	
    
  case "conditionselect":
       {
	     
		 if(document.appointment.remainder[0].checked==true)
			{
            if(objValue.value == 'Select')
            {

	    	if(!strError || strError.length ==0)
	              {
	                strError = "Please select one option";
	              }//if
	              alert(strError);
	              return false;
	   		}
			}
             break;
        }//case conditionselect
	case "conditionselect":
	  {
		 if(document.appointment.remainder[0].checked==true)
			{
			if(objValue.value == 'Select')
			{

			if(!strError || strError.length ==0)
				  {
					strError = "Please select one option";
				  }//if
				  alert(strError);
				  return false;
			}
			}
			 break;
		}//case conditionselect
	case "checkActive1": 
       {
		 //alert("OK");
		 if (objValue.checked==true)
		 {
			if (document.frmCandidate.iname.value.length==0)
			{
				alert("Enter incharge name"); 
                return false; 
			}
			else if (document.frmCandidate.des.value.length==0)
			{
				alert("Enter incharge designation"); 
                return false; 
			}
			else if (document.frmCandidate.email.value.length==0)
			{
				alert("Enter incharge emailid"); 
                return false; 
			}
		 }                                                            
             break; 
    }// checkActive1

	 case "checkActive2": 
       {
		 //alert("OK");
		 if (objValue.checked==true)
		 {
			if (document.frmCandidate.h_name.value.length==0)
			{
				alert("Enter head of the institute name"); 
                return false; 
			}
			else if (document.frmCandidate.h_des.value.length==0)
			{
				alert("Enter head of the institute designation"); 
                return false; 
			}
			else if (document.frmCandidate.h_email.value.length==0)
			{
				alert("Enter head of the institute emailid"); 
                return false; 
			}
		 }                                                            
       break; 
    }// checkActive2
	 case "checkActive3": 
       {
		 //alert("OK");
		 if (objValue.checked==true)
		 {
			if (document.frmCandidate.r_iname.value.length==0)
			{
				alert("Enter incharge of NSS unit name"); 
                return false; 
			}
			else if (document.frmCandidate.r_des.value.length==0)
			{
				alert("Enter NSS incharge designation"); 
                return false; 
			}
			else if (document.frmCandidate.r_email.value.length==0)
			{
				alert("Enter NSS incharge emailid"); 
                return false; 
			}
		 }                                                            
             break; 
    }// checkActive3

	 case "checkActive4": 
       {
		 //alert("OK");
		 if (objValue.checked==true)
		 {
			if (document.frmCandidate.s_iname.value.length==0)
			{
				alert("Enter student secretary  name"); 
                return false; 
			}
			else if (document.frmCandidate.s_des.value.length==0)
			{
				alert("Enter student secretary  designation"); 
                return false; 
			}
			else if (document.frmCandidate.s_email.value.length==0)
			{
				alert("Enter student secretary  emailid"); 
                return false; 
			}
		 }                                                            
             break; 
    }// checkActive4
	case "checkcasename":
	{
		if(document.add_case.errorset.value == 1)
		{
				alert("Please enter another case name");
				return false;
		}
		break;
	}
	case "check_changepass":
       {
		 //alert("OK");
			if(document.user_reg.changepass.checked == true)
			{
				if (document.user_reg.email_username.value == "")
				{
				alert("Please Enter Your Emailid/User Name");
				//document.user_reg.email_username.focus();
				return false;
				}
				else if (validateEmailv2(document.user_reg.email_username.value)== false){
					alert("Please Enter Valid Emailid/User Name");
					//document.user_reg.email_username.focus();
					return false;							
				}
				else if (document.user_reg.pwd.value == ""){
					alert("Please Enter Password");
					//document.user_reg.pwd.focus();
					return false;													
				}
				
			}
             break;
       }//case compselect
	case "checkcases":
	{
		alert("OK");
		var CaseCheckedCount = 0;
		var CaseUncheckedCount = 0;
		for(i=0;i<document.user_reg.cases.length;i++)
		{
			if(document.user_reg.cases[i].checked==true)
			{
				CaseCheckedCount++;
			}
			else
			{
				CaseUncheckedCount++
			}
		}
		if(CaseCheckedCount == 0)
		{
			alert("Please select atleast one case");
			return false;
		}
		break;
	}
	case "checkdupemail":
	{
			if(document.user_reg.emailexists.value == 1)
			{
					alert("Email specified already exists.");
					return false;
			}
			break;
	}
	case "checkroleuserreg":
	   {
		   	var CheckedCount = 0;
			var UncheckedCount = 0;
			var pastatus = document.user_reg.checkpacases.value;
			if(pastatus == 1) {
				alert("Cannot change power administrator role. Try deleting cases created by this user!");
				return false;
			}
			for(i=0; i<=document.user_reg.elements.length-1; i++)
			{
	    	// Checking of text value should not be more then selected metadatas
				if (document.user_reg.elements[i].type == "radio" && document.user_reg.elements[i].checked == true)
				{
					//alert(1);
					CheckedCount++;
				}
				else if (document.user_reg.elements[i].type == "radio" && document.user_reg.elements[i].checked == false)
				{
					//alert(2);
					UncheckedCount++;
				}
			}
			if(CheckedCount == 0)
			{
				//alert(CheckedCount);
				//alert(UncheckedCount);
				alert("Should select atleast one group-role for the user");
				return false;
			}
			break;	
	   }	   
   	case "checkpublicnotice":
       {
			if(document.f1.publicnotice_media.checked == false && document.f1.publicnotice_datepub.checked==false)
			{
				alert("Check public notice");
				return false;
			}
			else if (document.f1.publicnotice_datepub.checked==true)
			{
				if (document.f1.publicnotice_begindate.value=='')
				{
					alert("Enter public notice begin date");
					return false;
				}
				else if (document.f1.publicnotice_enddate.value=='')
				{
					alert("Enter public notice enddate date");
					return false;
				}
				else
				{
					if (document.f1.publicnotice_begindate.value > document.f1.publicnotice_enddate.value)
					{
						alert("Public notice begin date should be less then end date");
						return false;
					}
				}
			}
             break;
       }//case compselect
	  case "checkradio":
       {
		   var CheckedCount = 0;	     
			for(i=0; i<=document.memberform.elements.length-1; i++)
			{
				if (document.memberform.elements[i].type == "radio" && document.memberform.elements[i].checked == true)
				{
					CheckedCount++;
				}
			}
			if(cmdvalue=="user_renewal_form"){   /* for userend membership renewal form validation */
				if (CheckedCount < 1)
				{
					if(!strError || strError.length == 0)
					  {
						strError = "Please check atlest one option";
					  }//if
					 alert(strError);
					 return false;
				}
			}else{ /* for edit and add screens */
				if (CheckedCount <= 1)
				{
					if(!strError || strError.length == 0)
					  {
						strError = "Please check atlest one option";
					  }//if
					 alert(strError);
					 return false;
				}
			}
             break;
	   }	   
	   case "checkpaymenttype":
				/* If you do any modification in this case do the same modification in on_CMousehover function below. It is for the coupon code manipulations */
				var val = eval(objValue.value); 
				
				/* VALIDATING IF ANY PAYMENT TYPE IS SELECTED OR NOT */
				chosen = ""
				len = document.memberform.optpayment_id.length;
				for (i = 0; i <len; i++) {
					if (document.memberform.optpayment_id[i].checked) {
						chosen = document.memberform.optpayment_id[i].value
					}
				}
				var hiddueval = document.getElementById("hidduevalue").value;
				if( (val.length==0) || (val==0) || (hiddueval=="") || (val<0) || (hiddueval<0)  || (chosen == "") ){
				  alert("Please check the payment due type above");
				  return false;
				}
				return true;
		break;
		
	case "checkexpirydate":
			var expmonth=	(document.memberform.exp_selmonth.value);
			var expyear =	(document.memberform.exp_selyear.value);

			if(eval(expyear.length)==1){ expyear="0"+expyear; }
			var str1	=	expmonth + '-' + expyear;

			var mydate	=	new Date()
			var tm		=	eval(mydate.getMonth());
			var mydate	=	new Date()
			var ty		=	eval(mydate.getFullYear());
			var str2	=	tm + '-' + ty

			//if exp date is less than current date
			if( eval(tm+1)>eval(expmonth) ){
				if( (eval(ty)>eval(expyear)) || (eval(ty)==eval(expyear)) ){ 
					alert(strError)
					return false;
				}
			}
		break;
	 case "checkdiscount_code":
		   /* var val = eval(document.getElementById("txtcredit_amount").value);
			var hiddueval = document.getElementById("hidduevalue").value;
			if( val.length==0 || val==0 || hiddueval=="" || val<0 || hiddueval<0 ) {
				  alert("Please check the payment due type");
				  return false;
		    }*/
			var code = Trim(document.getElementById("coupon_code").value);
			var credit_amt = eval(document.getElementById("txtcredit_amount").value)

			if( code!="" ){/* If coupon code is not null */
			  if(code.length>=5){
				  /* If coupon code val length greater than 6 */
				  if( document.getElementById("coupon_code").value==coupon_code ){/* if Typed coupon code is equal to the database retrieved code */

						  /*Calculating total charge for the member after subtracting the discount */
						  var charged_amt = eval(credit_amt-coupon_discount);
						  if( charged_amt>0 ){ /* assigning the new charged amount */
							  if( discounted!="yes" ){ /* Checking if already assigned the discount*/
								document.getElementById("hidcou_amt").value = eval(coupon_discount);
								document.getElementById("txtcredit_amount").value = charged_amt;
								discounted="yes";
								return true;
							  }
						  }else{
							  //document.getElementById("txtcredit_amount").value = 0;
							  //alert("Discount is greater than Charged Amount");
							  document.getElementById("hidcou_amt").value = 0;
							  return false;
						  }
				  }else{
					  alert("Enter Valid Coupon Code");
					  document.getElementById("hidcou_amt").value = 0;
					  return false;
				  }
			  }else{
			    alert("Enter Valid Coupon Code");
				document.getElementById("hidcou_amt").value = 0;
			    return false;
			  }
			}
		 break;

		case "numericwith_hyphen": 
           {
              var charpos = objValue.value.search("[^0-9-{1}]");
              if(objValue.value.length > 0 &&  charpos >= 0){ 
                if(!strError || strError.length ==0){
                  strError = objValue.name+": Only digits allowed "; 
                }//if
				alert(strError);
                return false; 
              }
              break;
           }//numeric 
		case "alphanumericwith_hyphen":{
                //alert(cmdvalue);
			var validate = true;
			if(cmdvalue=='none'){
				validate = false;
			}

			if(validate){
				if(document.getElementById(cmdvalue).value == 'US'){
					
					var charpos = objValue.value.search("[^0-9-{1}]");
					if(objValue.value.length > 0 &&  charpos >= 0){ 
						strError = "Only numerics, hyphen is allowed for Zip"; 
						alert(strError);
						objValue.focus();
						return false; 
					}
				}else{
					var charpos = objValue.value.search("[^A-Za-z0-9-{1}]");
					if(objValue.value.length > 0 &&  charpos >= 0){
						strError = "Only alphanumerics, hyphen is allowed for Zip";
						alert(strError);
						objValue.focus();
						return false; 
					}
				}
			}else{
				var charpos = objValue.value.search("[^A-Za-z0-9-{1}]");
					if(objValue.value.length > 0 &&  charpos >= 0){
						strError = "Only alphanumerics, hyphen is allowed for Zip";
						alert(strError);
						objValue.focus();
						return false; 
					}
			}
			
			/*var charpos = objValue.value.search("[^A-Za-z0-9-{1}]");
              if(objValue.value.length > 0 &&  charpos >= 0){ 
                if(!strError || strError.length ==0){
                  strError = objValue.name+": Only alphanumerics, hyphen is allowed "; 
                }//if
				alert(strError);
                return false; 
              }
              break;
			*/
			break;
        }//alphanumeric
	case "gift_memberdetails":
			var no_of_fields = document.getElementById("no_of_fields").value;
			//document.getElementById("optpayment_id").focus()
			if(document.getElementById("chkaddgiftmember").checked==true){
				//txtname1,txtaddress1,txtphone11,txtphone21,txtphone31,no_of_fields,txtemail1
				var label_name1,label_name2,label_name3,label_name4,label_name5,label_name6,charpos;
				var totexist=eval(document.getElementById("totexist").value)+1;

				for(i=totexist;i<=(no_of_fields-1);i++){
					label_name1 = "txtname" + i;
					label_name2 = "txtaddress" + i;
					label_name3 = "txtphone1" + i;
					label_name4 = "txtphone2" + i;
					label_name5 = "txtphone3" + i;
					label_name6 = "txtemail" + i;

					/* Giftmember name */
					if(Trim(document.getElementById(label_name1).value)==""){
						alert("Enter giftmember name " + i);
						document.getElementById(label_name1).focus();
						return false;
					}
					charpos = document.getElementById(label_name1).value.search("[^A-Za-z&,.-/-/ /'{0,1} / ]");
					if(document.getElementById(label_name1).value.length > 0 &&  charpos >= 0){
						alert("Enter valid giftmember name " + i);
						document.getElementById(label_name1).focus();
						return false;
					}
					if(eval(document.getElementById(label_name1).value.length) >  eval(32)){
						alert("Maximum length of giftmember name " + i +" should not exceed 32");
						document.getElementById(label_name1).focus();
						return false;
					}

					/* Giftmember address */
					if(Trim(document.getElementById(label_name2).value)==""){
						alert("Enter giftmember address " + i);
						document.getElementById(label_name2).focus();
						return false;
					}
					if(eval(document.getElementById(label_name2).value.length) >  eval(255)){
						alert("Maximum length of giftmember address " + i +" should not exceed 255");
						document.getElementById(label_name2).focus();
						return false;
					}
					
					/* Giftmember phone */
					if(Trim(document.getElementById(label_name3).value)==""){
						alert("Enter first three digits of giftmember phone " + i);
						document.getElementById(label_name3).focus();
						return false;
					}
					if(eval(document.getElementById(label_name3).value.length) <  eval(3)){
						alert("Enter first three digits of giftmember phone " + i);
						document.getElementById(label_name3).focus();
						return false;
					}
					charpos = document.getElementById(label_name3).value.search("[^0-9]"); 
					if(document.getElementById(label_name3).value.length > 0 &&  charpos >= 0){
						alert("Enter only digits of giftmember phone " + i);
						document.getElementById(label_name3).focus();
						return false;
					}
					
					if(Trim(document.getElementById(label_name4).value)==""){
						alert("Enter second three digits of giftmember phone " + i);
						document.getElementById(label_name4).focus();
						return false;
					}
					if(eval(document.getElementById(label_name4).value.length) <  eval(3)){
						alert("Enter second three digits of giftmember phone " + i);
						document.getElementById(label_name4).focus();
						return false;
					}
					charpos = document.getElementById(label_name4).value.search("[^0-9]"); 
					if(document.getElementById(label_name4).value.length > 0 &&  charpos >= 0){
						alert("Enter only digits for giftmember phone " + i);
						document.getElementById(label_name4).focus();
						return false;
					}
					
					if(Trim(document.getElementById(label_name5).value)==""){
						alert("Enter third four digits of giftmember phone " + i);
						document.getElementById(label_name5).focus();
						return false;
					}
					if(eval(document.getElementById(label_name5).value.length) <  eval(4)){
						alert("Enter third four digits of giftmember phone " + i);
						document.getElementById(label_name5).focus();
						return false;
					}
					charpos = document.getElementById(label_name5).value.search("[^0-9]"); 
					if(document.getElementById(label_name5).value.length > 0 &&  charpos >= 0){
						alert("Enter only digits for giftmember phone " + i);
						document.getElementById(label_name5).focus();
						return false;
					}

					/* Gift member email id */
					
					if(Trim(document.getElementById(label_name6).value)==""){
						alert("Enter giftmember email " + i);
						document.getElementById(label_name6).focus();
						return false;
					}
					if(!validateEmailv2(document.getElementById(label_name6).value)){
						alert("Enter valid giftmember email " + i);
						document.getElementById(label_name6).focus();
						return false;
					}			
				}
			}
		break;
		case "checkdob":
			var expmon   =	document.getElementById("dob_selmonth").value;
			var expdate  =	document.getElementById("dob_seldate").value;
			var expyear =	document.getElementById("dob_selyear").value;

			var expmon1,expyear1,expdate1;
			expyear1 = expyear;
			if(eval(expdate.length)==1){ expdate1 = "0"+expdate; }else{ expdate1 = expdate; }
			if(eval(expmon.length)==1){ expmon1 = "0"+expmon; }else{ expmon1 = expmon; }
			
			if(eval(expmon.length)==1){ expmon2 = "0"; }else{ expmon2 = eval(expmon)-1; }

			var str1	=	expmon1 + '/' + expdate1 + '/' + expyear1;

			var dob		=	new Date(str1);
			var today	=	new Date();

			if(!isValidDate(expdate1,expmon2,expyear)){
				/* IF DATE IS NOT VALID */
				alert("Invalid date for date of birth!")
				return false;
			}			
			if(today<dob){
				//if dob date is less than current date
				alert("Date of birth should not be greater than today!")
				return false;
			}
			break;
		case "validate_zero":
			 if(eval(objValue.value) == 0){
			   if(!strError || strError.length ==0){
					strError = "Value cannot be zero";
			   }
			   alert(strError);
               return false; 
			 }
			 break;
	case "check_profession":		
			/* VALIDATING PROFESSION TEXTBOX IF 55 PAYMENT TYPE IS SELECTED */
			chosen = ""
			len = document.memberform.optpayment_id.length;
			for (i = 0; i <len; i++){
				if (document.memberform.optpayment_id[i].checked){
					chosen = document.memberform.optpayment_id[i].value;
				}
			}

			if(chosen=='9-payment'){
				var charpos = document.getElementById("txtpaymemtype").value.search("[^A-Za-z0-9\-_ ]"); 
				
				if(Trim(document.getElementById("txtpaymemtype").value)==''){
					alert("Enter your profession");
					document.getElementById("txtpaymemtype").focus();
					return false;
				}else if(eval(document.getElementById("txtpaymemtype").value.length) >  eval(50)){
					alert("Only 50 characters are allowed for profession.");
					document.getElementById("txtpaymemtype").focus();
					return false;
				}else if(charpos >= 0){
					alert("characters allowed for profession are A-Z,a-z,0-9,- and _" + "\n [Error character position " + eval(charpos+1)+"]");
					document.getElementById("txtpaymemtype").focus();
					return false;
				}
			}
		break;
}//switch 


    return true; 
}

function isnotINT(val){
 	var charpos = val.search("[^0-9]");
	if(val.length > 0 &&  charpos >= 0) { 
		return true;
	}
return false;	
}
//not in use comment by MP
/*function timecompare(formname,start,end)
{
	if(!ValidateTime(document.forms[formname].elements[start].value)) {
		//NO Code
	}
	else if(!ValidateTime(document.forms[formname].elements[end].value)) {
		//NO Code
	}
	else if((document.forms[formname].elements[start].value >= document.forms[formname].elements[end].value) && document.forms[formname].elements[start].value!='' && document.forms[formname].elements[end].value!=''){
		alert('Start time Should be Less than End time');
		return false;
	}
 return true;
}*/


	function dispBackground(path){
		/* to redirect */
		window.location = path;
		return true;
	}

	 /* function to disable the published category options */
	function disablegiftmember(thisval,flag){
	  if(document.getElementById("chkaddgiftmember").checked == true){
		  if(flag=="charge"){ 
			val = eval(document.getElementById("txtcredit_amount").value);		
			document.getElementById("txtcredit_amount").value = eval(val + 15);
			document.getElementById("hidduevalue").value = eval(val - 15);

			/* APPLYING GIFT MEMBER DISCOUNT OF $5 */
			if( (eval(document.getElementById("no_of_fields").value)>=2) && (document.getElementById("appl_giftdis").value == 'no') ){
				val = eval(document.getElementById("txtcredit_amount").value);
				document.getElementById("txtcredit_amount").value = eval(val - 5);
				document.getElementById("hidduevalue").value = eval(val - 5);
				document.getElementById("appl_giftdis").value = 'yes';
			}
		  }
		  document.getElementById("gift_div").style.visibility= "visible";
		  document.getElementById("gift_div").style.display = 'block';
	  }else{
		  if(flag=="charge"){

			/* IF MULTIPLE GIFT MEMBERS WERE ADDED AND THEY WERENT REMOVED FROM THE PAGE */
			var len = eval(document.getElementById("no_of_fields").value);
			for (var i=2; i<len;i++){
				removeInput_giftmember(document.getElementById("isadmin").value);
			}

			val = eval(document.getElementById("txtcredit_amount").value);
			document.getElementById("txtcredit_amount").value = eval(val - 10); /* As gift membership discount is applied we are decreasing the $10 instead of $15*/
			document.getElementById("hidduevalue").value = eval(val - 10);

			/* DECREASING GIFT MEMBER DISCOUNT OF $5 */
			if(document.getElementById("appl_giftdis").value == 'yes'){
				//val = eval(document.getElementById("txtcredit_amount").value);
				//document.getElementById("txtcredit_amount").value = eval(val + 5);
				//document.getElementById("hidduevalue").value = eval(val - 5);
				document.getElementById("appl_giftdis").value = 'no';
			}
			/* APPLYING THE DISCOUNTED MONEY VALUE AFTER HIDING ALL THE GIFT MEMBERS */
			var mouseflag = on_CMousehover("yes");

		  }
		  document.getElementById("gift_div").style.visibility= "hidden";
		  document.getElementById("gift_div").style.display = 'none';	
	  }
		return true;
	}

	 /* function to disable the published category options */
	function disableCheckBoxes(thisval){
	  
	  if(document.getElementById("chknotpublished").checked == true){
		  /* if not published is checked */
	    document.getElementById("publishedcheckboxes").disabled = true;
	    /*document.getElementById("chkecategory_id[]").disabled = true;
	    document.getElementById("chkpcategory_id[]").disabled = true;

	    document.getElementById("chkesubcategory_id[]").disabled = true;		
	    document.getElementById("chkpsubcategory_id[]").disabled = true;	
		*/
	  }else{	
	    document.getElementById("publishedcheckboxes").disabled = false;
	    /*document.getElementById("chkecategory_id[]").disabled = false;
	    document.getElementById("chkpcategory_id[]").disabled = false;

	    document.getElementById("chkesubcategory_id[]").disabled = false;		
	    document.getElementById("chkpsubcategory_id[]").disabled = false;		
		*/
	  }
	  return true;
	}

	 /* function to display the credit card amount */	
	function dispCreditAmt(thisval,flag,chargediscount){

		if(flag=="charge"){
			/* for shorter renewal screen displaying the amount by default */
			if(document.getElementById("chkaddgiftmember").checked == true){
				var giftmemamt=15*(eval(document.getElementById("no_of_fields").value)-1);

				/* APPLYING GIFT MEMBER DISCOUNT OF $5 */
				if( (eval(document.getElementById("no_of_fields").value)>=2) ){
					giftmemamt = eval(giftmemamt - 5);
					document.getElementById("appl_giftdis").value = 'yes';
				}

				thisval = eval(thisval+giftmemamt);
			}
		 }

		 document.getElementById("txtcredit_amount").value = thisval;
		 document.getElementById("hidduevalue").value = thisval;

		 discounted="no";
		 var mouseflag = on_CMousehover("yes");
		 if(mouseflag==true){
			 /* Updating the new amount minus discount */
			 var disc_amt=eval(thisval)-eval(document.getElementById("hidcou_amt").value);
			 document.getElementById("txtcredit_amount").value = disc_amt;
			 document.getElementById("hidduevalue").value = disc_amt;
		 }

	}

	function on_CMousehover(paytype){	/* funtion to Validate the coupon code */
			var val = eval(document.getElementById("txtcredit_amount").value);
			var hiddueval = document.getElementById("hidduevalue").value;

			/* VALIDATING IF ANY PAYMENT TYPE IS SELECTED OR NOT */
			chosen = ""
			len = document.memberform.optpayment_id.length;
			for (i = 0; i <len; i++) {
				if (document.memberform.optpayment_id[i].checked) {
					chosen = document.memberform.optpayment_id[i].value
				}
			}

			if( (val.length==0) || (val==0) || (hiddueval=="") || (val<0) || (hiddueval<0) || (chosen == "")) {
				  alert("Please check the payment due type");
				  return false;
		    }
			var code = Trim(document.getElementById("coupon_code").value);
			var credit_amt = eval(document.getElementById("txtcredit_amount").value)
			//alert(eval(document.getElementById("txtcredit_amount").value));

			if( code!="" ){/* If coupon code is not null */
			  if(code.length>=5){
				  /* If coupon code val length greater than 6 */
				  if( document.getElementById("coupon_code").value==coupon_code ){/* if Typed coupon code is equal to the database retrieved code */

						  /*Calculating total charge for the member after subtracting the discount */
						  var charged_amt = eval(credit_amt-coupon_discount);
						  //alert("discounted::"+discounted);
						  if( charged_amt>0 ){ /* assigning the new charged amount */

							  if( discounted!="yes" ){ /* Checking if already assigned the discount*/
								document.getElementById("hidcou_amt").value = eval(coupon_discount);
								document.getElementById("txtcredit_amount").value = charged_amt;
								discounted="yes";
								return true;
							  }
						  }else{
							  //document.getElementById("txtcredit_amount").value = 0;
							  //alert("Discount is greater than Charged Amount");
							  document.getElementById("hidcou_amt").value = 0;
							  return false;
						  }
				  }else{
					  alert("Enter Valid Coupon Code");
					  document.getElementById("hidcou_amt").value = 0;
					  return false;
				  }
			  }else{
				document.getElementById("hidcou_amt").value = 0;
			  }
			}else{
				if(discounted=="yes"){
					/* Revoking the previous value */
					val = eval(document.getElementById("txtcredit_amount").value);
					document.getElementById("txtcredit_amount").value = eval(val + 5);
					document.getElementById("hidduevalue").value = eval(val + 5);
					discounted="no";
				}
				document.getElementById("hidcou_amt").value = 0;
			}
		  return true;
	}
	function isValidDate(day,month,year){
		/*
		Purpose: return true if the date is valid, false otherwise

		Arguments: day integer representing day of month
		month integer representing month of year
		year integer representing year

		Variables: dteDate - date object

		*/
		var dteDate;

		//set up a Date object based on the day, month and year arguments
		//javascript months start at 0 (0-11 instead of 1-12)
		dteDate=new Date(year,month,day);

		/*
		Javascript Dates are a little too forgiving and will change the date to a reasonable guess if it's invalid. We'll use this to our advantage by creating the date object and then comparing it to the details we put it. If the Date object is different, then it must have been an invalid date to start with...
		*/

		return ((day==dteDate.getDate()) && (month==dteDate.getMonth()) && (year==dteDate.getFullYear()));
	}
