﻿
/*
    Method : 
        RequiredFieldValidator
    Function:
        Makes the associated input control a required field.
    Parameters:
        Id : ID of the control to display your error message
        ControlToValidate : control to be validated
        ErrorMessage : Message to dispaly      
    
*/
function RequiredFieldValidator(Id,ControlToValidate,ErrorMessage)
{
    
    document.getElementById (Id).innerHTML = "";
    
    if (document.getElementById (ControlToValidate).value.length == 0 )
        {
            if(ErrorMessage != "")
            {
                document.getElementById (Id).innerHTML = "<div style='color: red'>" + ErrorMessage + "</div>";
            }
            else
            {
                document.getElementById (Id).innerHTML = "<div style='color: red'>This field requires text</div>";
            }
            document.getElementById (ControlToValidate).style.border="1px solid red";
            document.getElementById (ControlToValidate).focus();
            return false;
        }
    else
        {
            document.getElementById (ControlToValidate).style.border="1px solid #cccccc";
            return true;
            
        }
}

/*
    Method : 
       Integer Validator
    Function:
        Checks whether the value of an input control is an integer.
    Parameters:
        Id : ID of the control to display your error message
        ControlToValidate : control to be validated
        ErrorMessage : Message to display
    
*/
function IsNumeric(Id,ControlToValidate,ErrorMessage)
{
    document.getElementById (Id).innerHTML = "";
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < document.getElementById (ControlToValidate).value.length && IsNumber == true; i++)
      {
      Char = document.getElementById (ControlToValidate).value.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
         {
            if(ErrorMessage != "")
            {
                document.getElementById (Id).innerHTML = "<div style='color: red'>" + ErrorMessage + "</div>";
                document.getElementById (ControlToValidate).style.border="1px solid red";
                document.getElementById (ControlToValidate).focus();
            }
            else
            {
                document.getElementById (Id).innerHTML = "<div style='color: red'>Only numeric values allowed</div>";
                document.getElementById (ControlToValidate).style.border="1px solid red";
                document.getElementById (ControlToValidate).focus();
            }
            
            IsNumber = false;
         }
      }
     
   return IsNumber;

 }
 
 /*
    Method : 
       Email Validator
    Function:
        Checks whether the value of an input control is a valid email address.
    Parameters:
        Id : ID of the control to display your error message
        ControlToValidate : control to be validated
        ErrorMessage : Message to display
    
*/
function IsValidEmail(Id,ControlToValidate,ErrorMessage)
{
 if(document.getElementById (ControlToValidate).value != "")
 {
    var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; 
    if(!emailPattern.test(document.getElementById (ControlToValidate).value))
    {
        
        document.getElementById (Id).innerHTML = "<div style='color: red'>" + ErrorMessage + "</div>";
        document.getElementById (ControlToValidate).style.border="1px solid red";
        document.getElementById (ControlToValidate).focus();
        return false;
    }
 }
    return true;
}


/*
    Method : 
       Compare Fields
    Function:
        Checks whether the value of an input controls is the same.
    Parameters:
        Id : ID of the control to display your error message
        Control1 : control to be compared
        Control2 : control to be compared with
        ErrorMessage : Message to display
    
*/
function CompareFieldData(Id,Control1,Control2,ErrorMessage)
{
    document.getElementById (Id).innerHTML = "";
    if(document.getElementById (Control1).value != document.getElementById (Control2).value )
     {  
        if(ErrorMessage != "")
        {
            document.getElementById (Id).innerHTML = "<div style='color: red'>" + ErrorMessage + "</div>";
        }
        else
        {
            document.getElementById (Id).innerHTML = "<div style='color: red'>Your field's data do not match</div>";
        }
        document.getElementById (Control2).style.border="1px solid red";
        document.getElementById (Control2).focus();
        return false;
     }
     else
     {
       document.getElementById (Control2).style.border="1px solid #cccccc";
       return true;
     }
}
/*
    Method : 
       Length Validation
    Function:
        Checks whether the value of an input controls is a certain.
    Parameters:
        Id : ID of the control to display your error message
        ControlToValidate : control to be validated
        ErrorMessage : Message to display
    
*/
function ValidateFieldLenght(Id,ControlToValidate,Length,ErrorMessage)
{
    document.getElementById (Id).innerHTML = "";
    if(document.getElementById (ControlToValidate).value !="")
    {
        if(document.getElementById (ControlToValidate).value.length < Length || document.getElementById (ControlToValidate).value.length > Length)
        {  
            if(ErrorMessage != "")
            {
                document.getElementById (Id).innerHTML = "<div style='color: red'>" + ErrorMessage + "</div>";
            }
            else
            {
                document.getElementById (Id).innerHTML = "<div style='color: red'>This field's length must be " + Length + "</div>";
            }
            document.getElementById (ControlToValidate).style.border="1px solid red";
            document.getElementById (ControlToValidate).focus();
            return false;
        }
    }
     document.getElementById (ControlToValidate).style.border="1px solid #cccccc";
    return true;
}
/*
    Method : 
        RequiredFieldValidator
    Function:
        Makes the associated input control a required field.
    Parameters:
        Id : ID of the control to display your error message
        ControlToValidate : control to be validated
        ErrorMessage : Message to dispaly      
    
*/
function AlterDisplay(DIV,SPAN)
{
    var oSearch = document.all[DIV];
	if (oSearch.style.display == 'block') 
	{
		oSearch.style.display = 'none';
		document.all[SPAN].innerHTML = "<A HREF='Javascript:void(0)' onClick='AlterDisplay("+DIV+","+SPAN+")'>View</A>";
	} 
	else 
	{
		oSearch.style.display = 'block';
		document.all[SPAN].innerHTML = "<A HREF='Javascript:void(0)' onClick='AlterDisplay("+DIV+","+SPAN+")'>Close</A>";
	}
}
