﻿////check mobile validation with blank

function ValidateMobile(S1,msg)
{
    var x=S1.value;
    if(x!='')
    {
        var i;
        for (i = 0; i < x.length; i++)
         {   
        // Check that current character is number.
           var c = x.charAt(i);
           if (((c < "0") || (c > "9"))) 
           {
             alert("Please enter valid "+ msg+".") 
             S1.focus();
             S1.value="";
             return false;
           }
         }
     
        if (x.charAt(0)!= 9 && x.charAt(0)!= 0)
        {
         alert(msg+" should start with 9 or 0.");
         S1.focus();
         S1.value="";
         return false;
        }
        if (x.length>=12 ||x.length<10)
        {
         alert("Please enter 10 or 11 digits for "+msg+".");
         S1.focus();
         return false;
        }  
     }      
}
function ValidateLandLine(S1,msg)
{
    var x=trimAll(S1.value);
 
    if(x!='')
    {
        var i;
        for (i = 0; i < x.length; i++)
         {   
        // Check that current character is number.
           var c = x.charAt(i);
           if (((c < "0") || (c > "9"))) 
           {
             alert("Please enter valid "+ msg+".") 
             S1.focus();
             S1.value="";
             return false;
           }
         }
     
        if (x.charAt(0)!= 0)
        {
         alert(msg+" should start with 0.");
         S1.focus();
         return false;
        }
        if (x.length > 11 ||x.length<10)
        {
         alert("Please enter 10 or 11 digits for "+msg+".");
         S1.focus();
         return false;
        }  
     }      
}

function validatedot(s1,msg)
{
var x=s1.value;
if(x!='')
  {
  var c=x.charAt(0)
  if(c==".")
  {
     alert (msg+" cannot start with Dot.");
     s1.focus();
     s1.value="";
     return false;
  }
  
  }
}
//check for telephone
function Validatetelephone(S1,msg)
{
    var x=S1.value;
    if(x!='')
    {
        var i;
        for (i = 0; i < x.length; i++)
         {   
        // Check that current character is number.
           var c = x.charAt(i);
           if (((c < "0") || (c > "9"))) 
           {
             alert("Please enter valid "+ msg+".") 
             S1.focus();
             S1.value="";
             return false;
           }
         }
     
        if ( x.charAt(0)!= 0)
        {
         alert(msg+" should start with 0.");
         S1.focus();
         S1.value="";
         return false;
        }
        if (x.length>=12 ||x.length<10)
        {
         alert("Please enter 10 or 11 digits for "+msg+".");
         S1.focus();
         S1.value="";
         return false;
        }  
     }      
}


////check Email validation with blank
function ValidateEmail(S1,msg)
{
   var x=S1.value;
   if(x!='')
   {
       if(validateemailv2(x)==false)
       {
         alert("Please enter valid Email ID.");
	     S1.focus();
	     S1.value="";
	     return false;
       }
   }
}
////check valid email ID
function validateemailv2(email)
{
   var splitted = email.match("^(.+)@(.+)$");
   if(splitted == null) return false;
   if(splitted[1] != null )
   {
   var regexp_user=/^\"?[\w-_\.]*\"?$/;
   if(splitted[1].match(regexp_user) == null) return false;
   }
   if(splitted[2] != null)
   {
   var regexp_domain=/^[\w-\.]*\.[a-za-zA-ZA-Z]{2,4}$/;
   if(splitted[2].match(regexp_domain) == null)
   {
   var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
   if(splitted[2].match(regexp_ip) == null) return false;
   }
   return true;
   }
   return false;
}

