function validator(objForm){
    var rret=true
    for (var i=0; i<objForm.elements.length; i++) {
        if(objForm.elements[i].type=='hidden') 
            continue;
				
        if(!validateElem(objForm.elements[i]))
		{  
            rret=false;  
		continue;	  		
	    }
		   
  		}
    if(rret)
       return true;
    else
        return false
}


function validateElem(objElem){
    var ctl=objElem;
    var ret=ctl.getAttribute('id') 
    if(ret!=null){
        var sret='s'+ret    
        var retctl=document.getElementById(sret)
        if(retctl==null)
            return true
        //Check for last character and validate manditory and non-manditory fields (e - email, n - numeric, d - Double m - mobile, l - phone, c - special chars, z - zipcode, t - title(Dr., Er.))
        if(ctl.value=='' && ctl.id.charAt(ret.length-1)!='e' && ctl.id.charAt(ret.length-1)!='n' && ctl.id.charAt(ret.length-1)!='d' && ctl.id.charAt(ret.length-1)!='m' && ctl.id.charAt(ret.length-1)!='l' && ctl.id.charAt(ret.length-1)!='c' && ctl.id.charAt(ret.length-1)!='z' && ctl.id.charAt(ret.length-1)!='t' && ctl.id.charAt(ret.length-1)!='a' && ctl.id.charAt(ret.length-1)!='u' && ctl.id.charAt(ret.length-1)!='p'){
            retctl.innerHTML='<font color="red"> '+ ctl.id.substr(0, ret.length-1) +' is required!</font>'
            return false;
        }
        else
            retctl.innerHTML=""
        //Check for select tag if manditory
        if(ctl.id.charAt(ret.length-1).toUpperCase()=='S' && ctl.value==-1){
            var sret='s'+ret 
            var retctl=document.getElementById(sret)
            retctl.innerHTML='<font color="red"> '+ ctl.id.substr(0, ret.length-1) +' is required!</font>'
            return false;
        }
        //Check for words of length greater than 45
        var ctlstr=ctl.value.split(" ") 
        for(var j=0;j<ctlstr.length;j++){
            if(ctlstr[j].length > 45){
                retctl.innerHTML='<font color="red"> Entered content is invalid!</font>'
                return false
            }
        }
        //Check function for the special contents
        if(ctl.value!=''){
            var pur=ctl.id.charAt(ret.length-1).toLowerCase()
            if(!validContent(pur,ctl.value,retctl)){
                return false
            }
        }
    }
    return true;
}

function validContent(purpose,content,retcntl){
    /*Allows a valid email format*/
    if(purpose=='e'){
        var pregemail=/^[a-zA-Z0-9._%-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/
        if(!pregemail.test(content)){
            retcntl.innerHTML='<font color="red"> is not a valid email! Eg: Admin@yahoo.com</font>'
            return false;
        }
        else{
            retcntl.innerHTML=""
        }
    }  
    /*Only allow numbers*/
    else if(purpose=='n'){
        var pregnum=/^[0-9]+$/
        if(!pregnum.test(content)){
            retcntl.innerHTML='<font color="red"> '+ content +' is not a valid number!</font>'
            return false;
        }
        else{
            retcntl.innerHTML=""
        }
    }
    /*first digits should be numbers followed by a decimal point and then two digits -- For amount*/
    else if(purpose=='d'){
        var pregdouble=/^[0-9]+.[0-9]{2}$/
        if(!pregdouble.test(content)){
            retcntl.innerHTML='<font color="red"> '+ content +' is not a valid value!</font>'
            return false;
        }
        else{
            retcntl.innerHTML=""
        }
    }
    /*Check for any special characters*/
   else if(purpose=='c'){
        var pregaspchar=/^.*[#!`~{}\/(),-=|:;',�$%^&*@?<>+_].*$/  
        if(pregaspchar.test(content)){
            retcntl.innerHTML='<font color="red">&nbsp; contains special characters!</font>'
            return false;
        }
        else{
            retcntl.innerHTML=""
        }
    }
    /*first character should be alphabet,rest of the character can be anything except white space
     * and the minimum length is 3 and maximum length is 20 -- checking username*/
    else if(purpose=='u'){
        var preguser=/^[a-zA-Z]{3,20}$/  
        if(!preguser.test(content)){
            retcntl.innerHTML='<font color="red">  begins with a non-alphabet or violates min/max length!</font>'
            return false;
        }
        else{
            retcntl.innerHTML=""
        }
    }
    /*first character should be alphabet,rest of the character can be anything except white space
     * and the minimum length is 3 and maximum length is 20 -- checking password*/
    else if(purpose=='p'){
        var pregpass=/^[a-zA-Z0-9]{6,20}/  
        if(!pregpass.test(content)){
            var s=''
          
            retcntl.innerHTML='<font color="red">  begins with a non-alphabet or violates min/max length!</font>'
            return false;
        }
        else{
            retcntl.innerHTML=""
        }
    }
    /*Numers only & first character can be '+'.
     *Numbers followed by '-' must be of length 10 -- checking mobile*/
     else if(purpose=='m'){
        var pregmobile=/^[0-9]{10}$/  
        if(!pregmobile.test(content)){
            retcntl.innerHTML='<font color="red"> contains non-integers or must be 10 digits!</font>'
            return false;
        }
        else{
            retcntl.innerHTML=""
        }
    }
    /*Numers only & first character can be '+'.
     *Numbers followed by '-' must be of length 7 -- checking landline*/
    else if(purpose=='l'){
        var preglandline=/^[+0-9]+-[0-9]{7}$/  
        if(!preglandline.test(content)){
            retcntl.innerHTML='<font color="red"> '+ content +' contains non-integers<br> or violates format(xxx-xxxxxxx)!</font>'
            return false;
        }
        else{
            retcntl.innerHTML=""
        }
    }
    /*Numers only and must be of length between 4 - 7 -- checking zipcode*/
     else if(purpose=='z'){
        var pregzipcode=/^[0-9]{5}$/  
        if(!pregzipcode.test(content)){
            retcntl.innerHTML='<font color="red"> contains non-integers or must be 10 digits zip-code!</font>'
            return false;
        }
        else{
            retcntl.innerHTML=""
        }
    }
    /*Albhabets only and may contain . ()-  -- checking zipcode*/
    else if(purpose=='t'){
        var pregtitle=/^[a-zA-Z.()-]$/  
        if(!pregtitle.test(content)){
            retcntl.innerHTML='<font color="red"> '+ content +' contains non-albhabets<br> or invalid characters!</font>'
            return false;
        }
        else{
            retcntl.innerHTML=""
        }
    }
    checkForm();
    return true
}


function checkForm(){
var confirmP=document.getElementById('sConfirmP')
var Password=document.getElementById('PasswordP')
var confirmPass=document.getElementById('ConfirmP')
   if((Password.value) != (confirmPass.value)){
		confirmP.innerHTML='<font color="red"> Cofirm Password does not match with Password</font>';
			return false;
			
	}
	else{
	  confirmP.innerHTML="";
	}
}
function validateConfirmEmail(email,conemail){
    if(email.value!=conemail.value){
        document.getElementById('sconfirmemailM').innerHTML='<font color="red"> email does not match </font>';
        return false
    }
    else{
        document.getElementById('spanconfirmemailM').innerHTML=''
        return true
    }
}



