﻿function IsValidDecimalNumber(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{
    if(Number(document.getElementById(txtBoxId).value)!= null  || document.getElementById(txtBoxId).value =="")
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
    return IsRequiredTxt(txtBoxId,ImgID);   
               
}
function IsValidPercent(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{
    if((Number(document.getElementById(txtBoxId).value)!= null &&  Number(document.getElementById(txtBoxId).value) >=0 &&  Number(document.getElementById(txtBoxId).value)<=100) || document.getElementById(txtBoxId).value =="")
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
    return IsRequiredTxt(txtBoxId,ImgID);   
               
}

function IsOnlyAlphaNumeric(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{
  var reg = new RegExp("^[a-zA-Z0-9\\s]+$");
    if(reg.test(document.getElementById(txtBoxId).value) || document.getElementById(txtBoxId).value =="")
        {
        ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
    return IsRequiredTxt(txtBoxId,ImgID);   
               
}
function IsOnlyAlphaNumericPlus(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{
  var reg = new RegExp("^[a-zA-Z0-9\\s\&()',_\-]+$");
    if(reg.test(document.getElementById(txtBoxId).value) || document.getElementById(txtBoxId).value =="")
        {
        ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
    return IsRequiredTxt(txtBoxId,ImgID);   
               
}

function IsValidUserName(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{
    if(document.getElementById(txtBoxId).value.length <=70 )
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
     return IsRequiredTxt(txtBoxId,ImgID);       
}

function IsValidPassword(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{
    
    if(document.getElementById(txtBoxId).value.length <=50 )
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
     return IsRequiredTxt(txtBoxId,ImgID);       
}

// Check if the string contains only digits
 /// Example: "avi123" - false, "123" - true.
function IsOnlyDigits(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{
  var reg = new RegExp("^\\d*$","g");
    if(reg.test(document.getElementById(txtBoxId).value) || document.getElementById(txtBoxId).value =="")
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
     return IsRequiredTxt(txtBoxId,ImgID);       
}

// Check if the string not contains digits
// Example: "avi" - true, "avi123" - false.
function IsOnlyLetters(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{
    var reg= new RegExp("^\\D*$","g");
    if(reg.test(document.getElementById(txtBoxId).value) || document.getElementById(txtBoxId).value =="")
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
     return IsRequiredTxt(txtBoxId,ImgID);       
}

/// Check if the string contains valid email
function  IsValidEmail(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{   
    var reg = new RegExp("^([0-9a-zA-Z]+([_.-]?[0-9a-zA-Z]+)*@[0-9a-zA-Z]+[0-9,a-z,A-Z,\\-,\\.]*(\\.{1}[a-zA-Z]{2,4}))$");
    if((reg.test(document.getElementById(txtBoxId).value) || document.getElementById(txtBoxId).value =="") && document.getElementById(txtBoxId).value.length > 7 &&  document.getElementById(txtBoxId).value.length<66)
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
      
     return IsRequiredTxt(txtBoxId,ImgID);       
}

/// Check if the string contains valid URL
function  IsValidURL(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{
    var reg = new RegExp("http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?");
    if(reg.test(document.getElementById(txtBoxId).value) || document.getElementById(txtBoxId).value =="" )
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
     return IsRequiredTxt(txtBoxId,ImgID);       
}

/// Check if the string contains valid phone number
function IsValidPhone(txtBoxId, ImgPathErr, ImgID, ImgDefault) {
   if (document.getElementById(txtBoxId).value.indexOf("-") == 0)
       document.getElementById(txtBoxId).value = document.getElementById(txtBoxId).value.replace("-", "");
    var reg = new RegExp("\\b(\\d[-\s]?){8,15}\\b");
    if(reg.test(document.getElementById(txtBoxId).value) || document.getElementById(txtBoxId).value =="" )
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
    return IsRequiredTxt(txtBoxId,ImgID);        
}

/// Check if the string contains valid phone number
function IsValidCellPhone(txtBoxId, ImgPathErr, ImgID, ImgDefault) {
   if (document.getElementById(txtBoxId).value.indexOf("-") == 0)
       document.getElementById(txtBoxId).value = document.getElementById(txtBoxId).value.replace("-", "");
    var reg = new RegExp("\\(?\\b([0-9]{3})\\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})\\b");
    if(reg.test(document.getElementById(txtBoxId).value) || document.getElementById(txtBoxId).value =="" )
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
    return IsRequiredTxt(txtBoxId,ImgID);        
}





/// Check if the string contains valid zip number
function  IsValidZip(txtBoxId,ImgPathErr,ImgID,ImgDefault)
{
   // var reg = /(^\d{5}$)|(^\d{5}-\d{4}$)/
    var reg = new RegExp("^\\d{5}$","g");
   if(reg.test(document.getElementById(txtBoxId).value) || document.getElementById(txtBoxId).value =="")
        {
         ChangeValid(1,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        }
    else 
        {
         ChangeValid(0,txtBoxId,ImgID,ImgDefault,ImgPathErr);
        return false;
        }
        
     return IsRequiredTxt(txtBoxId,ImgID);       
}


 function CheckValid()
	 {
	    var elements = document.getElementsByTagName('input');
	    if (checkControlsValid(elements))
	        {
	            elements = document.getElementsByTagName('textarea');
	            return checkControlsValid(elements)
	        }
	    else
	        return false;     
	        
	 }
	 
	 function ReturnValidationMsg()
	 {
	    var elements = document.getElementsByTagName('input');
	     var msgError=checkControlsValidMsg(elements);
	    if (msgError == "")
	        {
	            elements = document.getElementsByTagName('textarea');
	            return checkControlsValidMsg(elements)
	        }
	    else
	        return msgError;  
	  }     
	        
	        
	        
    function checkControlsValidMsg(elements)
     {        
        var msgError="";
        for (var i=0;i< elements.length;i++)
	        {
	            if (elements[i].IsValidText != null)
	            {
	                if (elements[i].IsValidText =="false")
	                   { 
                         if(document.getElementById(elements[i].id + "_ImgErr").src == "" || document.getElementById(elements[i].id + "_ImgErr").src==document.URL ||  document.getElementById(elements[i].id + "_ImgErr").src.indexOf('pixel.gif') != -1)
                          if( elements[i].attributes["ErrImgPath"] != null)
                           {
                            //document.getElementById(elements[i].id + "_ImgErr").src= elements[i].attributes["ErrImgPath"].value;
                            }
	                       if (msgError == "")
	                            msgError = elements[i].attributes["LblErrMsg"].value;
	                       elements[i].className = "inputRed " + elements[i].className      
	                   }
	                else
	                    {
	                        elements[i].className = elements[i].className.replace("inputRed","");
	                    }   
    	         
	            }
	        }
	      return msgError; 
    }
    
	  	 
 function checkControlsValid(elements)
 {
   
    var msg="";
    for (var i=0;i< elements.length;i++)
	    {
	        if (elements[i].IsValidText != null)
	        {
	            if (elements[i].IsValidText =="false")
	               { 
                     if(document.getElementById(elements[i].id + "_ImgErr").src == "" || document.getElementById(elements[i].id + "_ImgErr").src==document.URL ||  document.getElementById(elements[i].id + "_ImgErr").src.indexOf('pixel.gif') != -1)
                      if( elements[i].attributes["ErrImgPath"] != null)
                       {
                        //document.getElementById(elements[i].id + "_ImgErr").src= elements[i].attributes["ErrImgPath"].value;
                        
                        }
                       elements[i].className = "inputRed " + elements[i].className 
	                   msg= "false";
	               }
	             else
	                {
	                elements[i].className = elements[i].className.replace("inputRed","");  
	                }
	         
	        }
	    }
	  if(msg =="")
	    return true;
	  else
	    return false; 
 
 }
 	 
 function CheckRequired()
 {
     var msg ="";
     elements = document.getElementsByTagName('input');
     if (! checkControlsRequired(elements))
     msg="false"
     elements = document.getElementsByTagName('textarea')
     if (! checkControlsRequired(elements))
     msg="false"
     
     if(msg =="")
	    return true;
	  else
	    return false; 
 }  
 
 function checkControlsRequired(elements)
 { 
    var msg ="";
    for (var i=0;i< elements.length;i++)
	    {	       
	        if (elements[i].attributes["IsRequired"]!= null)
	        {
	            if (elements[i].attributes["IsRequired"].value =="True" || elements[i].attributes["IsRequired"].value =="true" )
	               { 
	                   if(elements[i].attributes["ErrImgIsRequired"] != null)  
	                        if(elements[i].value == "")
	                           {
	                           if(document.getElementById(elements[i].id + "_ImgErr").src == "" || document.getElementById(elements[i].id + "_ImgErr").src==document.URL ||  document.getElementById(elements[i].id + "_ImgErr").src.indexOf('pixel.gif') != -1)
	                                 {
	                                 //document.getElementById(elements[i].id + "_ImgErr").src = elements[i].attributes["ErrImgIsRequired"].value; 
	                                 elements[i].className = "inputRed " + elements[i].className 
	                                 elements[i].IsValidText = "false";
	                                 msg = "false";
	                                 }
	                           }
	                        else 
	                            if(document.getElementById(elements[i].id + "_ImgErr").src ==  elements[i].attributes["ErrImgIsRequired"].value)
	                                 {
	                                 document.getElementById(elements[i].id + "_ImgErr").src=elements[i].attributes["ImgDefault"].value;
	                                 elements[i].IsValidText = "true";
	                                 elements[i].className = elements[i].className.replace("inputRed","");
	                                 }
	                                 
	                   
	               }
	         
	        }
	    }
	  
	  if(msg =="")
	    return true;
	  else
	    return false;  
    
 }
 
 function IsRequiredTxt(txtBoxId,ImgID)
 {
    if (document.getElementById(txtBoxId).attributes["IsRequired"] !=null)
        if (document.getElementById(txtBoxId).attributes["IsRequired"].value == "true" || document.getElementById(txtBoxId).attributes["IsRequired"].value == "True")
           if(document.getElementById(txtBoxId).value =="")
               {
                    //document.getElementById(ImgID).src = document.getElementById(txtBoxId).attributes["ErrImgIsRequired"].value;
                    document.getElementById(txtBoxId).className = "inputRed " + document.getElementById(txtBoxId).className
                    document.getElementById(txtBoxId).IsValidText="false";
                    //Show Alert in Label:
                    if(document.getElementById(txtBoxId).attributes["AlertID"] != null && document.getElementById(txtBoxId).attributes["AlertID"].value!="")
                    {
                        ShowReqAlert(document.getElementById(txtBoxId).attributes["AlertID"].value);
                    }
                    return false;
               } 
     if(document.getElementById(ImgID)!=null)
        document.getElementById(ImgID).src = document.getElementById(txtBoxId).attributes["ImgDefault"].value;
     document.getElementById(txtBoxId).className =document.getElementById(txtBoxId).className.replace("inputRed","");
     document.getElementById(txtBoxId).IsValidText = "true";
     //Hide Alert in Label:
     if(document.getElementById(txtBoxId).attributes["AlertID"] != null && document.getElementById(txtBoxId).attributes["AlertID"].value!="")
     {
         HideAlert(document.getElementById(txtBoxId).attributes["AlertID"].value);
     }
     return true;           
  }     
  
 
  function ChangeValid(valid,txtBoxId,ImgID,ImgDefault,ImgPathErr)
  {
    if(valid==1)
        {
        if(document.getElementById(ImgID)!=null)
            document.getElementById(ImgID).src = ImgDefault;
        document.getElementById(txtBoxId).IsValidText = "true";
        document.getElementById(txtBoxId).className =document.getElementById(txtBoxId).className.replace("inputRed","");

        }
    else 
        {
            //document.getElementById(ImgID).src = ImgPathErr;
           document.getElementById(txtBoxId).className ="inputRed " + document.getElementById(txtBoxId).className;
            document.getElementById(txtBoxId).IsValidText = "false";
             //Show Alert in Label:
            if(document.getElementById(txtBoxId).attributes["AlertID"] != null && document.getElementById(txtBoxId).attributes["AlertID"].value!="")
            {
                ShowNotValidAlert(document.getElementById(txtBoxId).attributes["AlertID"].value);
            }
            
        }
  }           