////validation for terminals numeric and 2 digit lenth allowed
function ValidateTerminals(S1,msg)
{
  var x=trimAll(S1.value);
  if (x>255)
   {
     alert("Please enter less than 256 in No. of Terminals.");
     S1.focus();
     S1.value="";
     return false;
   }
 if( x== 0)
  {
   alert("Zero is not allowed in No. of Terminals.");
   S1.focus();
   S1.value="";
   return false;
  }   
 var i;
 for (i = 0; i < x.length; i++)
  {   
    var c = x.charAt(i);
    if (((c < "0") || (c > "9"))) 
    {
      alert("Only numeric values allowed in No. of Terminals.")
      S1.focus();
      S1.value="";  
      return false;
    }
  }
}
//validate pincode
function ValidatePincode(S1,msg)
{
 var x=S1.value;
 if(isNaN(x)|| x.indexOf(" ")!=-1)
  {
   alert("Please enter only numeric value for pincode.");
   S1.focus();
   S1.value="";
   return false;  
  }
  if (x.length!=6)
  {
     alert("Only 6 digit allowed for pincode.");
     S1.focus();
     return false;
  }
}
////validation for  name only charector allowed 
function ValidateName(s1,msg)
{
  var x=s1.value;  
   var mikExp = /[$\\@\\\#%\^\*\(\)\[\]\<\>\+\_\{\}\`\!\~\=\|\?\:\;\,\/\"]/;
   if(x.length > 0)
   {
       for(var i=0;i<x.length;i++)
       {
           var k=x.charAt(i);
           if(k.search(mikExp) == 0)
           {
                alert('Please enter character value in '+msg+'.');
                s1.focus();
                return false;
           }
           if(k.search('-') == 0)
           {
                alert('Please enter character value in '+msg+'.');
                s1.focus();
                return false;
           }
           if(isNaN(k)|| k.indexOf(" ")!=-1)
           {
               //return true;;  
           }
           else
           {
             alert('Please enter character value in '+msg+'.');
             s1.focus();
             return false;  
           }
       }
   } 
}

////validation for  name only charector allowed 
function ValidateCharectorForName(s1,msg)
{
  var x=s1.value;
  
  var mikExp = /[$\\@\\\#%\^\&\*\(\)\[\]\<\>\+\_\{\}\`\~\=\|\?\:\;\,\.\/\'\"]/;
   if(x.length > 0)
   {
       for(var i=0;i<x.length;i++)
       {
           var k=x.charAt(i);
           if(k.search(mikExp) == 0)
           {
                alert('Please enter character value in '+msg+'.');
                s1.focus();
                s1.value="";
                return false;
           }
           if(k.search('-') == 0)
           {
                alert('Please enter character value in '+msg+'.');
                s1.focus();
                s1.value="";
                return false;
           }
           if(isNaN(k)|| k.indexOf(" ")!=-1)
           {
               //return true;;  
           }
           else
           {
             alert('Please enter character value in '+msg+'.');
             s1.focus();
             s1.value="";
             return false;  
           }
       }
   } 
}
////check blank textbox
function Validatecheckforblank(S1,msg)
{
    var x=S1.value; 
    var FinalString=trimAll(x); 
    var bool=checkspace(FinalString)  
    if(FinalString == ''||bool==false)
    {
       alert(msg+' cannot be left blank.');
       S1.value="";
       S1.focus();
       return false;  
    }   
}
//the following function used for triming the value
function trimAll(sString) 
{ 
    while (sString.substring(0,1) == ' ') 
    { 
    sString = sString.substring(1, sString.length); 
    } 
    while (sString.substring(sString.length-1, sString.length) == ' ') 
    { 
    sString = sString.substring(0,sString.length-1); 
    } 
  return sString; 
} 


function ValidatecheckforLength(S1,msg,len)
{
    var x=S1.value.length;
    if(x > len)
    {
       alert("Maximum length for "+ msg + " is "+len +" characters.");
       S1.focus();
       return false;  
    }
}

function ValidateforBothblank(S1,S2,msg)
{
    var x=trimAll(S1.value);
    var y=trimAll(S2.value);
    if(x == '' && y=='')
    {
       alert(msg+" cannot be left blank.");
       S2.focus();
       return false;  
    }
}
//Validate for the state if other is selected
function ValidatecheckforState(S1,msg)
{
 var x=S1.value;
 if(x=='---select---')
 {
  alert("Please select city.")
  S1.focus();
  return false;
 }
}

//validate cafe name
function ValidateCafeName(S1)
{
  var s=S1.value;  
   var mikExp = /[\<\>]/;
   if(s.length > 0)
   {
       for(var i=0;i<s.length;i++)
       {
           var k=s.charAt(i);
           if(k.search(mikExp) == 0)
           {
                alert('< and > are not allowed in Cyber Cafe Name.');
                S1.value="";
                S1.focus();
                return false;
           }           
       }
   } 
}

// Removes leading whitespaces
function LTrim( value )
 {	
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "");	
}

// Removes ending whitespaces
function RTrim( value )
 {	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "");	
}

// Removes leading and ending whitespaces
function trim( value )
 {	
	return LTrim(RTrim(value));	
 }

function ValidateForSpace(S1,msg)
{
  var x=S1.value;
  reWhiteSpace = new RegExp(/^\s+$/);
  if (reWhiteSpace.test(x)) 
  {
      alert(msg+" cannot be left blank.");
      S1.focus();
      return false;
  } 
}
//for removing spaces
function checkspace(s1)
{
  //var x=s1.value;
  reWhiteSpace = new RegExp(/^\s+$/);
  if (reWhiteSpace.test(s1)) 
  {
    return false;
  } 
}

