//used to remove the spaces from the start of the control value
//<param name='obj'>The control whose value is to be trimmed</param>
function LTrim(obj)
{
    var sValue = obj.value;
    
    //removing spaces from start
    while(sValue.substring(0,1) == ' ')
        sValue = sValue.substring(1,sValue.length);
        
    obj.value = sValue;
}

//used to remove the spaces from the end of the control value
//<param name='obj'>The control whose value is to be trimmed</param>
function RTrim(obj)
{
    var sValue = obj.value;
    
    //removing spaces from end
    while(sValue.substring(sValue.length - 1 , sValue.length) == ' ')
        sValue = sValue.substring(0,sValue.length - 1);
        
    obj.value = sValue;
}

///Used to trim a control value (removing spaces from the start and the end and extra spaces in between
//<param name='obj'>The control whose value is to be trimmed</param>
function Trim(obj)
{
    LTrim(obj);RTrim(obj);
    
    var sValue = obj.value;
            
    //removing extra spaces
    while(sValue.indexOf('  ')>=0)
        sValue = sValue.replace('  ',' ');
        
    obj.value = sValue;
}//end of Trim()

function validateEmail(sEmail)
{
    var emailAddExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/i;
    return emailAddExp.test(sEmail);
}

function validateURL(sURL)
{
    if(sURL.substring(0, 8).toLowerCase() == "https://")
        sURL = sURL.substring(8);
    else if(sURL.substring(0, 7).toLowerCase() == "http://")
        sURL = sURL.substring(7);
        
    var urlExp = /^([\w-]+\.)+[\w-]+[/[\w- ./?%&=]*]?$/i;
    return urlExp.test(sURL);
}

function validateDecimal(sNo)
{
    var decExp = /^[0-9]+(\.[0-9]+){0,1}$/i
    return decExp.test(sNo);
}

function validateNegDecimal(sNo)
{
    var decExp = /^(\-){0,1}[0-9]+(\.[0-9]+){0,1}$/i
    return decExp.test(sNo);
}

function checkNumbers()
{
    if(event.keyCode<48 || event.keyCode>57)
        return false;
    else
        return true;
}

function checkAlphabets()
{
    if((event.keyCode>=65 && event.keyCode<=90) || (event.keyCode>=97 && event.keyCode<=122))
        return true;
    else
        return false;
}

function checkDot()
{
    if(event.keyCode != 46)
        return false;
    else
        return true;
}

function checkSpecialChars()
{
    if(event.keyCode==33 || (event.keyCode>=35 && event.keyCode<=46) || event.keyCode==58 || event.keyCode==59 || event.keyCode==63 || event.keyCode==64 || event.keyCode==95 || event.keyCode==124)
        return true;
    else
        return false;
}

function checkSpace()
{
    if(event.keyCode==32)
        return true;
    else
        return false;
}

function checkApostrophe()
{
    if(event.keyCode==39)
        return true;
    else
        return false;
}

function allowNumbersNDot()
{
    if(!(checkNumbers() || checkDot()))
        event.keyCode = 0;
}

function allowNegNumbersDot()
{
    if(!(event.keyCode==45) && !(checkNumbers() || checkDot()))
        event.keyCode = 0;
}

function allowNumbers()
{
    if(!checkNumbers())
        event.keyCode = 0;
}

function checkAlphaNumSpecialChars()
{
    if(!(checkAlphabets() || checkNumbers() || checkSpecialChars() || checkSpace()))
    {
        alert('Invalid entry');
        event.keyCode = 0;
    }
}

function allowAlphabetsNSpace()
{
    if(!(checkAlphabets() || checkSpace() || checkDot() || checkApostrophe()))
    {
        alert('Invalid entry');
        event.keyCode = 0;
    }
}

function BlockEntry()
{
    return false;
}

function CheckDateRangeValidation(sFromDt,sToDt)
{
    var sFDt = sFromDt.split('/');
    sFromDt = sFDt[1] + '/' + sFDt[0] + '/' + sFDt[2];
    
    var sTDt = sToDt.split('/');
    sToDt = sTDt[1] + '/' + sTDt[0] + '/' + sTDt[2];
    
    if (Date.parse(sFromDt) > Date.parse(sToDt)) 
    {
        alert("Invalid Date Range!\nFrom Date cannot be after To Date!");       
        return false;
    }
    return true;
}

function validateEmail(sEmail)
{
    var emailAddExp = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/i;
    return emailAddExp.test(sEmail);
}

function CheckIllegalChars(sValue)
{
      var illegalChars = "!@#$%^'&*()+=-[]\\\,./{}|\":<>?";
      var x=sValue;

      for (i = 0; i < x.length; i++)
        {
		    if (illegalChars.indexOf(x.charAt(i)) != -1)
		    {
			    return false;
		    }
	    }
    return true;	    
}

