

function nullRblank(val)              //Generalised validation for null or empty
{
  if(val=="") return false
  else
  {
    flag=0;
    for(i=0;i<val.length;i++)
    { 
      if(val.charAt(i)!=" ") 
      { 
        flag=1;
        break; 
      }
    }
    if(flag==0) return false;
  }
    
  return true;
}

function checkdate(oname,val)                      //Generalised validation for Date
{
  month=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  var str="";
    
  for(i=0;i<val.length;i++)
  {
    ch=val.substring(i,i+1);
      
    if( (ch<"0" || ch>"9") && (ch!="-") && (ch!="/") ) 
    {
      alert("Invalid "+oname);
      return false;
    }
  }
      
  if(val.indexOf("-")!=-1)
  {
     ind1=val.indexOf("-");
     ind2=val.lastIndexOf("-");
     flg=1        
  }
  else 
  if(val.indexOf("/")!=-1)
  {
    ind1=val.indexOf("/");
    ind2=val.lastIndexOf("/");
    flg=2   
  }
  else 
  {
    alert("Invalid "+oname);
    return false;
  } 
  
  if((flg==1) && (val.lastIndexOf("-")-val.indexOf("-"))<2)
  {
    alert("Invalid "+oname);
    return false;
  }
  else
  if((flg==2) && (val.lastIndexOf("/")-val.indexOf("/"))<2)
  {
    alert("Invalid "+oname);
    return false;
  }
    
  for(i=ind2+1;i<val.length;i++)
  {
    ch=val.substring(i,i+1);
    str=str+ch;
  }
  
  num1=parseInt(str);
  if(num1<1947)
  {
    alert("Invalid "+oname);
    return false;
  }  
  str="";
  
  if(num1%400==0) month[1]=29
  else
  if(num1%100==0) month[1]=28
  else
  if(num1%4==0) month[1]=29;
     
  for(i=ind1+1;i<ind2;i++)
  {
    ch=val.substring(i,i+1);
    str=str+ch;
  } 

  num2=parseInt(str);
    
  if(num2<1 || num2>12) 
  {
    alert("Invalid "+oname);
    return false;
  }

  if(num1==1947 && num2<8)
  {
    alert("Invalid "+oname);
    return false;
  } 
  
  num3=parseInt(val.charAt(0)+val.charAt(1));

  if(num3<1 || num3>month[num2-1])
  {
    alert("Invalid "+oname);
    return false;
  }
  
  if(num1==1947 && num2==8 && num3<15)
  {
    alert("Invalid "+oname);
    return false;
  }
       
  return true;
  }      


function selectval(name,obj)         //Generalised validation for selection list
{
  if(obj.selectedIndex==0)
  {
    alert(name+" Option is Not Selected.");
    return false;
  }
  return true;
} 

function textval(name,obj)               //For text field validation
{  
  if(!nullRblank(obj.value))
  {
    alert("Invalid "+name);
    obj.focus();
    obj.value="";
    return false;
  }
  return true;
}



function dateval(name,obj)                    //For Launch Date validation
{
  if(obj.value!="")
  {  
    if(!checkdate(name,obj.value))
    {
      obj.focus();
      obj.select();
      return false;
    }
  }     
  return true;
}


function floatval(name,obj)           //For Reserved or Occupied space validation
{
  
  if(obj.value!="")
  {

    for(i=0;i<obj.value.length;i++)
    {
      ch=obj.value.substring(i,i+1);
      
      if ((ch<"0" || ch>"9") && (ch!="."))  
      {
        alert("Invalid "+name);
        obj.focus();
        obj.select();
        return false;
      }
    }
    return true;
  }
}


function integerval(name,obj)           //For Reserved or Occupied space validation
{
  
 
    if((obj.value.length!=5)&&(obj.value.length!=6))
    {
     
     alert("Invalid Lenght of "+name);
        obj.focus();
        obj.select();
        return false;
    }

    for(i=0;i<obj.value.length;i++)
    {
      ch=obj.value.substring(i,i+1);
      
      if (ch<"0" || ch>"9")  
      {
        alert("Invalid "+name);
        obj.focus();
        obj.select();
        return false;
      }
    }
    return true;
  
}


function phfaxval(name,obj)                     //For Phone & Fax number validation
{ 
  if(obj.value!="")
  {
    
    for(i=0;i<obj.value.length;i++) 
    {
      ch=obj.value.substring(i,i+1);
      if((ch<"0"||"9"<ch) && (ch!="-"))
      {
        alert("Invalid "+name)
        obj.focus();
        obj.select();   
        return false;
      }
    }
    
    return true;
  }
}

function mailval(obj)                        //For E-Mail validation
{
  
  i1 = obj.value.indexOf("@");
  i2 = obj.value.lastIndexOf("@");
  
  if(obj.value!="")
  {    
  
    if(obj.value.indexOf("@")==-1||obj.value.indexOf(".")==-1||i1!=i2||obj.value.indexOf(",")!=-1||obj.value.indexOf(" ")>=0)
    {
      msg = "Invalid E-mail Address";
      if(i1!=i2)
      {  msg = "Invalid E-mail Address\nOnly one Email Address is allowed";}
      alert(msg);
      obj.focus();
      obj.select();
      return false;
    }

    return true;
  }
}

function badcharcheck(tstr)
{

 
 if((tstr.indexOf("'")!=-1)||(tstr.indexOf("select")!=-1)|| (tstr.indexOf("insert")!=-1)||(tstr.indexOf("delete")!=-1)||(tstr.indexOf("drop")!=-1)||(tstr.indexOf("xp_")!=-1)||(tstr.indexOf("shutdown")!=-1)||(tstr.indexOf("--")!=-1))
  {
   
   return false;
  }
  return true;

}

function formval(obj)                 
{    
   

  
  for(var i=0;i<obj.elements.length;i++)
  {
      if(obj.elements[i].type=='text')
      {   
         if((obj.elements[i].name=='name'||obj.elements[i].name=='rno' ||obj.elements[i].name=='email' ) && !nullRblank(obj.elements[i].value))
         {   
             alert("Invalid "+obj.elements[i].name);
     	     obj.elements[i].focus();
	         obj.elements[i].value="";
             return false;
         }
         

         if((obj.elements[i].name=='name'||obj.elements[i].name=='rno' ||obj.elements[i].name=='email' ) && !badcharcheck(obj.elements[i].value))
         {   
             alert("Invalid "+obj.elements[i].name + ".\nIt contains non acceptable characters/strings");
     	     obj.elements[i].focus();
	     obj.elements[i].value="";
             return false;
         }


         if(obj.elements[i].name=='rno' && !integerval("RollNo",obj.elements[i]))
         {
		        	
        	return false;
                         
          }
         
	 if((obj.elements[i].name=='email')&& nullRblank(obj.elements[i].value))
	 {
	     if(!mailval(obj.elements[i]))
	     {
		     return false;
	     }
	 }  
    
   
   /* checkflag=0; 
    for ( k=0;k<obj.examtype.length;k++)
    {

         if(obj.examtype[i].checked)
         {
           checkflag=1; 
           break;
         }         
          
     }

     if(checkflag==0  )  
     {
       alert("Please select Exam");
       return false;   
     }*/
         
     }     
  }  
return true;
}