function ValidateURl(s1)
{
  if(s1.value !='')
  {       
      var url=/^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/; 
   
      var testurl=s1.value;
      if(url.test(testurl)==false)
      {
       alert('Invalid url address.');
       s1.value="";
         s1.focus();
       return false;
      }     
  }
}
// Validate Month. User is alowed to select till month
function ValidatecheckforMonth(s1,s2)
{
    var d=new Date();
    var currmonth=d.getMonth();
    var curryear=d.getYear();
    currmonth = currmonth+1;
    var month = s1.value;
    if (month>currmonth && curryear == s2.value) 
    {
    
    alert('Please select any month till current month.');
    return false;
    }  
}
//validating the date .user is allowed to enter only date before yesterday
function validateYesterdayDate(s1)
{
    var d=new Date();
    var date1=d.getDate()-1;
    var month1=d.getMonth();
    var year1=d.getFullYear();
    
    var yesterday=new Date();
    yesterday.setDate(date1);
    yesterday.setMonth(month1); // January = 0
    yesterday.setFullYear(year1); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];//since jan=0
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate>yesterday) 
    {
    alert('Please select any date before today in From Date.');
    return false;
    }  

}
//validating the date .user is allowed to enter only date untill today
function validateTodayDate(s1)
{
    var d=new Date();
    var date1=d.getDate();
    var month1=d.getMonth();
    var year1=d.getFullYear();
    
    var today=new Date();
    today.setDate(date1);
    today.setMonth(month1); // January = 0
    today.setFullYear(year1); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];//since jan=0
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate>=today) 
    {
    alert('Please select any date before today in To Date.');
    return false;
    }  
  
}
  
//validate wether fromdate less than todate
function ValidateDates(s1,s2)
{
    var from=s1.value;
    var to=s2.value;
     
    frmDt=from.split("/");
    ToDt=to.split("/");
    
    var date1=frmDt[0];
    var month1=frmDt[1]-1;//since jan=0
    var year1=frmDt[2];
        
    var fromdate=new Date(year1,month1,date1);
       
    var date2=ToDt[0];
    var month2=ToDt[1]-1;//since jan=0
    var year2=ToDt[2];
    
    var todate=new Date(year2,month2,date2);
   
    
     if (fromdate>todate) 
    {
    alert('From Date should be less or equal to To Date.');
    return false;
    }  
  }  
 function validateTodayDatedaily(s1)
  {  
    var d=new Date();
    var date1=d.getDate();
    var month1=d.getMonth();
    var year1=d.getFullYear();
    
    var today=new Date();
    today.setDate(date1);
    today.setMonth(month1); // January = 0
    today.setFullYear(year1); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];//since jan=0
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate>=today) 
      return false;  
 }
  
   
   //validating the date .user is allowed to enter only date before yesterday
function ValidateDateAfterTomorrow(s1, msg)
{
    var d=new Date();
    var date1=d.getDate()+1;
    var month1=d.getMonth();
    var year1=d.getFullYear();
    
    var tomorrow=new Date();
    tomorrow.setDate(date1);
    tomorrow.setMonth(month1); 
    tomorrow.setFullYear(year1); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate<tomorrow) 
    {
    alert('Please select any date after tomorrow in'+ msg);
    return false;
    }  

} 
function ValidateMobileAdvertiser(S1,msg)
{
    var x=S1.value;
    if(x!='')
    {
        var i;
        for (i = 0; i < x.length; i++)
         {   
        // Check that current character is number.
           var c = x.charAt(i);
           if (((c < "0") || (c > "9"))) 
           {
             alert("Please enter valid "+ msg) 
             S1.focus();
             return false;
           }
         }
     
        if (x.charAt(0)!= 9)
        {
         alert(msg+" should start with 9.");
         S1.value="";
         S1.focus();
         return false;
        }
        if (x.length<10)
        {
         alert("Please enter 10 "+msg+".");
         S1.value="";
         S1.focus();
         return false;
        }  
     }      
}

function ValidatePassword(S1,S2,msg)
{
  
      var x =trimAll(S1.value);
      var y=trimAll(S2.value);  
      var mikExp = /[\<\>]/;
      if(x.length > 0)
      {
           for(var i=0;i<x.length;i++)
           {
               var k=x.charAt(i);
               if(k.search(mikExp) == 0)
               {
                    alert('< and > not allowed in Password.');
                    S1.value="";
                    S1.focus();
                    return false;
               }           
           }
      } 
      if(x == "")
      {
       alert('Password cannot be left blank.');
       S1.value="";
       S2.value="";
       S1.focus();
       return false;           
      }    
    
      if(x.length < 4)
      {
       alert('Password should be minimum 4 characters.');
       S1.focus();
       S1.value="";
       S2.value="";
       return false;           
      }
      if(y == "")
      {
       alert('Re-Enter Password cannot be left blank.');
       S2.value="";
       S2.focus();
       return false;           
      }            
      if(x!=y)
      {
       alert('Password and Re-Enter Password should be same.');
       S2.value="";
       S2.focus();
       return false;           
      }
     
}
function ValidateSinglePassword(S1)
{
  
      var x =trimAll(S1.value);
     
      if(x == "")
      {
       alert('Password cannot be left blank.');
       S1.value="";
       S1.focus();
       return false;           
      }    
    
      if(x.length < 8)
      {
       alert('Password should be minimum 8 characters.');
       S1.focus();
       S1.value="";
       return false;           
      }
      
     
}
function ValidateBrandPassword(S1)
{
  
      var x =trimAll(S1.value);
     
      if(x == "")
      {
       alert('Password cannot be left blank.');
       S1.value="";
       S1.focus();
       return false;           
      }    
    
      if(x.length < 4)
      {
       alert('Password should be minimum 4 characters.');
       S1.focus();
       S1.value="";
       return false;           
      }
      
     
}