function CheckAlphaNumeric(sValue)
{
   for(j=0; j<sValue.length; j++)
  		{
  		  var alphaa = sValue.charAt(j);
  		  var hh = alphaa.charCodeAt(0);
		  if((hh > 47 && hh<58) || (hh > 64 && hh<91) || (hh > 96 && hh<123))
			{
			  return true;   
			}
		  else
			{
			  return false;
			}
  		}
  		
   return true;
}

function CheckAlphaValue(sValue)
{
  	for(j=0; j<sValue.length; j++)
  		{
  		  var alphaa = sValue.charAt(j);
  		  var hh = alphaa.charCodeAt(0);
		  if(hh > 47 && hh<58)
			{
				return false;
			}
		  else
			{

			}
  		}
   return true;
}

function CheckNumValue(sValue)
{
  	for(j=0; j<sValue.length; j++)
  		{
  		  var alphaa = sValue.charAt(j);
  		  var hh = parseInt(alphaa.charCodeAt(0));

		  if((hh > 64 && hh<91) || (hh > 96 && hh<123))
			{

				return false;
			}
  		}
   return true;
}

function checklength(sValue,iLength)
{
	  ncount=0;

  	for(j=0; j<sValue.length; j++)
  		{
  			ncount=ncount+1;
  		}

	if(ncount<iLength)
	{
		return false;
	}
 
    return true;
}
    
function CheckPhoneSpclChr(sValue)
{
      var illegalChars = "!@#$%^'&*()=[]\\\,./{}|\":<>?";
      var x=sValue;

      for (i = 0; i < x.length; i++)
        {
		    if (illegalChars.indexOf(x.charAt(i)) != -1)
		    {
			    return false;
		    }
	    }
    return true;	    
}        

function createDateTab(m,d,y)
{
	data = "";
	data += "<select name='dd' class=fText>";
	for(i=1; i<=31; i++)
	{
		if(i == d)
		{
			data += "<option value="+i+" selected>"+i+"</option>";
		}
		else
		{
			data += "<option value="+i+">"+i+"</option>";
		}
	}
	data += "</select>&nbsp;";
	
	var mName = new Array(12)
	mName[0] = "Jan";	mName[1] = "Feb";	mName[2] = "Mar";	mName[3] = "Apr";	mName[4] = "May";	mName[5] = "Jun";	mName[6] = "Jul";	mName[7] = "Aug";	mName[8] = "Sep";	mName[9] = "Oct";	mName[10] = "Nov";	mName[11] = "Dec";
	data += "<select name='mm'  class=fText>";
	for(i=0; i<=mName.length-1; i++)
	{
		if(i+1 == m)
		{
			data += "<option value="+(i+1)+" selected>"+mName[i]+"</option>";
			
		}
		else
		{
			data += "<option value="+(i+1)+">"+mName[i]+"</option>";
		}
	}
	data += "</select>&nbsp;";
	data += "<input  class=fText type='text' name='yyyy' size=4 value='"+y+"' maxlength=4>"
	document.write(data);
}

function createEmailDateTab(m,d,y)
{
	data = "";
	data += "<select name='dd' style='font-family: Arial; font-size: 11px'>";
	data += "<option value='-1' selected>dd</option>";	
	for(i=1; i<=31; i++)
	{
		if(i == d)
		{
			data += "<option value="+i+">"+i+"</option>";
		}
		else
		{
			data += "<option value="+i+">"+i+"</option>";
		}
	}
	data += "</select>&nbsp;";
	
	var mName = new Array(12)
	mName[0] = "Jan";	mName[1] = "Feb";	mName[2] = "Mar";	mName[3] = "Apr";	mName[4] = "May";	mName[5] = "Jun";	mName[6] = "Jul";	mName[7] = "Aug";	mName[8] = "Sep";	mName[9] = "Oct";	mName[10] = "Nov";	mName[11] = "Dec";
	data += "<select name='mm'  style='font-family: Arial; font-size: 11px'>";
	data += "<option value='-1' selected>mmm</option>";	
	for(i=0; i<=mName.length-1; i++)
	{
		if(i+1 == m)
		{
			data += "<option value="+(i+1)+">"+mName[i]+"</option>";
		}
		else
		{
			data += "<option value="+(i+1)+">"+mName[i]+"</option>";
		}
	}
	data += "</select>&nbsp;";
	data += "<input  style='font-family: Arial; font-size: 11px' type='text' name='yyyy' size=4 value='yyyy' maxlength=4>"
	document.write(data);
}

function fnDateValidation(dd,mm,yyyy)
{
        var dDate=Date.parse(mm + "/" + dd + "/" + yyyy);
         
        if ((dd=="31" && (mm=="2" || mm=="4" || mm=="6" || mm=="9" || mm=="11")) || (dd=="30" && mm=="2"))
           return false;       
			   
        else if((mm=="2" && dd=="29") && (yyyy%4 > 0))
           return false; 
              
        if(dDate>=new Date())
           return false;               
        
   return true;     
}

function isInteger(sValue)
{   var i;
    for (i = 0; i < sValue.length; i++)
    {   
        // Check that current character is number.
        var c = sValue.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

