﻿// JScript File  For Validating email,Url,TextBoxEmpty.....

/* Function to compare passowrs  */
function ComparePasswords(obj,TableName)
{
    var x=obj.getAttribute("compareTotxt");
        if(document.getElementById(x).value==obj.value)
          {         
                return "";            
          }
        else
          {     
              return "Password Mismatch";
          }
}


function regularXValidation(obj,TableName)
{
   //alert(obj.getAttribute("regularX")); 
 if(obj.getAttribute("regularX")=="zip")
      {
       return  validateZIP(obj,TableName)
      }
  if(obj.getAttribute("regularX")=="phone")
      {
       return  validatePhone(obj,TableName)
      }

}

function validatePhone(obj,TableName)
{
 var ZipToTest =obj;
  var IsFound = /((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}/.test(ZipToTest.value);
  if(!IsFound)
    {
       if(TableName=='MMenuTblData')
          {            
            var endtxt=obj.getAttribute("id").split("txt");
            var part_num=0;
            return " Invalid Phone No:";//+endtxt[1] ;
          }
       else
         {
            return "Invalid Phone No:";//+obj.getAttribute("id").replace(/txt/,"");
         }
    }
 else
   {
    return "";
   }   


}

function emailcheck(email)
{
    var emailToTest = email.toLowerCase();
    var IsFound = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*\.(\w{2}|(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum))$/.test(emailToTest.toLowerCase());
    if(!IsFound)
    {
    return false;
    }
    else if(emailToTest.match(/@hotmail.com/))
    {
     //alert("Hotmail Found");
     //ctl00_ModalPopupinfo
     var extender=$find('ctl00_ModalPopupinfo');
     //alert(extender);
     extender.show();
     return true;  //Changed return value false to true on Issue no:2118
    }
    else 
    {
    return true;
    }
}


function validateInt(obj,TableName)
{
 var intToTest = obj;
 var IsFound = /^\d+$/.test(intToTest.value);
  if(!IsFound)
    {
       if(TableName=='MMenuTblData')
          {            
            var endtxt=obj.getAttribute("id").split("txt");
            var part_num=0;
            return " Invalid format";//+endtxt[1] ;
          }
       else
         {
            return "Invalid format";//+obj.getAttribute("id").replace(/txt/,"");
         }
    }
 else
   {
    return "";
   }   


}


function validateMoney(obj,TableName)
  {
  var moneyToTest =obj;
    var IsFound = /^\$?(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d{1,2}){0,1}$/.test(moneyToTest.value);
  if(!IsFound)
    {
       if(TableName=='MMenuTblData')
          {            
            var endtxt=obj.getAttribute("id").split("txt");
            var part_num=0;
            return " Invalid format";
          }
       else
         {
            return " Invalid format";
         }
    }
 else
   {
      return "";
   }   
  
  }


function validateZIP(obj,TableName)
  {
  var ZipToTest =obj;
  var IsFound = /\b[0-9]{5}(?:-[0-9]{4})?\b/.test(ZipToTest.value);
  if(!IsFound)
    {
       if(TableName=='MMenuTblData')
          {            
            var endtxt=obj.getAttribute("id").split("txt");
            var part_num=0;
            return " Invalid Zip";
          }
       else
         {
            return " Invalid Zip";
         }
    }
 else
   {
      return "";
   }   
  
  }


function ValidateEmail(obj,TableName)
 {
      if ((obj.value==null)||(obj.value==""))
        {
          if(TableName=='MMenuTblData')
             {
               var endtxt=obj.getAttribute("id").split("txt");
               var part_num=0;
               return " Invalid Email Address";//+endtxt[1] ;
             }
         else
            {
             return " Invalid Email Address";//+obj.getAttribute("id").replace(/txt/,"");
            }        
        }
     
     if(emailcheck(obj.value)==false)
         {
           if(TableName=='MMenuTblData')
             {            
               var endtxt=obj.getAttribute("id").split("txt");
               var part_num=0;
               return " Invalid Email Address";//+endtxt[1] ;
             }
          else
            {
            return " Invalid Email Address";//+obj.getAttribute("id").replace(/txt/,"");
            } 
       
         }
     return "";
 }


/*URL Validation */

function ValidateURL(obj,TableName)
{
  var urlToTest =obj;
  if(trim(urlToTest.value)=='')
  {
   return "";
  }

  //var IsFound = /^(http:\/\/www.|https:\/\/www.|ftp:\/\/www.|www.|http:\/\/|https:\/\/|ftp:\/\/){1}([\w]+)(.[\w]+){1,2}$/.test(urlToTest.value);
  //var IsFound = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/.test(urlToTest.value);
  var IsFound = /http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/.test(urlToTest.value);
  if(!IsFound)
    {
       if(TableName=='MMenuTblData')
          {            
            var endtxt=obj.getAttribute("id").split("txt");
            var part_num=0;
            return " Invalid URL";//+endtxt[1] ;
          }
       else
         {
            return " Invalid URL";//+obj.getAttribute("id").replace(/txt/,"");
         }
    }
 else
   {
    return "";
   }   
}




function CheckReqTxtBox(obj,TableName,showmessage)
{
      
        if((obj.value==null)||(obj.value==""))
        {
            if(TableName=='MMenuTblData')
            {
            var endtxt=obj.getAttribute("id").split("txt");
            var part_num=0;
            //return  showmessage+" Required";
             
            return  " Required"//endtxt[1]+" cannot left empty";
            }
            else
            {
            //return showmessage+" Required";//obj.getAttribute("id").replace(/txt/,"") +" cannot left empty";
             
            return " Required";
            }
        }
        return "";
}

function DisplayMessage(obj,msg)
{ 
        if(window.navigator.appVersion.indexOf("MSIE")!=-1) //works in IE
        {
             var row=obj.parentNode.parentNode;
             var targetCell=row.childNodes[3];           
            if(obj.id=='ctl00_ContentPlaceHolder1_txtCode')
            {
              targetCell=row.childNodes[1];
              if(msg=='')
                {
                targetCell.innerHTML="<table border=0 cellspacing=0 cellpadding=0><tr><td width=80px><td valign='top'><img src='../../../../images/green_tick.gif'/><td></td></tr></table>";
                return;
                }           
                row.align='left';
                row.style.display='inline';           
                targetCell.innerHTML="<table align='left' border=0 cellspacing=0 cellpadding=0><tr><td width=80px><td valign='top'><img src='../../../../images/red_x.gif'/></td></td><td valign='top'>&nbsp;<font color='red' style=font-family: Arial>" + msg + "</font><td></tr></table>" ;
                return;
            }    
            if(obj.id!='')    
            {  
                if(msg=='')
                {
                    targetCell.innerHTML="<table border=0 cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/green_tick.gif'/><td></tr></table>";
                    return;
                }
                // var dvMessage=document.createElement('div');
           // dvMessage.innerHTML="<img src='../../../../images/red_x.gif'/>&nbsp;" + msg;
           // dvMessage.style.color='Red';
             row.align='left';
             row.style.display='inline';
            //targetCell.innerHTML='';
           
             targetCell.innerHTML="<table align='left' border=0 cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/red_x.gif'/></td><td valign='top'>&nbsp;<font color='red' style=font-family: Arial>" + msg + "</font><td></tr></table>" ;
           //  targetCell.appendChild(dvMessage);
           
            }
            else
            {
                if(obj.value=='')
                {           
                    
                    var CaptchaMsg=document.getElementById("CaptchaMsg");
                  
                    CaptchaMsg.innerHTML="<table align='left' border=0 cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/red_x.gif'/></td><td valign='top'>&nbsp;<font color='red' style=font-family: Arial>" + "Invalid Code" + "</font><td></tr></table>" ;
                }
                else
                {
                    var CaptchaMsg=document.getElementById("CaptchaMsg");//.innerHTML="<table align='left' border=0 cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/red_x.gif'/></td><td valign='top'>&nbsp;<font color='red' style=font-family: Arial>" + "" + "</font><td></tr></table>" ;
                    CaptchaMsg.innerHTML="<table align='left' border=0 cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/green_tick.gif'/></td><td valign='top'>&nbsp;<font color='red' style=font-family: Arial>" + "" + "</font><td></tr></table>" ;
                }
            }
           
       }
      
       else//works in firefox

       {
           
             if(obj.id!='')
             {
            var row=obj.parentNode.parentNode;
            if(msg=='')
            {
            if(row.childNodes[7]!=null)
               row.childNodes[7].innerHTML="<table align='left'  border=0 cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/green_tick.gif'/><td></tr></table>";
            else
               row.childNodes[3].innerHTML="<table align='left'  border=0 cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/green_tick.gif'/><td></tr></table>";
           
            return;
            }
            //var dvMessage=document.createElement('div');
           // dvMessage.innerHTML="<img src='../../../../images/red_x.gif'/>&nbsp;"+ msg;
           // dvMessage.style.color='Red';sss
            row.align='left';
            //if(row.childNodes[3]!=null)
            if(row.childNodes[7]!=null)
            {            
            row.childNodes[7].innerHTML='';
            //row.childNodes[3].innerHTML='';
            row.childNodes[7].innerHTML="<table border=0  align='left' cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/red_x.gif'/></td><td valign='top'>&nbsp;<font color='red'>" + msg + "</font><td></tr></table>" ;
            //row.childNodes[3].innerHTML="<table border=0  align='left' cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/red_x.gif'/></td><td valign='top'>&nbsp;<font color='red'>" + msg + "</font><td></tr></table>" ;
            }
            else
            {
            row.childNodes[3].innerHTML='';
            row.childNodes[3].innerHTML="<table border=0  align='left' cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/red_x.gif'/></td><td valign='top'>&nbsp;<font color='red'>" + msg + "</font><td></tr></table>" ;
            }
          //  row.childNodes[7].appendChild(dvMessage);
          }
          else
          {
              if(obj.value=='')
              {  
                    var CaptchaMsg=document.getElementById("CaptchaMsg");
                    CaptchaMsg.innerHTML="<table align='left' border=0 cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/red_x.gif'/></td><td valign='top'>&nbsp;<font color='red' style=font-family: Arial>" + "Invalid Code" + "</font><td></tr></table>" ;
                }
                else
                {
                    var CaptchaMsg=document.getElementById("CaptchaMsg");//.innerHTML="<table align='left' border=0 cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/red_x.gif'/></td><td valign='top'>&nbsp;<font color='red' style=font-family: Arial>" + "" + "</font><td></tr></table>" ;
                    CaptchaMsg.innerHTML="<table align='left' border=0 cellspacing=0 cellpadding=0><tr><td valign='top'><img src='../../../../images/green_tick.gif'/></td><td valign='top'>&nbsp;<font color='red' style=font-family: Arial>" + "" + "</font><td></tr></table>" ;
                }
          }
       }
}

/* VALIDATION STARTS  HERE  */

function ValidateList(obj,TableName)
{
obj=getObject(window,"ctl00_ContentPlaceHolder1_lstAddressType");

 var message;
 message='';
message=CheckReqList(obj,TableName,ShowMessage);
 DisplayMessage(obj,message);
            
            if(message!="")
             {
               return false;
             }
      
 }

function CheckReqList(obj,TableName,showmessage)
{


    var checked=0;
      
        if((obj.value==null)||(obj.value==""))
        {   
            for(var i=0;i<obj.length;i++ )
                {
                    //alert(getObject(window,"ctl00_ContentPlaceHolder1_lstAddressType").options[i].text);
	                    if(obj.options[i].selected)
	                        {
	                       
	                            checked=1;
	
	                        }
 
                  }
        
       
            if(checked=0)
            {   
                alert("required");                
                return  " Required" //endtxt[1]+" cannot left empty";
            }
            else
            {
            //return showmessage+" Required";//obj.getAttribute("id").replace(/txt/,"") +" cannot left empty";
                alert("Ok");  
                return "";
            }
        }
      
}


function ValidateTxt(obj,TableName)
{

    var message;
    message='';
    var Req=obj.getAttribute("required");
    var format=obj.getAttribute("urlformatval");
    var emaivalidate=obj.getAttribute("emailval");    
    var ShowMessage=obj.getAttribute("label");
    var comparepwd=obj.getAttribute("comparepwd");
    var regXValidator=obj.getAttribute("regularX");
    var pwdCompareTotxt=obj.getAttribute("compareTotxt");
    var integerValidate=obj.getAttribute("integerformatval");
    var moneyValidate=obj.getAttribute("moneyformatval");

    //alert(Req);
    if(Req!='undefined')
      {
         if(Req=="yes")
            {
               message=CheckReqTxtBox(obj,TableName,ShowMessage);
            }
            DisplayMessage(obj,message);
            if(message!="")
             {
               return false;
             }
     }

   if(format !='undefined' && format=="url")
     {
        if(message!="")
           {
              message=message+", "+ValidateURL(obj,TableName);
           }
       else
          {
             message=ValidateURL(obj,TableName);
          }
          DisplayMessage(obj,message);
          if(message!="")
             {
               return false;
             }
     }
 
   if(emaivalidate!='undefined' && emaivalidate=="email")
     {
       if(message!="")
          {
             message=message+", "+ValidateEmail(obj,TableName);
          }
       else
         {
             message=ValidateEmail(obj,TableName);
         }
         DisplayMessage(obj,message);
         if(message!="")
             {
               return false;
             }
     }
     
     if(regXValidator!=null && regXValidator!="")
     { 
        
            if(message!="")
              {
                message=message+", "+regularXValidation(obj,TableName);
              }
           else
             {
               message=regularXValidation(obj,TableName);
             }
               DisplayMessage(obj,message);
               if(message!="")
                  {
                   return false;
                  }          
         } 
         
         
   //Comparing  password textBoxes
         
    if(pwdCompareTotxt!=null && pwdCompareTotxt!="")
     { 
            
            if(message!="")
              {
                //message=message+", "+ComparePasswords(obj,TableName);
                message=ComparePasswords(obj,TableName);
              }
           else
             {
               message=ComparePasswords(obj,TableName);
             }
               DisplayMessage(obj,message);
               if(message!="")
                  {
                   return false;
                  }          
         }      
             
    
     
     if(moneyValidate!='undefined' && moneyValidate=="money")
     {
       if(message!="")
          {
             message=message+", "+ validateMoney(obj,TableName);
          }
       else
         {
             message=validateMoney(obj,TableName);
         }
         DisplayMessage(obj,message);
         if(message!="")
             {
               return false;
             }
     }
     
     if(integerValidate!='undefined' && integerValidate=="integer")
     {
       if(message!="")
          {
             message=message+", "+ validateInt(obj,TableName);
          }
       else
         {

             message=validateInt(obj,TableName);

         }
         DisplayMessage(obj,message);
         if(message!="")
             {
               return false;
             }
     }
           
                return true;    
    
  }
  
function validateDropDown(obj,TableName)
{
//alert('ok');

    var message;
    message='';
    var Req=obj.getAttribute("required");
    
    if(Req!='undefined')
    {
         if(Req=="yes")
            {
               message=checkReqDropDown(obj,TableName,ShowMessage);
            }
            DisplayMessage(obj,message);
            if(message!="")
             {
               return false;
             }
     }
     return true;    
}
   
function checkReqDropDown(obj,TableName,showmessage)
{
//alert('ok');
       
        if((obj.value==null)||(obj.value=="Select..."))
        {
            if(TableName=='MMenuTblData')
            {
                return  " Required"
            }
            else
            {
                return " Required";
            }
        }
        return "";
}

/*  FORM   VALIDATION   */

function ValidateForm(TableId)
{
  // alert("ok");
    var toreturn;
    toreturn=true;   
    for(i=0;i<document.getElementById(TableId).getElementsByTagName("input").length;i++)
    {
     // alert("ok");
        if(document.getElementById(TableId).getElementsByTagName("input")[i].type=="text" || document.getElementById(TableId).getElementsByTagName("input")[i].type=="password")
        {
        
                    
            var result1=ValidateTxt(document.getElementById(TableId).getElementsByTagName("input")[i],TableId);
          
           if(result1==false)
            {
             toreturn=result1;              
            }
        }
    }
   
    for(i=0;i<document.getElementById(TableId).getElementsByTagName("textarea").length;i++)
    {
//      alert("ok");
        if(document.getElementById(TableId).getElementsByTagName("textarea")[i]!=null)
        {
            var result1=ValidateTxt(document.getElementById(TableId).getElementsByTagName("textarea")[i],TableId);

            if(result1==false)
            {
                toreturn= result1;
            }
        }
    }
    
    
    for(i=0;i<document.getElementById(TableId).getElementsByTagName("select").length;i++)
    {
//      alert("ok");
        if(document.getElementById(TableId).getElementsByTagName("select")[i]!=null)
        {
            var result1=validateDropDown(document.getElementById(TableId).getElementsByTagName("select")[i],TableId);

            if(result1==false)
            {
                toreturn= result1;
            }
        }
    }
    
   
    return toreturn;
    
}



 