function ValidateAdvertiserHTML(S1,msg)
{
  var s=S1.value;  
   var mikExp = /[\<\>]/;
   if(s.length > 0)
   {
       for(var i=0;i<s.length;i++)
       {
           var k=s.charAt(i);
           if(k.search(mikExp) == 0)
           {
                alert('< and > not allowed in '+ msg+'.');
                S1.focus();
                return false;
           }           
       }
   } 
   
   if(s!='')
  {
  var c=s.charAt(0)
  if(c==".")
  {
     alert (msg+" cannot start with Dot");
     S1.focus();
     S1.value="";
     return false;
  }
  
  }
}

function ValidateDDname(S1,msg)
{
  var s=trimAll(S1.value);  
   var mikExp = /[\<\>]/;
   if(s.length > 0)
   {
       for(var i=0;i<s.length;i++)
       {
           var k=s.charAt(i);
           if(k.search(mikExp) == 0)
           {
                alert('< and > not allowed in '+ msg+'.');
                S1.focus();
                S1.value="";
                return false;
           }           
       }
   } 
   if(s!='')
  {
    var c=s.charAt(0)
    if(c==".")
      {
         alert (msg+" cannot start with Dot.");
         S1.focus();
         S1.value="";
         return false;
      }
  }
}

//validating the date .user is allowed to enter only date untill today
function validateSingleDate(s1)
{
    var d=new Date();
    var date1=d.getDate();
    var month1=d.getMonth();
    var year1=d.getFullYear();
    
    var today=new Date();
    today.setDate(date1);
    today.setMonth(month1); // January = 0
    today.setFullYear(year1); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];//since jan=0
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate>today) 
    {
    alert('Please select any date until today.');
    return false;
    }  
  
}
function validateDatetoTillDate(s1,msg)
{
    var d=new Date();
    var date1=d.getDate();
    var month1=d.getMonth();
    var year1=d.getFullYear();
    
    var today=new Date();
    today.setDate(date1);
    today.setMonth(month1); // January = 0
    today.setFullYear(year1); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];//since jan=0
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate>today) 
    {
    alert('Please select any date until today in '+msg);
    return false;
    }  
  
}

function validateDateDayCounter(s1)
{
    var d=new Date();
    var date1=d.getDate();
    var month1=d.getMonth();
    var year1=d.getFullYear();
    
    var today=new Date();
    today.setDate(date1);
    today.setMonth(month1); // January = 0
    today.setFullYear(year1); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];//since jan=0
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate>=today) 
    {
    alert('Please select any date before today.');
    return false;
    }  
  
}


function ValidateDatesLMS(s1,s2)
{
    var from=s1.value;
    var to=s2.value;
     
    frmDt=from.split("/");
    ToDt=to.split("/");
    
    var date1=frmDt[0];
    var month1=frmDt[1]-1;//since jan=0
    var year1=frmDt[2];
        
    var fromdate=new Date(year1,month1,date1);
       
    var date2=ToDt[0];
    var month2=ToDt[1]-1;//since jan=0
    var year2=ToDt[2];
    
    var todate=new Date(year2,month2,date2);
   
    
     if (fromdate>todate) 
    {
    alert('Entry Date should be less than Schedule Date.');
    return false;
    }  
  }
  
 function ValidateDatesTerminalSelection(s1,s2,btnId)
 {
    var from=s1.value;
    var to=s2.value;
     
    frmDt=from.split("/");
    ToDt=to.split("/");
    
    var date1=frmDt[0];
    var month1=frmDt[1]-1;//since jan=0
    var year1=frmDt[2];
        
    var fromdate=new Date(year1,month1,date1);
    var today=new Date();
    if(fromdate < today)
    {
      alert('Release Date should be greater than todays date.');
     
      return false;
    }
    var date2=ToDt[0];
    var month2=ToDt[1]-1;//since jan=0
    var year2=ToDt[2];
    
    var MaxDt=new Date(year2,month2,date2);
   
    
    if (fromdate<=MaxDt) 
    {
    alert('Release Date should be greater than Last Release Date.');
    
    return false;
    }  
  }
  
  
  
  //validating the date .user is allowed to enter only date untill today
function validateTodayDateLMS(s1,msg)
{
    var d=new Date();
    var date1=d.getDate();
    var month1=d.getMonth();
    var year1=d.getFullYear();
    
    var today=new Date();
    today.setDate(date1);
    today.setMonth(month1); // January = 0
    today.setFullYear(year1); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];//since jan=0
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate>today) 
    {
    alert(msg+' cannot be future date.');
    return false;
    }  
  
}  

