﻿// JScript File
function ClientValidateValidEmail(oSrc, args){
  var result = true;
  if(!isValidEmail(args.Value))
    result = false;
  args.IsValid = result;  
}
//Basic function added
//return true if the string is valid email string
function isEmailChar(str){ 
  for (i=0; i<str.length; i++){
    c = str.charAt(i);	  
    if(str.charAt(i) == "~"){ return false;}
    if("~!#$%^&*(),\'`:\;?<>=+\n\t/[]{}|*( \\\"".indexOf(c,0) > 0)  
         
      return false;	
  }
  return true;
}

//return true if the parts of email are valid
function isValidEmail(email){
  var strNum = "0123456789";
  var array = email.split("@");
  if(array.length != 2) return false; 
  var first, last;
  first = array[0];
  last = array[1];
  if( first.charAt(0)=='.') return false;  
  if( first.indexOf("..") >= 0) return false;  
  if( first.charAt(first.length)=='.') return false;
  if( last.charAt(0)=='.') return false;
  if( last.indexOf("..") >= 0) return false;  
  if(first == "" || last == "") return false;  
  if(strNum.indexOf(first.charAt(0))>=0) return false;
  first = trimLeftAll(first);
  last = trimRightAll(last);
  if(!isEmailChar(first) || !isEmailChar(last)) 
    return false;
  
  var arrLast = last.split(".");
  var lastDot = arrLast[arrLast.length-1];
  if( lastDot.length<2 || lastDot.length > 9) 
    return false;
  return true;
}
function ClientValidationRequireRegion(oSrc, args) {
    var value = parseInt(args.Value);
    if (value > 0)
        args.IsValid = true;
    else
        args.IsValid = false;
}

function ClientValidationDateTime(oSrc, args) {
  var value = args.Value;
  var result=true; 		  
  if( value.length != 10) 
  {
    result=false;
  }
  else 
  {
		year = value.substring(6,10);    
		if (parseFloat(year)>1900)
		{
		  temp = value;
		  if(!isDate(temp, "dd/MM/yyyy")) 
		  {
        result = false;		  
      }  
	  }
	  else 
	  {
	    result = false;
	  }
  }    
  args.IsValid = result;
}


                                                        
function ClientValidationPastDateTime(oSrc, args)
{
 var value = args.Value;   
  var result=true;         	  
  if( value.length != 10) 
    result=true;  
  else {
		year = value.substring(6,10);
		if (parseFloat(year)>1900){      
		  temp = value;
		  if(!isDate(temp, "dd/MM/yyyy")) 
            result = true;
		  else if(compareDates(temp, "dd/MM/yyyy", formatDate(new Date(), "dd/MM/yyyy"), "dd/MM/yyyy") == 1)
		    result = false;
	  }
	  else {
	    result = true;
	  }
  }
   args.IsValid=result; 
}
function EquasDates(yourdate)
{
      var days = 0;
      var difference = 0;
      var serverDate=document.getElementById('txtDateNowServer');
      var birthday
      if(!serverDate)
        return false;
      var date1 = new Date(serverDate); // this is our date      
      var date2=new Date(yourdate); // this is input date
      
      difference = date2 - date1;
      minutes = Math.round(difference/(1000*60)); // compute minutes
      if (minutes<0)
          return false;      
      else
            return true;
}

