﻿/* Validtaion Engine */
/* ©2007 Nitin Gupta */
// JScript File

function CheckValidation(theForm)
{

    for(i=0; i < theForm.length ; i++)
    {
        var Obj = theForm.elements[i];
        if(Obj.getAttribute('type') == 'text' || Obj.getAttribute('type') == 'password')
        {
        
        
            if(!CheckValidity(Obj))
            { 
                Obj.focus();
                return false;   
            }
        }
        else if(Obj.getAttribute('type') == 'select' || Obj.getAttribute('type') == 'select-one')
        {
            if(!CheckDropDownValidity(Obj))
            { 
                Obj.focus();
                return false;  
            }
        }
        else if(Obj.getAttribute('type') == 'file' && Obj.getAttribute('filetype') == 'picture')
        {
            if(!CheckPictureFileValidity(Obj))
            {
                Obj.focus();
                return false;  
            }
        }
        else if(Obj.getAttribute('type') == 'file' || Obj.getAttribute('type') == 'file')
        {
            if(!CheckFileValidity(Obj))
            {
                Obj.focus();
                return false;  
            }
        }
        else if(Obj.getAttribute('type') == 'checkbox' || Obj.getAttribute('type') == 'checkbox')
        {
      
   
//        if(!CheckCandT(Obj))
//        {
//        
//              return false;  
//        }
    
        }
    }
    
    return true;
}
function CheckCandT(Object)
{
if(Object.getAttribute('notBlank')= null)
{
    if(Object.checked ==false)
    {
        if(Object.getAttribute('caption') != '' && Object.getAttribute('caption') != null)
            alert("Please enter " + Object.getAttribute('caption') + "."); 
        else
            alert("Please enter the value.");
       // Object.value = "";
       
        return false;
        
    }
    else
    {
     return true;
    }
  }
  else
  {
     return true;
  }

}

function CheckValidity(Object)
{
    if(Object.getAttribute('notBlank') != null && Object.getAttribute('notBlank') != 'false' && trim(Object.value) == '')
    {
        if(Object.getAttribute('caption') != '' && Object.getAttribute('caption') != null)
            alert("Please enter " + Object.getAttribute('caption') + "."); 
        else
            alert("Please enter the value.");
        Object.value = "";
        return false;
    }
    else if(Object.getAttribute('removePercentage') != null && Object.getAttribute('removePercentage') != 'false')
    {
        Object.value=removePercentage(Object.value);
    }
    else if(Object.getAttribute('dataType') == 'string' && isString(Object.value) == false)
    {
        if(Object.getAttribute('caption') != '' && Object.getAttribute('caption') != null)
            alert( Object.getAttribute('caption') + " Validation: \n 1. First character should be Alphabet.\n 2. No space in between. \n 3. No special character except underscore.\n Valid " + Object.getAttribute('caption') + " Examples: 'Abc_881', 'P234', 'Rajiv_Sikka'"); 
        else
            alert( "Validation: \n 1. First character should be Alphabet.\n 2. No space. \n 3. No special character except underscore.\n Valid Examples: 'Abc_881', 'P234', 'Rajiv_Sikka'"); 
        return false;
    }
    else if(Object.getAttribute('dataType') == 'email' && isEmail(Object.value) == false)
    {
        alert('Please enter valid email address !');
        return false;
    }
    else if(Object.getAttribute('dataType') == 'password')
    {
        strPassword = Object.value;
        if(strPassword.length < 6 || isPassword(Object.value) == false)
        {
            alert("Password Validation: \n 1. Minimum 6 character are required. \n 2. No Space.\n Valid Examples: 'jk98#%', '89ab_*9', 'sumit_1980'");
            return false;
        }
    }
    else if(Object.getAttribute('compareControl') != null)
    {
        
        var compareControl = document.getElementById(Object.getAttribute('compareControl'));
        if(compareControl != null)
        {
            if(compareControl.value != Object.value)
            {
                alert("Confirm Password is not matching.");
                return false;
            }
        }
    }
    else if(Object.getAttribute('dataType')== "uint" && uInteger(Object.value)== false && trim(Object.value) != '')
    {
         if(Object.getAttribute('caption') != '' && Object.getAttribute('caption') != null)
            alert("Please enter Positive Integer value for the " + Object.getAttribute('caption') + " !"); 
        else
            alert("Please enter Positive Integer value!"); 
        return false;
    }
    else if(Object.getAttribute('dataType')== "url" && isURL(Object.value)== false)
    {
        alert("Please enter a valid URL!"); 
        return false;
    }
    return true;
}


function CheckDropDownValidity(Object)
{
    if(Object.getAttribute('notBlank') != null && Object.getAttribute('notBlank') != 'false' && Object.selectedIndex == 0)
    {
        if(Object.getAttribute('caption') != '' && Object.getAttribute('caption') != null)
            alert("Please select " + Object.getAttribute('caption') + "."); 
        else
            alert("Please select 1 Option.");
        return false;
    }
    return true;
}

function CheckFileValidity(Object)
{
    if(Object.getAttribute('notBlank') != null && Object.getAttribute('notBlank') != 'false' && trim(Object.value) == '')
    {
        if(Object.getAttribute('caption') != '' && Object.getAttribute('caption') != null)
            alert("Please Select the " + Object.getAttribute('caption') + " to Upload."); 
        else
            alert("Please Select the File.");
        Object.value = "";
        return false;
    }
    else if(Object.getAttribute('Validation') != null)
    {
    }
    else if(Object.value != "")
    {
      var ext = getFileName(Object.value).ext
      if(ext != 'doc' && ext != 'xls' && ext != 'ppt' &&ext != 'txt' && ext != 'rtf' && ext != 'pdf')
      {
        if(Object.getAttribute('caption') != '' && Object.getAttribute('caption') != null)
            alert("Please enter valid " + Object.getAttribute('caption') + " to Upload.\nonly [.doc] [.xls] [.ppt] [.txt] [.rtf] [.pdf]\n files can be uploaded."); 
        else
            alert("Please enter valid File to upload.\nonly [.doc] [.xls] [.ppt] [.txt] [.rtf] [.pdf]\n files can be uploaded.");
        Object.value = "";
        return false;
      }
    }
    return true;
}

function CheckPictureFileValidity(Object)
{

    if(Object.getAttribute('notBlank') != null && Object.getAttribute('notBlank') != 'false' && trim(Object.value) == '')
    {
        if(Object.getAttribute('caption') != '' && Object.getAttribute('caption') != null)
            alert("Please Select the " + Object.getAttribute('caption') + " to Upload."); 
        else
            alert("Please Select the File.");
        Object.value = "";
        return false;
    }
    else if(Object.getAttribute('Validation') != null)
    {
    }
   
    if(Object.value != "")
    {
      var ext = getFileName(Object.value).ext
      if(ext != 'jpg' && ext != 'png' && ext != 'gif' && ext != 'bmp')
      {
        if(Object.getAttribute('caption') != '' && Object.getAttribute('caption') != null)
            alert("Please enter valid " + Object.getAttribute('caption') + " to Upload.\nonly [.jpg] [.png] [.gif] [.bmp] \n files can be uploaded."); 
        else
            alert("Please enter valid File to upload.\nonly [.jpg] [.png] [.gif] [.bmp] \n files can be uploaded.");
        Object.value = "";
        return false;
      }
    }
    return true;
}