function validateNextVisitDateLMS(s1,msg)
{
    var d=new Date();
    var date1=d.getDate();
    var month1=d.getMonth();
    var year1=d.getFullYear();
    
    var today=new Date();
    today.setDate(date1);
    today.setMonth(month1); // January = 0
    today.setFullYear(year1); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];//since jan=0
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate<today) 
    {
    alert(msg+' cannot be past date.');
    return false;
    }  
  
}  


function validateDoublequotes(S1,Msg)
{
  var s=S1.value;  
   var mikExp = /[\"\']/;
   if(s.length > 0)
   {
       for(var i=0;i<s.length;i++)
       {
           var k=s.charAt(i);
           if(k.search(mikExp) == 0)
           {
                alert('" and '+" ' are not allowed in "+Msg+'.');
                S1.value="";
                S1.focus();
                return false;
           }           
       }
   } 
}
function CheckListControl(chklist)
{
   var result=true;
   var options = chklist.getElementsByTagName('input');
   for(i=0;i<options.length;i++){
       var opt = options[i]; 
       if(opt.type=="checkbox"){
         if(opt.checked){
           result=false;
           break;}
        }
      }
   return result;
 }
 function UrlCheck(url,msg) 
 {
     var theurl=url.value;
     var tomatch= /^(https?:)\/\/[A-Za-z0-9\.-]{3,}\.[A-Za-z]{3}/
     if (tomatch.test(theurl)){
         return true;}
     else
     {
        alert(msg);
        url.focus();
        return false;
     }
}
////validation for terminals numeric and 2 digit lenth allowed
function ValidateIntegerCheck(S1,msg)
{
  var x=trimAll(S1.value);
  if( x== 0)
  {
   alert("Zero is not allowed in " + msg);
   S1.focus();
   S1.value="";
   return false;
  }   
 var i;
 for (i = 0; i < x.length; i++)
  {   
    var c = x.charAt(i);
    if (((c < "0") || (c > "9"))) 
    {
      alert("Only numeric values allowed in " + msg)
      S1.focus();
      S1.value="";  
      return false;
    }
  }
}
///special charector check
function validateSpecialChars(myStringID)
{     
  // declare which special chars to validate     
 // var illegalChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";     
  var illegalChars = "*\\\'/|\":<>?#";      
  var strToSearch = myStringID.value;      
  for (var i = 0; i < strToSearch.length; i++){  	
    if (illegalChars.indexOf(strToSearch.charAt(i)) != -1)         
        return false;}
 return true;
}


function ValidateCPC(S1,msg)
{
   var x=trimAll(S1.value);
   var txtVal= S1.value;
   var temp= new Array();
   temp=txtVal.split('.');
   if(isNaN(txtVal))
   {
     alert("Only numeric values allowed in "+ msg);
     S1.value="";
     return false;
   }
   else if(parseFloat(txtVal)<=0)
   {
     alert("Zero is not allowed in "+ msg);
     S1.value="";
     return false;
   }
   else if(temp[1]!=null)
   {
     if(temp[1].length >3)
     {
       alert("Only 3 decimal placed allowed in "+ msg)
       S1.value="";
       return false;
     }
  }
} 

function ValidateAccountName(s1,msg)
{
   var x=trimAll(s1.value);  
   var mikExp = /[$\\@\\\#%\^\*\(\)\[\]\<\>\+\_\{\}\`\!\~\=\|\?\:\;\,\/\"]/;
   if(x.length > 0)
   {
       for(var i=0;i<x.length;i++)
       {
           var k=x.charAt(i);
           if(k.search(mikExp) == 0)
           {
                alert('Please enter character value in '+msg+'.');
                s1.focus();
                return false;
           }
           if(k.search('-') == 0)
           {
                alert('Please enter character value in '+msg+'.');
                s1.focus();
                return false;
           }
           if(isNaN(k)|| k.indexOf(" ")!=-1)
           {
               //return true;;  
           }
           else
           {
             alert('Please enter character value in '+msg+'.');
             s1.focus();
             return false;  
           }
       }
   } 
   else
   {
   alert(msg+ ' should not be empty.');
     s1.focus();
   return false;
   }
}

function ValidateAccount(S1,msg)
{
var x=trimAll(S1.value);
    if(x!='')
    {
       if(parseFloat(x)==0)
       {
        alert( msg+" should not be zero.") 
             S1.focus();
             S1.value="";
             return false;
       }
        var i;
        for (i = 0; i < x.length; i++)
         {   
        // Check that current character is number.
           var c = x.charAt(i);
           if (((c < "0") || (c > "9"))) 
           {
             alert("Please enter valid "+ msg+".") 
             S1.focus();
             S1.value="";
             return false;
           }
         }
       }
      else
       {
         alert(msg+" should not be empty.");
           S1.focus();
         return false;
       }
         
}
//interger validation
////validation for terminals numeric and 2 digit lenth allowed
function ValidateInteger(S1,msg)
{
  var x=trimAll(S1.value);
  if( x== 0){
   alert("Zero is not allowed in "+ msg);
   S1.focus();
   S1.value="";
   return false;}   
  var i;
  for (i = 0; i < x.length; i++){   
    var c = x.charAt(i);
    if (((c < "0") || (c > "9"))) 
    {
      alert("Only numeric values allowed in "+ msg);
      S1.focus();
      S1.value="";  
      return false;
    }
  }
}
//password in partner section should have Password should combination of number, alphabets and special characters.
function ValidatePasswordPartner(S1,S2,msg)
{
  
      var x =trimAll(S1.value);
      var y=trimAll(S2.value);  
      var mikExp = /[\<\>]/;
      if(x.length > 0)
      {
           for(var i=0;i<x.length;i++)
           {
               var k=x.charAt(i);
               if(k.search(mikExp) == 0)
               {
                    alert('< and > not allowed in Password.');
                    S1.value="";
                    S1.focus();
                    return false;
               }           
           }
      } 
      if(x == "")
      {
       alert('Password cannot be left blank.');
       S1.value="";
       S2.value="";
       S1.focus();
       return false;           
      }    
    
      if(x.length < 4)
      {
       alert('Password should be minimum 4 characters.');
       S1.focus();
       S1.value="";
       S2.value="";
       return false;           
      }
      if(y == "")
      {
       alert('Re-Enter Password cannot be left blank.');
       S2.value="";
       S2.focus();
       return false;           
      }            
      if(x!=y)
      {
       alert('Password and Re-Enter Password should be same.');
       S2.value="";
       S2.focus();
       return false;           
      }
      var pw=S1.value;
      if(/[a-z]/i.test(pw) && /\d/.test(pw) && PartnerCheckSpecialCharacter(pw))
        return true;
      else
      {
        alert("Password should be a combination of characters [A-Z], number [0-9] and special characters [!@#$%^&*()].");
        S1.value="";
        S2.value="";
        S1.focus();
        return false;
      }
}
function ValidatePasswordPartner1(S1,S2,msg)
{
  
      var x =trimAll(S1.value);
      var y=trimAll(S2.value);  
      var mikExp = /[\<\>]/;
      if(x.length > 0)
      {
           for(var i=0;i<x.length;i++)
           {
               var k=x.charAt(i);
               if(k.search(mikExp) == 0)
               {
                    alert('< and > not allowed in Password.');
                    S1.value="";
                    S1.focus();
                    return false;
               }           
           }
      } 
      if(x == "")
      {
       alert('Password cannot be left blank.');
       S1.value="";
       S2.value="";
       S1.focus();
       return false;           
      }    
    
      if(x.length < 4)
      {
       alert('Password should be minimum 4 characters.');
       S1.focus();
       S1.value="";
       S2.value="";
       return false;           
      }
      if(y == "")
      {
       alert('Re-Enter Password cannot be left blank.');
       S2.value="";
       S2.focus();
       return false;           
      }            
      if(x!=y)
      {
       alert('Password and Re-Enter Password should be same.');
       S2.value="";
       S2.focus();
       return false;           
      }
      var pw=S1.value;
      if(/[a-z]/i.test(pw) && /\d/.test(pw))
        return true;
      else
      {
        alert("Password should be a combination of characters and numbers.");
        S1.value="";
        S2.value="";
        S1.focus();
        return false;
      }
}

function PartnerCheckSpecialCharacter(strValue)
 {
    var boolResult=false;
    var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?~_"; 
    for (var i = 0; i < strValue.length; i++)
    {
       if (iChars.indexOf(strValue.charAt(i)) != -1)
       {
         boolResult=true;
         break;
       }
       else
       boolResult=false;
    }
    return boolResult;
 }


function CheckNumberDot(S1, msg)
{
	if(S1.value == '')
	{
		alert("Please Enter " +msg+ ".");
		S1.focus();
		return false;
	}
	else if (!/^[-+]?\d*.?\d*$/.test(S1.value)) 
	{
		alert("Please enter valid "+ msg+ ".");
		S1.focus();
		S1.value = '';
		return false;
	}
	else
	  return true;
}

//for multiline textbox
function CheckCharLength(S1)
{
    var count=trimAll(S1.value);
    var words=new Array();
    words = count.split(/\s/);
    var cnt = words.length;
   
    for(var i=0; i<cnt; i++)
    {
        if(words[i].length > 44)
        {
           alert('Max limit of a word is 45 characters');
           S1.focus();
           return false;
        }
    }
}  
// Used to validate start date and end date.
function ValidateStartEndDate(startDt,endDt)
{   
    var from=startDt.value;
    var to=endDt.value;
    frmDt=from.split("/");
    ToDt=to.split("/");
    var date1=frmDt[0];
    var month1=frmDt[1]-1;//since jan=0
    var year1=frmDt[2];
    var fromdate=new Date(year1,month1,date1);
    var date2=ToDt[0];
    var month2=ToDt[1]-1;//since jan=0
    var year2=ToDt[2];
    var todate=new Date(year2,month2,date2);
    if (fromdate>todate) 
     {
      alert('Start Date should be less or equal to End Date.');
      return false;
     }  
 }
 
 // added to check mobile numbers starting from all digits not only zero and 9
function ValidateMobileNumber(S1,msg)
{
    var x=S1.value;
    var num= parseFloat(trimAll(S1.value));
    if(x!='')
    {
        var i;
        for (i = 0; i < x.length; i++)
         {   
        // Check that current character is number.
           var c = x.charAt(i);
           if (((c < "0") || (c > "9"))) 
           {
             alert("Please enter valid "+ msg+".") 
             S1.focus();
             S1.value="";
             return false;
           }
         }
         if(num==0)
            {
            alert("Please enter valid "+ msg+".");
            S1.focus();
            return false;
            }
            // Now it allows 12 digits in mobile number  : HARISH 7-12-2009
        if (x.length>12 ||x.length<10)
        {
         alert("Please enter 10 to 12 digits for "+msg+".");
         S1.focus();
         return false;
        }  
     }      
}
// added on 21/01/2010 
function ValidateCampaignPassword(S1)
{
      var x =trimAll(S1.value);
      if(x == "")
      {
       alert('Password cannot be left blank.');
       S1.focus();
       return false;           
      } 
      if(x.length < 4)
      {
       alert('Password should be minimum 4 characters.');
       S1.focus();
       return false;           
      }
      var xx =x.split(' ');
      if(parseInt(xx.length) > 1)
       {
       alert('Password should not contains blank space.');
       S1.focus();
       return false;           
       }  
} 
//added on 21/01/2010 
function ValidateCheckForSpace(S1,msg)
{
 var x =trimAll(S1.value);
  if(x == "")
  {
   alert(msg +' cannot be left blank.');
   return false;           
  }    
  if(x.length < 4)
  {
   alert(msg +' should be minimum 4 characters.');
   S1.focus();
   return false;           
  }
  var xx =x.split(' ');
  if(parseInt(xx.length) > 1)
   {
   alert(msg +' should not contains blank space.');
   S1.focus();
   return false;           
   } 
}
function ValidateCampaignUrl(S1)
{
 if(S1.value !='')
  {       
      var url= /^(https?):\/\/((?:[a-z0-9.-]|%[0-9A-F]{2}){3,})(?::(\d+))?((?:\/(?:[a-z0-9-._~!$&'()*+;=:@]|%[0-9A-F]{2})*)*)(?:\?((?:[a-z0-9-._~!$&'()*+;=:\/?@]|%[0-9A-F]{2})*))?(?:#((?:[a-z0-9-._~!$&'()*+;=:\/?@]|%[0-9A-F]{2})*))?$/i;
      if(url.test(S1.value.trim())==false)
      {
       alert('Please enter valid URL.');
       S1.focus();
       return false;
      }     
  }
}
function ValidateDateAfterToday(s1, msg)  // Created on 25/01/2010
{
    var d=new Date();
    var date1=d.getDate()+1;
    var month1=d.getMonth();
    var year1=d.getFullYear();
    
    var tomorrow=new Date();
    tomorrow.setDate(date1);
    tomorrow.setMonth(month1); 
    tomorrow.setFullYear(year1); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate<tomorrow) 
    {
    alert('Please select any date after today in'+ msg);
    return false;
    }  

} 

// UrlCheck method is updated on 21-1-2010
//ValidateDatesTerminalSelection // this method has been changed on 25/01/2010
function ValidatecheckforSelect(S1,msg)
{
 var x=S1.value;
 if(x=='0')
 {
  alert("Please select "+msg+".")
  S1.focus();
  return false;
 }
}
function ValidateBlanckSpace(S1,msg)
{
      var x =trimAll(S1.value);
      if(x != "")
      {
      var xx =x.split(' ');
      if(parseInt(xx.length) > 1)
       {
       alert(msg+' should not contains blank space.');
       S1.focus();
       return false;           
       }  
       }
} 
///special charector check
function validateSpecialCharsForFunctionName(myStringID)
{     
  // declare which special chars to validate     
  var illegalChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";     
  var strToSearch = myStringID.value;      
  for (var i = 0; i < strToSearch.length; i++){  	
    if (illegalChars.indexOf(strToSearch.charAt(i)) != -1)         
        return false;}
 return true;
}

//validate wether fromdate less than todate
function ValidatePinCodeStopDates(s1)
{
   var d=new Date();
   var date1=d.getDate();
   var month1=d.getMonth();
   var year1=d.getFullYear();
    
   var current=new Date();
   current.setDate(date1);
   current.setMonth(month1); 
   current.setFullYear(year1); 
    
   var userdatetext=s1.value;
   t=userdatetext.split("/");
   var date2=t[0];
   var m=t[1];
   var month2=m-1;
   var year2=t[2];
    
   var userdate=new Date();
   userdate.setDate(date2);
   userdate.setMonth(month2); // January = 0
   userdate.setFullYear(year2); 
    
   if (userdate<current) 
   {
      alert('Stop Date should be greater or equal to Current Date.');
      return false;
   }  
}

//Date 4th May 2010


function validateSpecialCharacters(S1,msg)
{
var iChars = "!@#$%^&*()+=-[]\\\';,./{}|\":<>?";
var x =S1.value;
x=x.replace(/^\s+|\s+$/g,"");
if(x=='')
return;
for (var i = 0; i < x.length; i++)
 {
    if (iChars.indexOf(x.charAt(i)) != -1)
     {
    alert ("Special charcter are not allowed in "+msg+".");
    return false;
     }
 }
}

function ValidateNumber(S1,msg)
{
 var x=S1.value;
 x=x.replace(/^\s+|\s+$/g,"");
 if(x=='')
 return;
 
  for (j = 0; j < x.length; j++)
        {   
         var c = x.charAt(j);
         if (((c < "0") || (c > "9"))) 
         {
              alert("Only numeric values are allowed in " +msg+".");
              return false;
          }
        }
}


function ChkMaxlength(S1,len,Msg)
{
 var x=trimAll(S1.value);
 
 if(x.length>=len)
 {
    alert("Maximum length of "+Msg+" is "+len+".");
    S1.focus()
    return false;
 }
}

//may 26th 


function ValidateCampaignUrl(S1,msg)
{
 if(S1.value !='')
  {       
         var url= /^(https?):\/\/((?:[a-z0-9.-]|%[0-9A-F]{2}){3,})(?::(\d+))?((?:\/(?:[a-z0-9-._~!$&'()*+;=:@]|%[0-9A-F]{2})*)*)(?:\?((?:[a-z0-9-._~!$&'()*+;=:\/?@]|%[0-9A-F]{2})*))?(?:#((?:[a-z0-9-._~!$&'()*+;=:\/?@]|%[0-9A-F]{2})*))?$/i;
      if(url.test(S1.value.trim())==false)
      {
       alert(msg);
       S1.focus();
       return false;
      }     
  }
} 

//may 28th 2010
function ValidatecheckforblankTextArea(S1,msg)
{   
    var x=S1.value; 
    var FinalString=trimAll(x); 
    var bool=checkspace(FinalString)  
    if((x!='' && FinalString=='')||(FinalString != '' && bool==false))
    {
       alert(msg+' should not contains blank space.');
       S1.value="";
       S1.focus();
       return false;  
    }   
       
}


// ops changes

function ValidatePasswordCombination(S1)
{
  
      var x =trimAll(S1.value);
      var mikExp = /[\<\>]/;
      if(x.length > 0)
      {
           for(var i=0;i<x.length;i++)
           {
               var k=x.charAt(i);
               if(k.search(mikExp) == 0)
               {
                    alert('< and > not allowed in Password.');
                    S1.value="";
                    S1.focus();
                    return false;
               }           
           }
      } 
      if(x == "")
      {
       alert('Password cannot be left blank.');
       S1.value="";
       S1.focus();
       return false;           
      }    
    
      if(x.length < 4)
      {
       alert('Password should be minimum 4 characters.');
       S1.focus();
       S1.value="";
       return false;           
      }
     
      var pw=S1.value;
      if(/[a-z]/i.test(pw) && /\d/.test(pw))
        return true;
      else
      {
        alert("Password should be a combination of characters and numbers.");
        S1.value="";
        S1.focus();
        return false;
      }
}
function ValidateToMonthYear(tomonth,toyear,fromyear,frommonth  )
{
    valFromMonth = frommonth.value;
    valToMonth = tomonth.value;
    valFromYear = fromyear.value;
    valToYear = toyear.value;
    
    var d=new Date();
    var month1=d.getMonth();
    var year1=d.getFullYear();
    if(valFromYear > year1)
    {
        alert("From Year should be less or equal to Current Year.");
        toyear.focus();
        return false;
     }
    if(valFromYear >valToYear)
    {
        alert("From Year should be less or equal to To Year.");
        toyear.focus();
        return false;
    }
    if(valFromYear = valToYear && valFromMonth>valToMonth)
    {
        alert("From Month should be less or equal to To Month.");
        frommonth.focus();
        return false;
    }
}

//Clinck Live Screen 28 june 2010 - valide hardcode date
function validateHardCodeDate(s1)
{

    
    var today=new Date();
    today.setDate(20);
    today.setMonth(1); // January = 0
    today.setFullYear(2010); 
    
    var userdatetext=s1.value;
    t=userdatetext.split("/");
    var date2=t[0];
    var m=t[1];//since jan=0
    var month2=m-1;
    var year2=t[2];
    
    var userdate=new Date();
    userdate.setDate(date2);
    userdate.setMonth(month2); // January = 0
    userdate.setFullYear(year2); 
    
    if (userdate<=today) 
    {
    alert('Please select any date after 20 Feb 2010.');
    return false;
    }  
  
}

